ESP Thread Border Router

View source on GitHub

ESP Thread border router is a FreeRTOS-based implementation running on a combination of Espressif's Wi-Fi and 802.15.4 SoCs.

Hardware requirements:

Espressif provides an ESP Border Router Board which integrates the host SoC (ESP32-S3) and the RCP (ESP32-H2) into one module.

You only need to connect the board to the ESP32-S3 (main SoC) port. The main SoC automatically programs the Thread co-processor.

Hardware platforms

ESP Thread Border Router Board
ESP Thread Border Router Board

Set up Repositories

To set up the environment, please follow the official installation guide.

Clone the esp-idf and the esp-thread-br repository.

git clone -b v5.1.2 --recursive
cd esp-idf
. ./
cd ..
git clone -b v1.0 --recursive

Configure the Thread and the Wi-Fi network

The border router will automatically join the Wi-Fi network and create a new Thread network if there is not one in its storage. The network parameters can be configured in the config menu:

cd esp-thread-br/examples/basic_thread_border_router menuconfig

The network configuration items are:

  • Enable automatic start mode in Thread Border Router: ESP Thread Border Router Example > Enable the automatic start mode in Thread Border Router.
  • Wi-Fi SSID and PSK: Example Connection Configuration > connect using Wi-Fi interface
  • Thread network parameters: Component config > OpenThread > Thread Operational Dataset

Build and run the border router

Build the esp-idf/examples/openthread/ot_rcp example. The firmware doesn't need to be explicitly flashed to a device. It will be included in the Border Router firmware and flashed to the ESP32-H2 chip upon first boot (or the RCP firmware changed).

cd ${IDF_PATH}/examples/openthread/ot_rcp set-target esp32h2 build

Then go back to the basic_thread_border_router example folder.

cd esp-thread-br/examples/basic_thread_border_router set-target esp32s3 build -p  flash monitor

Now you'll see the border router output in the ESP32S3 monitor. It also provides an interactive OpenThread command line:


Supported features

  • Border agent for external commissioners.
  • IPv6 bidirectional connectivity.
  • SRP service registration and advertising proxy.
  • mDNS discovery proxy.
  • NAT64.
  • Multicast forwarding.
  • Web GUI based REST API.
  • OTA.

For more using of the ESP Thread Border Router, you can refer to ESP Thread Border Router Codelab