Skip to content


The Bumble Host connects to a controller over an HCI Transport. To use a hardware controller attached to the host on which the host application is running, the transport is typically either HCI over UART or HCI over USB. On Linux, the VHCI Transport can be used to communicate with any controller hardware managed by the operating system. Alternatively, a remote controller (a phyiscal controller attached to a remote host) can be used by connecting one of the networked transports (such as the TCP Client transport, the TCP Server transport or the UDP Transport) to an HCI Bridge bridging the network transport to a physical controller on a remote host.

In theory, any controller that is compliant with the HCI over UART or HCI over USB protocols can be used.

HCI over USB is very common, implemented by a number of commercial Bluetooth dongles.

It is also possible to use an embedded development board, running a specialized application, such as the HCI UART and HCI USB demo applications from the Zephyr project, or the blehci application from mynewt/nimble

Some specific USB dongles and embedded boards that are known to work include: