IPC radio firmware

The IPC radio firmware allows to use the radio peripheral from another core in a multicore device.

Application overview

You can use this firmware as a general serialized radio peripheral.

The firmware supports both Bluetooth® Low Energy and IEEE 802.15.4 simultaneously. In addition, you can configure the Bluetooth selection as an HCI Bluetooth Controller or an RPC serialization interface (Bluetooth Low Energy Remote Procedure Call).

HCI IPC serialization

The firmware exposes the Bluetooth Controller support to another core using the IPC subsystem.

Host for nRF RPC Bluetooth Low Energy

The firmware is running the full Bluetooth Low Energy stack. It receives serialized function calls that it decodes and executes, then sends response data to the client.

The serialization includes:

IEEE 802.15.4

The firmware exposes radio driver support to another core using the IPC subsystem.

Requirements

The firmware supports the following development kits:

Hardware platforms

PCA

Board name

Board target

Thingy:53

PCA20053

thingy53

thingy53/nrf5340/cpunet

nRF54H20 DK

PCA10175

nrf54h20dk

nrf54h20dk/nrf54h20/cpurad

nRF5340 DK

PCA10095

nrf5340dk

nrf5340dk/nrf5340/cpunet

To automatically attach the firmware image, you need to use Sysbuild.

Configuration

See Configuring and building for information about how to permanently or temporarily change the configuration.

Application

You can set the supported radio configurations using the following Kconfig options:

  • CONFIG_IPC_RADIO_BT - For the Bluetooth Low Energy serialization.

  • CONFIG_IPC_RADIO_802154 - For the IEEE 802.15.4 serialization.

You can select the Bluetooth Low Energy serialization using the CONFIG_IPC_RADIO_BT_SER Kconfig option:

  • CONFIG_IPC_RADIO_BT_HCI_IPC - For the Bluetooth HCI serialization.

  • CONFIG_IPC_RADIO_BT_RPC - For the Bluetooth host API serialization.

The Bluetooth Low Energy and IEEE 802.15.4 functionalities can operate simultaneously and are only limited by available memory.

Note

The IEEE 802.15.4 is currently not supported on the nRF54H20 DK board.

Sysbuild Kconfig options

To enable the firmware, use the sysbuild configuration SB_CONFIG_NETCORE_IPC_RADIO.

You can set the supported radio configurations using the following sysbuild Kconfig options:

  • SB_CONFIG_NETCORE_IPC_RADIO_BT_HCI_IPC

  • SB_CONFIG_NETCORE_IPC_RADIO_BT_RPC

  • SB_CONFIG_NETCORE_IPC_RADIO_IEEE802154

Note

For nRF Connect SDK samples and applications, use the SB_CONFIG_NRF_DEFAULT_IPC_RADIO sysbuild configuration to enable the firmware instead of SB_CONFIG_NETCORE_IPC_RADIO (which should only be used for production).

Configuration files

The application provides predefined configuration files for typical use cases. You can find the configuration files in the application directory.

The following files are available:

  • overlay-802154.conf - Configuration file enabling IEEE 802.15.4.

  • overlay-bt_hci_ipc.conf - Configuration file enabling Bluetooth Low Energy over HCI.

  • overlay-bt_rpc.conf - Configuration file enabling Bluetooth Low Energy over RPC.

Note

When you use sysbuild to build an application which uses the IPC radio firmware as the network or radio core image, the preceding configuration files are added automatically to the IPC radio firmware. The selection of specific configuration files is determined by the sysbuild Kconfig.

For instance, the SB_CONFIG_NETCORE_IPC_RADIO_IEEE802154 Kconfig option enables the overlay-802154.conf configuration file to be used with the IPC radio firmware.

Building and running as a single image

This application can be found under applications/ipc_radio in the nRF Connect SDK folder structure.

To build the application, follow the instructions in Building an application for your preferred building environment. See also Programming an application for programming steps and Testing and optimization for general information about testing and debugging in the nRF Connect SDK.

Note

When building repository applications in the SDK repositories, building with sysbuild is enabled by default. If you work with out-of-tree freestanding applications, you need to manually pass the --sysbuild parameter to every build command or configure west to always use it.

For instructions on how to enable a specific configuration overlay file, see Advanced building procedures.

Note

You cannot use Bluetooth Low Energy Remote Procedure Call together with the HCI Bluetooth Controller.

Dependencies

The dependencies may vary according to the configuration.

This firmware can use the following nRF Connect SDK libraries:

It can use the following sdk-nrfxlib library: