this post was submitted on 26 Feb 2026
1 points (100.0% liked)

Home Assistant

262 readers
2 users here now

Home Assistant is open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY...

founded 2 years ago
MODERATORS
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/homeassistant by /u/souverainiste on 2026-02-26 14:58:21+00:00.


**TL;DR**: Fully reverse-engineered the SwitchBot Evaporative Humidifier 2 (W3902310) firmware using Ghidra. Found every GPIO pin assignment. Created an ESPHome config for local-only control. No more cloud or app dependency.

**GitHub**: GITHUB repo

This device got an ESP32-D0WD V3 inside, runs ESP-IDF v5.0.2, and phones home to AWS IoT via MQTT. There's a J3 programming header on the main board (HUMIDIFIER 2 MAINBOARD V07) which gives UART access for flashing.

The repo includes a ready-to-flash ESPHome YAML with all confirmed pins. What still needs physical testing:

  • Which LEDC pin actually spins the fan

  • What the 4 RMT carrier channels drive

  • Water level ADC calibration values

Next Steps

I'm about to map the J3 header with a multimeter, check eFuses for secure boot, and flash ESPHome. Will update with results.

https://preview.redd.it/d9m8g8pitulg1.jpg?width=2177&format=pjpg&auto=webp&s=0f518cc88875ab25a52e31627af464e4cbaacd0b

https://preview.redd.it/8yb1fviosulg1.jpg?width=2863&format=pjpg&auto=webp&s=0904f8d6cada049112a53b2e2d3b48cfd559aae3

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here