Hmm, can you compile the firmware yourself with the steps described in in the guide and see whether it solves the problem?
The precompiled firmware was uploaded a few days ago. I tested it before uploading. Maybe it’s an issue with your setup?
Hmm, can you compile the firmware yourself with the steps described in in the guide and see whether it solves the problem?
The precompiled firmware was uploaded a few days ago. I tested it before uploading. Maybe it’s an issue with your setup?
The precompiled one works great, took 5 mins to flash and add my first device
Thanks parhelion for confirmation on precompiled version without v6.0 bug.
Yes, looks like a local topic. I didn’t get setup re-run again, currently otbr app \ agent in ha run into errors. Will start fresh from the scratch
Bad USB cable might be root cause. Change plus reboots, restarts, sync ha companion app thread access data, etc.
Thread devices are back ![]()
What is the purpose of this patch?
I’m using the precompiled 6.0beta1 for external antenna from this thread; I’m not sure if it has this patch applied. It works fine for 1-2 days, then the Matter devices become unavailable. When I try to reload the Openthread Border Router integration, it fails with an error (unable to connect/attach or something like that). Restarting the HA instance (running on Proxmox) will bring it back up.
Log shows this before the OTBR stops responding: “1d.15:22:08.706 [C] P-RadioSpinel-: Too many rcp failures, exiting
1d.15:22:08.706 [C] Platform------: RecoverFromRcpFailure() at radio_spinel.cpp:2063: Failure”
The precompiled firmware is built off of v6.0-beta1 branch which contains the necessary patches. Your setup is likely suffering from interference/bad USB cable.
Also, the precompiled firmware for external antenna is only for the XIAO ESP32-C6 board, not for other boards. For other boards use the other firmware, labeled as such.
See this guide on how to avoid RF interference.
Also you might have a defective board but that’s quite unlikely.
I was reviewing the required patches that are mentioned that are on the v6.0-beta1 branch, aren’t they all also included in the v5.5.2 release?
Maybe its a mix of commit that fix the issue ? Did the blob from beta is newer from release ?
Received a couple of C6’s today and spent some of tonight banging my head against a wall trying to make one a Thread device with ESPHome Device Builder. Cut my losses, installed this precompiled firmware, mapped the USB device to my Proxmox VM, installed/configured OTBR, and minutes later I have it added to my existing Thread network. All I had to do was hit “Send Credentials to Home Assistant” in the companion app and reboot, and it seems (I think!) to be golden. Thanks, @parhelion!
Hi, thanks for this very useful tutorial.
I also bought the xiao esp32-c6 board and flashed the firmware with antenna.
I’m running Home Assistant, Matter Server and Open thread border router in docker containers on my Unraid server.
Is working perfect ![]()
I could pair a BILRESA scroll wheel and MYGGBETT door/window sensor from IKEA.
The setup was quite tricky on Unraid especially the OTBR container. I had to use /dev/ttyACM0. /dev/serial/by-id/usb-Espressif_USB_JTAG… did not work because it contains colons and docker or unraid throws an error.
My question is now: Is it possible to connect the xiao esp32-c6 to a LAN interface e.g. a WT32-ETH01? (Link)
Most likely I need a firmware where the xiao esp32-c6 communicate over the uart pins, right?
Is it possible to build such firmware?
You should be able to escape the colons by using a forward-slash…
/dev/serial/by-id/usb-Espressif_USB_JTAG_serial_debug_unit_10\:51\:DB\:63\:BA\:11-if00:/dev/ttyRadio
Or, map the device using udev to avoid having to deal with the long name.
Thanks for your suggestion @RonnieLast.
Unfortunately the fix with the backslashes didn’t work for me.
The solution with udev I haven’t tried yet.
For now ttyACM0 is working quite well for me.
I would prefer to use the xiao esp32-c6 over Ethernet anyway.
If it helps, this is mine, you just need to look at your lsusb output for the device to complete the product ID part:
root@Cupboard3060:~# cat /etc/udev/rules.d/99-esp32-radio.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1001", SYMLINK+="ttyRadio"
Then do:
udevadm control --reload-rules
udevadm trigger
If you want an ethernet based solution, check out the Espressif Ethernet based Thread Border Router.
Thank you for this guide!
I’ve now got a working setup using
I can add a device using the Matter Server UI on port 5580. But I cannot for the love of everything make it work on my Companion App on iOS (iPhone 16 Pro).
It just keeps getting stuck in “Setting up…” when trying to add a Matter device - and eventually times out.
Is there something in my network, I need to configure?
It looks like I can’t use the native OTBR app in Home Assistant because I’m using HA in a container. Is there a guide to using this without HAOS? It’s too much right now to port over my setup to HAOS as I use Docker on the same machine.
For OTBR, I’ve got this running in docker:
sudo docker run -d \
--restart always \
--privileged \
--name otbr \
-v /dev/ttyACM0:/dev/ttyACM0 \
--network host \
-e NAT64=0 \
-e FIREWALL=0 \
-e WEB_GUI=1 \
-e OTBR_REST_LISTEN_ADDRESS=0.0.0.0 \
openthread/otbr:latest \
otbr-agent \
--radio-url "spinel+hdlc+usb:///dev/ttyACM0" \
--backbone-interface enp2s0 \
--interface wpan0 \
--verbose
Replace the ttyACM0 with something that fits your dongle’s USB connection. And the backbone-interface to the interface that is correct for your network card on the host machine.
I’m about to set this up in my parent’s house, but to make it look pretty I designed a 3D printed Case for the Generic ESP32-C6 and to place it raised on the wall I designed a USB Cable Holder if anyone wants to 3D print them.
anyone still experiencing issues where the RCP stops responding until you power cycle the RCP? Using beta2, but also happens on beta1.
I’ve verified it’s not a bad USB cable, or the ESP32, I’ve swapped them for different units and the problem persists. Running with Xiao ESP32-C6 units.
Hi,
for the people who have constant disconnect and needs to power cycle. I was having the same problems and it turns out that having this RCP with only devices like myggbett door sensor from ikea that sleeps most of the time causes the RCP to go deep sleep(i think) and then HA cannot wake up(i tried in home assistant VM and with home assistant on a physical machine) and with multiple ports and cables.
To try that i made another esp32c6 with a text component reporting his uptime every 15 seconds and i have not seen a disconnect since.
I’m using the precompiled firmware from this post but i will start trying compiling my firmware this weekend because i was having the disconnect problem with the precompiled firmware and compiling myself.
To me, this looks like a bug, it would be good if more people with disconnects can try that
Sorry for my english ![]()