leonetienne/esp32-irrigation-computer — explained in plain English
Analysis updated 2026-05-18
Automate opening and closing garden hose valves on a schedule or by command
Add irrigation control to an existing Home Assistant setup without cloud dependency
Build a custom low cost sprinkler controller from an ESP32 and a few solenoids
Monitor and trigger valves remotely over MQTT or a plain REST API
| leonetienne/esp32-irrigation-computer | gregordinary/ggml-rocket | khenderson20/clearcore | |
|---|---|---|---|
| Stars | 9 | 9 | 9 |
| Language | C++ | C++ | C++ |
| Setup difficulty | hard | hard | moderate |
| Complexity | 4/5 | 5/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires building a small circuit with solenoids, transistors, and a buck converter, plus flashing firmware via ESP-IDF.
Esp32-Irrigation-Computer is firmware for an ESP32 microcontroller that turns it into a garden irrigation controller. It drives between one and eight solenoid valves that open and close garden hose lines, and it talks to Home Assistant through MQTT as well as a plain REST API. Everything runs locally: there is no cloud service and no account to sign up for, so all communication stays on your own network with your own MQTT broker. Setup happens entirely through a web interface hosted on the device itself. On first boot, or after a WiFi reset, the ESP32 creates its own WiFi access point with a captive portal so you can connect a phone or laptop and enter your home network's WiFi details. After that the same web UI is used to configure the MQTT broker, name the device, choose which GPIO pins control each valve, set up optional status LEDs for WiFi and MQTT connection state, and add an optional password to protect the web UI. Home Assistant integration uses MQTT auto discovery, so each valve shows up as its own switch entity without writing any configuration files by hand. A safety feature forces any valve closed if it has been left open longer than a configured timeout, and all valves shut off automatically if the device loses its WiFi or MQTT connection. The project includes a full hardware build guide: a parts list, a wiring diagram, and written wiring instructions covering the buck converter, transistors, flyback diodes, and grounding layout needed to safely switch 12 volt solenoids from the ESP32's GPIO pins. The firmware is built using the ESP-IDF toolchain targeting the ESP32 chip. The author describes this as a personal project rather than a polished product: it was built quickly with the help of an AI coding assistant, testing is done by hand rather than through an automated test suite, and the code is not meant to be production grade. They share it because it works for their own setup and might be useful to someone else who wants the same thing.
ESP32 firmware that turns a microcontroller into a local, cloud-free garden irrigation controller for up to eight solenoid valves.
Mainly C++. The stack also includes ESP32, ESP-IDF, C++.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.