ESP32 - Automatic Irrigation System
This tutorial instructs you how to make an automatic irrigation system for the garden using ESP32, a soil moisture sensor, relay, and pump. In detail:
- When soil moisture is dry, ESP32 automatically turns a pump on to water plants.
- When soil moisture is wet, ESP32 automatically turns a pump off.
Hardware Used In This Tutorial
Or you can buy the following sensor kit:
1 | × | DIYables Sensor Kit 30 types, 69 units |
Introduction to Soil Moisture Sensor and Pump
We have specific tutorials about soil moisture sensor and pump. Each tutorial contains detailed information and step-by-step instructions about hardware pinout, working principle, wiring connection to ESP32, ESP32 code... Learn more about them at the following links:
- ESP32 - Soil Moisture Sensor tutorial
- ESP32 - Controls Pump tutorial
Wiring Diagram

This image is created using Fritzing. Click to enlarge image
ESP32 Code
Quick Instructions
- Do calibration to determine the wet-dry THRESHOLD, see ESP32 - Calibrates Soil Moisture Sensor
- Update the calibrated THRESHOLD value in the code
- Open Serial Monitor on Arduino IDE
- Upload the code to ESP32 board
- See the result on Serial Monitor. It looks like the below:
Code Explanation
Read the line-by-line explanation in the comment lines of the source code!
Video Tutorial
Making video is a time-consuming work. If the video tutorial is necessary for your learning, please let us know by subscribing to our YouTube channel , If the demand for video is high, we will make the video tutorial.