The latest development version of this page may be more current than this released 4.0.0 version.

HCI SPI

Browse source code on GitHub

Overview

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

Requirements

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_nrf51822.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 and Shields 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 for general Bluetooth information, and to Providing Bluetooth to 96b_carbon for instructions specific to the 96Boards Carbon board.

See also

HCI RAW channel
Bluetooth APIs
SPI Interface