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