Google is committed to advancing racial equity for Black communities. See how.

OpenThread Daemon

OT RCP Architecture

OpenThread Daemon (OT Daemon) is an OpenThread POSIX build mode that runs OpenThread as a service. It uses a UNIX socket as input and output, to which clients can connect and communicate using the OpenThread CLI as a protocol.

OT Daemon is used in the Radio Co-Processor (RCP) design. It is included with OpenThread at /src/posix.


To build the OT Daemon binary, use the DAEMON switch with the POSIX build:

make -f src/posix/Makefile-posix DAEMON=1


Once built, connect it to an OpenThread node.

Simulated node:

./output/posix/x86_64-unknown-linux-gnu/bin/ot-daemon 'spinel+hdlc+forkpty://output/x86_64-unknown-linux-gnu/bin/ot-rcp?forkpty-arg=1'

Real node located at /dev/ttyACM0:

./output/posix/x86_64-unknown-linux-gnu/bin/ot-daemon 'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'


While an instance of OT Daemon is running, use the built-in controller to manage the connected node:


This opens the OpenThread command line, which you can use as normal.

Alternatively, you can issue OpenThread CLI commands directly from the command line, using the ot-ctl binary:

sudo ot-ctl state


To learn more about how to use OT Daemon, see our Simulation Codelabs:

Try the Simulation Codelab with Docker Try the Simulation Codelab with build toolchain