Introduction
Watering plants regularly can be tedious, and overwatering or underwatering can harm plant growth. An Automatic Plant Watering System uses soil moisture sensors and microcontrollers to detect the moisture level of soil and automatically water the plants when required.
This system is highly useful for home gardening, greenhouse automation, and smart agriculture.
Objective of the Project
- To automatically water plants based on soil moisture
- To save water and prevent overwatering
- To reduce manual effort for plant care
- To provide a simple smart agriculture solution
Working Principle
- A soil moisture sensor detects the dryness of soil
- Sensor data is read by a microcontroller (Arduino / ESP32)
- When the soil is dry, the water pump is activated to water the plant
- Once the soil is sufficiently moist, the pump automatically stops
- Optional: IoT integration allows remote monitoring of soil moisture
Components Required
- Arduino Uno / ESP32
- Soil Moisture Sensor
- Submersible Water Pump
- Relay Module (5V)
- Power Supply / Battery
- Connecting wires and small water container
Block Diagram
Soil Moisture Sensor
↓
Arduino / ESP32
↓
Relay Module
↓
Water Pump
↓
Plant Soil
Circuit Connections
Soil Moisture Sensor
VCC → 5V
GND → GND
AO → A0 (Arduino Analog Pin)
Relay Module
IN → D7 (Arduino Digital Pin)
VCC → 5V
GND → GND
COM → Power to Pump
NO → Pump +
NC → Not Used
Water Pump
Connect via relay COM and NO pins
Power supply to pump
Arduino Code (Automatic Plant Watering System)
#define sensorPin A0
#define relayPin 7
int soilMoistureValue = 0;
int threshold = 500; // Adjust according to soil
void setup() {
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW); // Pump off initially
Serial.begin(9600);
}
void loop() {
soilMoistureValue = analogRead(sensorPin);
Serial.print("Soil Moisture: ");
Serial.println(soilMoistureValue);
if (soilMoistureValue < threshold) { // Soil is dry
digitalWrite(relayPin, HIGH); // Turn on water pump
Serial.println("Pump ON - Watering Plants");
} else { // Soil is wet
digitalWrite(relayPin, LOW); // Turn off water pump
Serial.println("Pump OFF - Soil Moist");
}
delay(5000); // Check every 5 seconds
}
Code Explanation
- Soil moisture sensor reads the moisture content in soil
- If soil is dry, the microcontroller activates the relay, turning on the pump
- If soil is moist, the pump is turned off automatically
- Threshold can be adjusted depending on soil type
Advantages
- Automatic and hands-free plant watering
- Saves water and prevents overwatering
- Reduces manual effort for gardening
- Simple and cost-effective
Applications
- Home gardening
- Greenhouse automation
- Urban farming projects
- Educational projects on smart agriculture
Future Enhancements
- IoT integration to monitor soil moisture remotely
- Mobile app notifications when watering occurs
- Multiple pump system for multiple plants
- Solar-powered water pump for sustainable gardening
Conclusion
The Automatic Plant Watering System is an excellent mini + innovation project for smart agriculture and home gardening. It ensures that plants receive the right amount of water, saves time and water, and demonstrates a practical application of microcontrollers and sensors.
