TLED - Matter-over-Thread LED Strip Controller for ESP32-C6

TLED - Matter-over-Thread LED Controller

I built a Matter-compatible LED strip controller firmware for the ESP32-C6 that runs over Thread. No WiFi, no cloud, just native Matter over Thread mesh
networking.

Full disclosure: This entire firmware was written by AI (Claude by Anthropic). I have not read or written a single line of code β€” I only provided
direction, tested on real hardware, and deployed. Use at your own risk.

GitHub: github.com/maui1911/TLED
Web Installer: maui1911.github.io/TLED (flash directly from your browser!)


What it does

  • Matter over Thread β€” shows up natively in Home Assistant, Apple Home, Google Home
  • Full RGB + RGBW control β€” color picker, brightness, on/off
  • Smooth transitions β€” 300ms fades on all changes
  • Thread router β€” device joins the mesh and can route for other Thread devices
  • Web installer β€” flash from Chrome/Edge, no toolchain needed
  • USB serial configuration β€” set LED count, GPIO, type, brightness without recompiling
  • Temperature sensor β€” exposes the ESP32-C6’s internal chip temperature as a sensor entity in HA
  • Watchdog & health monitoring β€” auto-reboots on hang, periodic heap/temperature logging
  • NVS persistence β€” everything survives reboots
  • 3D printable enclosure β€” parametric OpenSCAD design with ready-to-print STLs included

Hardware

  • Board: [DFRobot Beetle ESP32-C6] (tiny 25x20.5mm β€” any ESP32-C6 should work though)
  • LED strips: WS2812B, WS2811, or SK6812 (RGBW)
  • Power: External 5V supply (~60mA per LED at full white)
  • Thread border router: HomePod Mini, Apple TV 4K, Google Nest Hub, SLZB-06, etc.

Wiring

ESP32-C6 LED Strip
───────── ─────────
GPIO 5 ──────── DIN (Data In)
GND ──────── GND
5V ──── External 5V Power Supply

Getting started

  1. Visit the Web Installer (link above) in Chrome/Edge
  2. Click Install, select your ESP32-C6
  3. Configure LED count, GPIO, and LED type via the Configure tab
  4. Commission in Home Assistant: Settings β†’ Devices & Services β†’ Add Integration β†’ Matter β†’ Scan QR code

That’s it. No ESP-IDF, no compiling, no command line.

Enclosure

Designed a small parametric enclosure in OpenSCAD for the Beetle board. Friction-fit lid, USB-C cutout, wire slit. STL files are in the repo, or customize
the .scad file.

Known limitations

  • No OTA updates β€” Matter OTA crashes on ESP32-C6 (appears to be an ESP-Matter SDK bug). Use the web installer for updates.
  • Effects not exposed β€” Rainbow, breathing, candle, chase are implemented in code but not yet accessible from HA (no Matter cluster or serial command
    for them yet)
  • No segments/zones β€” whole strip is one color for now

What’s next

I’d like to expose the built-in effects to Home Assistant somehow and eventually add segment support. Contributions welcome!

4 Likes