Automatic Plant Watering System Using Arduino
Automatic Plant Watering System Using Arduino
Project N°03
Automatic Plant Watering System
Using Arduino
Prepared By:
Messouaf Serine
Latreche Hamoud
Kaddour Rafik
Kara Anes
Keddache Badreddine
Objective
The objective of this project is to design and build a fully automated plant
watering system that:
- Detects soil moisture levels.
- Monitors environmental conditions (temperature, humidity, and
pressure).
- Detects water level in the tank.
- Automatically activates a water pump when needed.
- Displays real-time data on an OLED screen.
Components Used
Component Quantity Description
Arduino Uno 1 Main microcontroller
Soil Moisture Sensor 1 Measures soil moisture
level
Ultrasonic Sensor (HC- 1 Measures water tank level
SR04)
1 Measures temperature,
BME280 Sensor humidity, and atmospheric
pressure
OLED Display (SSD1306 - 1 Displays system status and
I2C) sensor data
the connection between the Arduino Uno, the BME280 sensor, and the 16x2 LCD. The I2C
lines (SCL/SDA) are used to communicate with the BME280 and LCD
the ultrasonic sensor connected to the Arduino to measure the distance to the water surface. It
also includes a status LED to signal the tank water status.
the soil moisture sensor and relay-controlled water pump setup. When the soil is dry, the
Arduino activates the relay to turn on the pump.
Working Principle
The Arduino reads the soil moisture level from the sensor. If the moisture
level is below a predefined threshold, the Arduino checks the water tank level
using the ultrasonic sensor. If sufficient water is available, it activates the
pump via the relay to water the plant.
Simultaneously, the BME280 sensor monitors environmental parameters like
temperature, humidity, and pressure. All real-time data is shown on an OLED
display for monitoring purposes.
Arduino Code
(The source code will be provided along with the project……)
Project Photos
Advantages
- Fully automated watering
- Low power consumption
- Real-time data monitoring
- Can be scaled to multiple plants
- Useful for remote plant care
Limitations
- Fixed watering duration
- Sensor accuracy may degrade over time
- No wireless communication or alert system
- Water tank must be refilled manually
Future Improvements
- Add Wi-Fi (ESP8266) or Bluetooth for remote monitoring
- Implement a real-time clock (RTC) to schedule watering
- Send notifications via SMS or app when the water level is low
- Add solar power for energy independence
Conclusion
This project successfully demonstrates an efficient, affordable, and easy-to-
use automatic plant watering system using Arduino. It is ideal for home
gardeners, educational purposes, and as a foundation for more advanced IoT-
based agricultural automation systems.