Skip to content

Instantly share code, notes, and snippets.

@gtxaspec
Last active October 1, 2025 02:58
Show Gist options
  • Save gtxaspec/d26198daadfb0a8b0a0edeae2d3fd58f to your computer and use it in GitHub Desktop.
Save gtxaspec/d26198daadfb0a8b0a0edeae2d3fd58f to your computer and use it in GitHub Desktop.
ESP32-C6 RCP how to

ESP32-C6 as OpenThread RCP - Setup Guide

Here's how to flash your ESP32-C6 to work as an RCP (Radio Co-Processor) with Home Assistant's OpenThread Border Router add-on.

Step 1: Clone and Setup ESP-IDF

mkdir ~/esp-openthread && cd ~/esp-openthread
git clone -b v5.4.2 --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
./install.sh esp32c6
. ./export.sh

To enable native USB flashing (so you don't need a separate serial adapter), apply the following patch to add USB_SERIAL_JTAG support:

git cherry-pick 51bcec7ac67efff9e915239fa07fb1909b002d80

Step 2: Build the RCP Firmware

cd examples/openthread/ot_rcp
idf.py set-target esp32c6
idf.py menuconfig  # Optional - defaults work fine
idf.py build

Step 3: Flash the ESP32-C6

# Find your device (usually /dev/ttyACM0 or /dev/ttyUSB0)
ls /dev/tty*

# Erase and flash (replace PORT with your device)
idf.py -p PORT erase-flash
idf.py -p PORT flash

Step 4: Configure Home Assistant

In your OTBR add-on settings:

  • Device: /dev/ttyACM0 (or whatever your device shows as)
  • Baudrate: 460800
  • Flow Control: false

Pro tip: Consider using two ESP32-C6 boards - one for development/flashing and another as your dedicated RCP positioned away from your server's USB ports, OR using a USB to Serial adapter hooked up to the RCP. The farther your Thread radio is from USB 3.0 ports and other electronics, the better your 2.4GHz performance will be.

Note: If you get permission errors, add your user to dialout group: sudo usermod -a -G dialout $USER then logout/login.

That's it! Your ESP32-C6 is now ready to use as a Thread RCP with Home Assistant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment