I want to share my latest project, a battery-powered ESP-12F WiFi module lawn irrigation controller programmed remotely from the Home Assistant dashboard.
The ESP8266 board communicates with Home Assistant using an MQTT broker on the local WiFi network. The ESP8266 listens to events to turn on/off and program the schedule for each sprinkler station.
The controller is a custom PCB powered by a 9V battery, as this is also the voltage required to activate the solenoids for each sprinkler. Being a battery-powered device, the efficiency of the circuit is crucial. The ESP8266 needs to be in deep sleep as much as possible and only wake up to activate/deactivate sprinkler stations.
An interface mode can also be activated explicitly using Home Assistant. In interface mode, the ESP8266 will not go into deep sleep and is always ready to receive commands to activate/deactivate stations and configure the system. This mode is helpful if we need to test a specific sprinkler station or if we need to trigger the stations manually.
The controller is also equipped with a reset button which will force the system to wake up from deep sleep, and go into interface mode (if enabled).
Check out all project details here:
https://bmpc.github.io/ESP8266-sprinkler-controller/