Analysis updated 2026-07-25
Control your SwitchBot humidifier locally without relying on the SwitchBot cloud or app.
Set target humidity levels and automate humidifier operation from Home Assistant.
Track filter usage and run automatic filter-drying cycles to extend filter life.
| phdindota/switchbot-humidifier-esphome | achanana/mavsdk | alange/llama.cpp | |
|---|---|---|---|
| Stars | 0 | — | 0 |
| Language | C++ | C++ | C++ |
| Last pushed | — | 2024-05-20 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 4/5 | 4/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires opening a mains-powered humidifier and flashing via a 3.3V serial connection to the internal circuit board.
{"i": 0, "repo": "phdindota/switchbot-humidifier-esphome", "stars": 0, "lang": "C++", "ok": true, "char_count": 1899, "text": "This project replaces the software inside a specific SwitchBot humidifier with custom open-source firmware. The target is the SwitchBot Evaporative Humidifier 2, model W3902310, using the V07 mainboard. By swapping the firmware, you take control of the appliance away from the SwitchBot app and cloud, and instead run it through ESPHome and Home Assistant, which are open-source smart home platforms.\n\nThe core humidification functions are working on real hardware. The fan spins at four speed levels, the device detects water levels, and the filter gets wet after an eight-second startup delay. You can control it from Home Assistant, set target humidity levels, and use Auto and Sleep modes. The project also tracks filter usage and starts an automatic filter-drying cycle. However, several features are not yet implemented: the front-panel segment display, LED animations, beeps, the child lock, and individual button mappings. The original SwitchBot app, cloud, Bluetooth, and Matter connections are all replaced by the ESPHome and Home Assistant setup.\n\nFlashing the device involves serious safety considerations. The humidifier is a mains-powered appliance that contains water, and the project authors stress that you must disconnect it from wall power before opening it. You connect to the internal circuit board using a 3.3 V serial connection, never 5 V, through a specific set of pins labeled J3. The guide walks you through backing up the original 4 MB firmware before installing the replacement, and it recommends keeping that backup private since it may contain device-specific calibration data.\n\nThe installation process is aimed at people comfortable with command-line tools and low-voltage electronics. You use a USB-to-serial adapter to communicate with the ESP32 chip inside the humidifier, enter a download mode by manipulating specific pins, and then write the new firmware. The project provides a detailed pinout table and step-by-step instructions for backing up the original software and configuring the new setup, including optional room sensors for smarter humidity control.\n\nThis appears to be the first publicly documented working ESPHome port for this humidifier model, though the authors acknowledge private projects may exist. The firmware is experimental and not a complete clone of the original. The filter-dry cycle duration is set to 55 minutes in the configuration, while the original manufacturer uses 70 minutes, and you can adjust this value yourself.\n\nThe full README is longer than what was shown.", "error": null}
Custom open-source firmware for the SwitchBot Evaporative Humidifier 2 that lets you control it locally using ESPHome and Home Assistant instead of the SwitchBot app and cloud.
Mainly C++. The stack also includes C++, ESPHome, ESP32.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.