I made open source Matter over Thread firmware for the $12 Seeed XIAO soil moisture sensor that displays as moisture correctly in HA :-)
▲ 271 r/MatterProtocol+1 crossposts

I made open source Matter over Thread firmware for the $12 Seeed XIAO soil moisture sensor that displays as moisture correctly in HA :-)

Matter 1.5 added a Soil Sensor device type, and Home Assistant 2026.7 can finally show it. As far as I can tell, nobody ships a native Matter soil sensor yet, commercial or otherwise, and I wanted one for my plants.

The Seeed Studio XIAO Soil Moisture Sensor is about $12 and runs ESPHome over WiFi from the factory, but the ESP32-C6 inside has an 802.15.4 radio sitting unused. This firmware repurposes it for Thread.

The sensor pairs straight to Home Assistant as a real Matter soil sensor. No WiFi, no cloud, no YAML. Battery percentage and cell health report too, and there's on-device dry/wet calibration with LED prompts.

This is a starting point, not a finished product. AA battery life is weeks per cell right now (similar to what people report on the factory firmware), not months, and the data so far points at the board's boost converter rather than the radio. Everything is documented in the open, including a power page with the actual battery graphs from my two test units.

The hardware is cheap enough to just try. Flashing is over USB-C in a couple of minutes, and going back to stock is a browser flasher from Seeed, meaning the experiment costs you nothing but the sensor. You need HA 2026.7 or newer and test-net DCL enabled in the Matter Server, and the docs walk through all of it.

If you flash one, sample interval and TX power are build-time knobs, and battery reports as GitHub issues are the fastest way to make this better for everyone.

Repo with docs, field data, and prebuilt firmware:

https://github.com/automatous-io/xiao-soil-moisture-sensor-matter-thread

u/xxpapertigersxx — 4 days ago
▲ 33 r/Esphome

Shelly Web UI to ESPHome via OTA flash on Shelly Gen4 devices is possible, no UART required

**AI disclosure, per sub rules:** Parts of this project were built with help from Claude Code. It has not been vibe coded. Everything shipped has been tested on real hardware, including the full backup and restore path.

I'm the project maintainer behind the Matter over Thread third-party firmware for Shelly Gen4 devices that I initially posted about in r/HomeAssistant a few months ago. I spent a lot of time with the stock Shelly web UI install method and partition layout while building that out, and it led somewhere I didn't expect. It's now possible to flash ESPHome on the Shelly 1 Gen4 through the stock web UI. The device is visible in Home Assistant under ESPHome and adoptable in ESPHome Builder.

After flashing, it's plain ESPHome on the stock Shelly partition layout. The device broadcasts for ESPHome dashboard adoption, and updates are normal ESPHome OTA, which only ever writes the inactive slot and can't brick it. The ESPHome flash is reversible. A full-chip UART backup taken before converting restores the device to factory state, Shelly Cloud included. The web UI path can't make that backup. If you want the way back, take the UART backup before you convert.

The web UI flash method works by keeping the stock partition table and packing the update in the stock installer's manifest format. The payload is then accepted as a standard update. An external component linked to the repo keeps every future compile on the stock partition table, including adopted rebuilds on machines that have never seen the repo. The tradeoff of keeping the stock table is 3MB app slots instead of the 3.75MB an ESPHome-default layout would use. Typical relay configs fit with plenty of room.

Shelly has historically been friendly to third-party firmware, and the local upload path turns out not to be locked down as previously thought or documented online.

It's in beta (0.0.x). Tested from stock firmware 1.7.5 and 2.0.0. Only the Shelly 1 Gen4 is supported so far. Don't upload the zip to other Gen4 models yet, it's untested. More models are planned, and most of the groundwork already exists from the Matter over Thread project. PRs are welcome. To keep the GPL side clean there are no prebuilt binaries. You build it yourself by cloning the repo and running a build script. The repo is Apache 2.0 licensed.

An OpenThread overlay config is also planned for those that want Thread (including myself).

Repos:

- ESPHome conversion: https://github.com/automatous-io/shelly-gen4-esphome

- Matter over Thread: https://github.com/automatous-io/shelly-1-gen4-matter-thread

u/xxpapertigersxx — 20 days ago

Made an open source smart lock for my '05 T1N Sprinter (works with the factory keys and fob)

Lost the key fob to my '05 Sprinter months ago. The dealer quoted me $$$ to program and replace it, so I built my own smart solution instead.

Over the past few months I've designed and released an open source smart lock for the T1N. It works alongside the factory system; your keys, fob (if you have one), and master lock switch all still work exactly as before. The smart lock just adds the ability to lock/unlock from your phone and see lock state at a glance, plus contact sensors that show which doors are open/closed. Locally or anywhere remote over the internet.

A few things that might be interesting to our community:

- Works with Apple Home, Home Assistant, Google Home, or Alexa via Matter (no Mercedes/Dodge cloud dependency, no subscription)

- Pairs directly to an iPhone 15 Pro or newer over Thread. No hub required or Wi-Fi dependency for basic local control

- Reads what the van actually did, not just what was commanded, so the app reflects the real state even when you use the physical switches or factory remote

- Five-wire tap at the back of the master door lock switch. Doesn't drive the lock motors directly, doesn't replace the factory CTM module. If the device fails, the van's original locking system works exactly as it did before

- Tolerates the noisy 12V electrical environment, low power draw

The hardware is a small custom board with a Seeed XIAO ESP32-C6 module, designed to fit in a 3D printed enclosure. Everything is open source. Firmware (Apache 2.0), PCB design files (CC BY 4.0), enclosure model (CC BY 4.0).

I had to reverse-engineer the central locking signals with a multimeter since the factory service manual gives you the pinout but doesn't describe how to read the lock-state LEDs or detect when the van is asleep. That took some time. I'm running v1.0.1 in my own van right now.

The repo has photos, a demo video showing it working alongside the master lock switch, and full build documentation including a safety guide.

Tested on my 2005 2500 in North America. If you've got a different year/market T1N and want to try it, I'd love a compatibility report.

Repo: https://github.com/automatous-io/t1n-smart-lock

Happy to answer questions. Long live the million mile Sprinter.

u/xxpapertigersxx — 2 months ago
▲ 32 r/esp32

Open source ESP32 Matter over Thread smart lock for my 2005 Dodge Sprinter van (T1N)

I lost the key fob for my ’05 Dodge Sprinter months ago and didn’t want to spend the $$$ the dealer is charging to program and replace it. I started with an NFC ESPHome prototype I posted here about four months ago before moving onto something far cooler imo.

I built and released an open source Matter over Thread smart lock that incorporates custom firmware, PCB, and 3D printed enclosure via ESP-IDF 5.4.4 and the esp-matter 1.4.2~2 components library. The carrier board that interfaces with the van has female headers for a XIAO ESP32-C6.

The device exposes a single door lock endpoint with two contact sensors, one for the driver door and one for the passenger/cargo/rear doors and works from an iPhone with a Thread radio for local control or remotely via a hub. I currently have it via Multi-Admin mode in Apple Home and Home Assistant.

The device observes state with two optocouplers to read the master door lock switch LEDs, a comparator to sense if the van is asleep or not, and a transistor to pulse the line for lock/unlock. I had to reverse-engineer the central locking system signals with a multimeter to perform various tests and spent quite a bit of time ironing out the quirks in adding this type of technology to a 20+ year old van. It works alongside the factory system and reports observed state whether you initiate from your Matter ecosystem or not, for instance using the OEM fob, keys or central lock switch inside the van.

Now I have smart locks with far better range than Bluetooth and additional features one would come to expect in 2026. It’s an evolving project that I am stoked about and wanted to share the project.

I haven’t quite seen an ESP32 based Matter over Thread project like this for vehicles yet. With Apple adding Thread radios to their newer devices it makes perfect sense to me and opens up a world of possibilities for local control without having to pay for a cloud subscription or add another app to my phone. All with an off the shelf ESP32 and freely available components.

EDIT: added a comment with photo of the completed unit.

github.com
u/xxpapertigersxx — 2 months ago
▲ 360 r/MatterProtocol+1 crossposts

Made an open source Matter over Thread firmware for the Shelly 1 Gen 4 relay

I made an open source Matter over Thread firmware for the Shelly 1 Gen 4.

Shelly said they likely won't add the feature via firmware update, offering Matter over Wifi instead. So I spent a chunk of time figuring it out for my off grid Sprinter van setup.

I have these little relays commissioned to both HA using the Matter integration and Apple Home simultaneously, all humming along as on/off devices for lights using Matter over Thread - both commissioned separately without a HomeKit bridge. What started this journey mainly surrounded requirements related to having a low infrastructure smart home on wheels where wifi isn't exactly the most reliable or power conscious option I wanted to go with on a mainly 12v solar/battery system.

Hope this helps someone else out like it did for me. It's fully reversible if you back up the stock firmware. Could even go ESPHome direction if you want OpenThread and don't care too much about the Matter protocol side of it.

github.com
u/xxpapertigersxx — 3 months ago