This is the documentation for the latest (master) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

Bluetooth: HCI SPI


Expose Zephyr Bluetooth Controller support over SPI to another device/CPU using the Zephyr SPI HCI transport protocol (similar to BlueNRG).


A board with SPI slave, GPIO and Bluetooth Low Energy support.

Building and Running

You then need to ensure that your devicetree defines a node for the HCI SPI slave device with compatible zephyr,bt-hci-spi-slave. This node sets an interrupt line to the host and associates the application with a SPI bus to use.

See boards/nrf51dk_nrf51422.overlay in this sample directory for an example overlay for the nRF51 DK board.

You can then build this application and flash it onto your board in the usual way; see Supported Boards for board-specific building and flashing information.

You will also need a separate chip acting as BT HCI SPI master. This application is compatible with the HCI SPI master driver provided by Zephyr’s Bluetooth HCI driver core; see the help associated with the CONFIG_BT_SPI configuration option for more information.

Refer to Bluetooth samples for general Bluetooth information, and to Providing Bluetooth to 96b_carbon for instructions specific to the 96Boards Carbon board.