.. zephyr:code-sample:: bluetooth_hci_ipc
:name: HCI IPC
:relevant-api: hci_raw bluetooth
Expose a Bluetooth controller to another device or CPU using the IPC subsystem.
Overview
********
This sample exposes :ref:`bluetooth_controller` support
to another device or CPU using IPC subsystem.
Requirements
************
* A board with IPC subsystem and Bluetooth LE support
Building and Running
********************
This sample can be found under :zephyr_file:`samples/bluetooth/hci_ipc`
in the Zephyr tree.
To use this application, you need a board with a Bluetooth controller
and IPC support.
You can then build this application and flash it onto your board in
the usual way. See :ref:`boards` for board-specific building and
programming information.
To test this sample, you need a separate device/CPU that acts as Bluetooth
HCI IPC peer.
This sample is compatible with the HCI IPC driver provided by
Zephyr's Bluetooth :ref:`bt_hci_drivers` core. See the
:kconfig:option:`CONFIG_BT_HCI_IPC` configuration option for more information.
You might need to adjust the Kconfig configuration of this sample to make it
compatible with the peer application. For example, :kconfig:option:`CONFIG_BT_MAX_CONN`
must be equal to the maximum number of connections supported by the peer application.
Refer to :zephyr:code-sample-category:`bluetooth` for general information about Bluetooth samples.