Rainmaker 9000 is a gravity-fed, automatic plant watering system powered by an ESP32 microcontroller with a touchscreen interface. It lets you configure and automate watering schedules for 2 independently controlled solenoid valves—no plumbing skills required.
This project is ideal for makers, tinkerers, and home gardeners who want to combine DIY electronics with smart automation.
- 💧 Gravity-fed system for silent, energy-efficient watering
- ⏱️ Per-valve scheduling: set volume in mL per day or week
- 🔌 Touchscreen interface with intuitive controls (built using LVGL)
- 🧰 Fully open source: firmware, 3D models, and schematic included
rainmaker9000/
├── rainmaker9000.ino # Arduino firmware for the ESP32
├── models/ # 3D-printable STL files for the housing & modules
├── schematic.png # Wiring diagram for electronics
├── image1.png # Photo of the completed project
└── README.md # This file
- A top-mounted water reservoir feeds a water rail via gravity.
- The ESP32 controls 12V relays which then control solenoid valves.
- The touchscreen interface allows users to configure:
- Milliliters per watering cycle
- Frequency: daily or weekly
- The system saves user settings and tracks the last watering time.
- 1x ESP32 CYD Dev Board with touchscreen - Amazon Link
- 12V DC power supply - Amazon Link
- 2x 12V Solenoid valves - Amazon Link
- 2x 12V Relay modules - Amazon Link
- 1/4 OD Tubing & fittings - Amazon Link
- 5V Waterproof Buck Converter - Amazon Link
- Random screws from your garage
- 3D-printed housing (in
models/
)
- Open
rainmaker9000.ino
in Arduino IDE. - Install dependencies (LVGL v9+, TFT_eSPI, XPT2046_Touchscreen, etc.) - You will need to configure TFT_eSPI for this project.
- Set your board and port.
- Upload the firmware to your ESP32.
All STL files for the Rainmaker 9000 modular enclosure and parts are in the /models
folder. Files are optimized for FDM printing.
- Modular design with expanable numbers of valves
- Moisture sensor integration
- Wi-Fi + mobile dashboard (optional module)
- Kit version for public release
This project is licensed under the MIT License. Feel free to use, modify, and distribute it.
Pull requests, bug reports, and suggestions are welcome! Feel free to fork this repo or open an issue if you have ideas or need help.