.. _coprocessor-sample:

OpenThread Co-Processor
#######################

Overview
********

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 https://openthread.io/platforms/co-processor.

Additional required host-side tools (e.g. otbr-agent) to build a Thread Border
Router can be obtained by following
https://openthread.io/guides/border-router/build#set-up-the-border-router.

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

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

Building and Running
********************

Build the OpenThread NCP sample application like this:

.. zephyr-app-commands::
   :zephyr-app: samples/net/openthread/coprocessor
   :board: <board to use>
   :conf: <config file to use>
   :goals: build
   :compact:

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

.. zephyr-app-commands::
   :zephyr-app: samples/net/openthread/coprocessor
   :board: nrf52840dk_nrf52840
   :goals: build flash
   :gen-args: -DDTC_OVERLAY_FILE=usb.overlay -DOVERLAY_CONFIG=overlay-usb-nrf-br.conf
   :compact:

Example building for the nrf52840dk_nrf52840 for RCP:

.. zephyr-app-commands::
   :zephyr-app: samples/net/openthread/coprocessor
   :host-os: unix
   :board: nrf52840dk_nrf52840
   :conf: "prj.conf overlay-rcp.conf"
   :goals: run
   :compact:

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

- :file:`prj.conf`
  Generic NCP config file. Use this, if you want the NCP configuration.

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

- :file:`overlay-tri-n4m-br.conf`
  This is an overlay for the dedicated Thread Border Router hardware
  https://www.tridonic.com/com/en/download/data_sheets/net4more_Borderrouter_PoE-Thread_en.pdf.
  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.
