This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down list at the bottom of the left panel and select the desired version.

OpenThread co-processor


OpenThread Co-Processor allows building a Thread Border Router. The code in this sample is only the MCU target part of a complete Thread Border Router. The Co-Processor can act in two variants: Network Co-Processor (NCP) and Radio Co-Processor (RCP), see

Additional required host-side tools (e.g. otbr-agent) to build a Thread Border Router can be obtained by following

The preferred Co-Processor configuration of OpenThread is RCP now.

The source code for this sample application can be found at: samples/net/openthread/coprocessor.

Building and Running

Build the OpenThread NCP sample application like this:

west build -b <board to use> samples/net/openthread/coprocessor -- -DCONF_FILE=<config file to use>

Build the OpenThread NCP sample application which uses CDC ACM UART device:

west build -b nrf52840dk/nrf52840 samples/net/openthread/coprocessor -- -DDTC_OVERLAY_FILE=usb.overlay -DEXTRA_CONF_FILE=overlay-usb-nrf-br.conf
west flash

Example building for the nrf52840dk/nrf52840 for RCP:

west build -b nrf52840dk/nrf52840 samples/net/openthread/coprocessor -- -DCONF_FILE="prj.conf overlay-rcp.conf"
west build -t run

There are configuration files for different boards and setups in the coprocessor directory:

  • prj.conf Generic NCP config file. Use this, if you want the NCP configuration.

  • overlay-rcp.conf

    RCP overlay file. Use this in combination with prj.conf, if you want the RCP configuration.

  • overlay-tri-n4m-br.conf This is an overlay for the dedicated Thread Border Router hardware The board support is not part of the Zephyr repositories, but the product is based on NXP K64 and AT86RF233. This file can be used as an example for a development set-up based on development boards.