An ESP32 running ESPHome will be able to work as a Thread border router. Pull request #18104 by Pawel Puterla, his first contribution to ESPHome, was merged into the development branch on 15 October 2026, and the matching documentation landed in the next branch of esphome.io the same day. The development branch is now 2026.11.0-dev, so the feature should arrive in ESPHome 2026.11. It is not part of 2026.10, which is still in beta.

Until now the openthread component could only make an ESPHome node a Thread device, and the documentation told you to bring a separate border router to connect it to Home Assistant. The border router is the piece that passes IPv6 traffic between the Wi-Fi network and the low-power Thread mesh. Now the ESP32 can do that job itself.

Native radio or an external co-processor

There are two ways to build one.

The ESP32-C5 and ESP32-C6 have Wi-Fi and an 802.15.4 radio on the same chip, so for them it comes down to one extra key:

network:
  enable_ipv6: true

openthread:
  border_router: {}
  network_key: !secret thread_network_key

Any other ESP32 with Wi-Fi, such as the ESP32-S3, can use an external OpenThread radio co-processor (RCP) connected over a UART. The documentation gives ESP-IDF's ot_rcp example running on an ESP32-H2 as one option. The UART speed defaults to 460800 baud and has to match the co-processor firmware; with a mismatch, the documentation warns, the co-processor never answers. If you wire up the optional reset_pin, ESPHome resets a co-processor that stops responding in hardware, up to five times. The RCP takes UART1 directly, so it cannot be combined with ESPHome's uart component, and the logger has to use USB or another UART.

What the configuration needs

Border router mode works only with ESP-IDF and needs IPv6 enabled in the network component and the default device_type: FTD. Wi-Fi must have at least one station network, keep enable_on_boot: true and run no access point, fallback included. Thread starts at boot as before, and border routing begins once Wi-Fi has an address. If Wi-Fi drops, routing pauses and resumes when the connection comes back.

Still experimental

The author ran the native-radio version on an ESP32-C6 for two weeks without a restart or a border router hang, although one IKEA BILRESA button sometimes responded more slowly. The external RCP setup on an ESP32-S3 ran for about three weeks, and the host hung two or three times. The cause was not found and may be the test hardware. The pull request labels the feature experimental, the RCP mode in particular. For now it looks better suited to a test network or a second border router than to being the only path to a Thread door lock.

A change for existing Thread nodes too

The same pull request raises the minimum for OpenThread on the ESP32 to ESP-IDF 5.5.5, for ordinary Thread devices as well, because older 5.5 releases can leave the OpenThread lock held and crash. ESP-IDF 5.5.5 has been the default for several releases, so this only affects configurations that pin an older esp32: framework: version:. Remove the pin or raise it to 5.5.5 before updating to 2026.11. Builds on the Arduino framework, which never had a working OpenThread build, are refused.