TechieYan Technologies

Automatic plant watering system

Automatic plant watering system by using arduino project by techieyan technologies


The most significant cultural practice and labor-intensive duty in a daily greenhouse operation is watering. Water delivery to plants when they require it is made easier by irrigation systems. Knowing when and how much to water are two crucial components of the watering process. In this project, an automatic plant watering system based on Arduino has been developed. Many sensors are used as soil moisture sensors, which help to automatically detect the requisition of water in the soil. The DHT11 is a dampness and Temperature sensor that measures the temperature and humidity of the air. Relative Soil Moisture, Air Temperature, and Relative Air Humidity all are measured using an ultrasonic sensor which detects an obstacle easily. Through this project, one can improve the plan’s crop quality and health by increasing the performance measure. The development of an Automatic Plant Irrigation System \which is capable of detecting moisture loss in the soil is proposed in this project. It specifically uses the Soil Moisture Sensor to detect water content levels within the soil and provide appropriate system responses based on the detected condition.


Agriculture is the primary source of the Indian economy. The majority of clean water resources are used in agriculture.This Automatic Plant Irrigation System project aims to develop an automated irrigation mechanism that turns the pumping motor ON and OFF by itself. Most farmers around the world struggle to keep their crops watered properly, but they are powerless to do so. This system will allow farmers to irrigate their land without the need for additional manpower. The system is user-friendly and has simple circuitry, making the user operate the system easily. It is only necessary to connect the pump to the circuit and connect the circuit and sensors completely. The system will start to work immediately after powering up and will not require any triggers.

The project’s goal is to use sensors to detect soil dryness and provide appropriate water to the plants whenever necessary.

Components Required

Hardware Requirements

  • Arduino Uno : Arduino Uno is a microcontroller from the Arduino Family. It was developed by Arduino. cc and is based on the Microchip ATmega328P microcontroller. Uno has 20 I/O pins, 6 are analog and 14 are digital pins.

For more details,  pinout and datasheet, you can visit :

  • DHT sensor: DHT sensor is used to measure the temperature and humidity. It uses a capacitive humidity sensor and a thermistor to measure the surrounding air.
  • Soil moisture sensor: it measures the water content in the soil and can be used to estimate the amount of stored water in the soil horizon.
  • Motor pump: it is a mechanical device, which is used to move liquids from one place to another by using mechanical action.
  • Relay: it allows the circuit to switch from one to another.

Software Requirements

  • Arduino Ide : Arduino IDE (Integrated development environment) is software that is used to dump the program into boards. Arduino- IDE’s major use is to build electronics-related projects. Arduino is an open-source platform simple and easy-to-understand platform for coding. 


Block diagram

The block diagram describes the relationship between the input devices and output devices. Here in this case input devices are the DH11 sensor, a soil moisture sensor that sends the information to Arduino where the output is transmitted to the specific devices such as a relay to turn the motor on and off

automatic plant watering system project block diagram

Flow Chart

A flowchart is a diagram that shows a process’s individual steps in their proper order, similarly, the following flowchart tells about the steps involved in the project and the sequential flow of the code also. So as it starts, first, it reads the sensor’s value if the sensor’s value is greater than the given condition then it turns off. 

automatic plant watering system flow chart

*website used to make Flow Chart and Block Diagram :

Pin Connections

DHT11 sensor 

The DHT11 sensor has 4 pins VCC, DATA, and NC where VCC is connected to the 5V of the Arduino Uno. The DATA pin is connected to the 9th pin of the Arduino Uno.

sensor pin connections to Arduino for plant watering system

Soil hygrometer

Soil hygrometer has 4 pins A0, D0, VCC, and GND where GND is connected to the GND of the Arduino Uno. VCC is connected to the 5v of the Arduino Uno. A0 is connected to the A0 of the Arduino Uno.

soil hygrometer pin connections to Arduino for plant watering system


Relay has 3 pins VCC, GND, and SIG. Here GND is connected to the GND of Arduino UNO. VCC is connected to 5V of the Arduino Uno. SIG is connected to the 2nd pin of the Arduino Uno.

relay pin connections for plant watering system

Circuit diagram

Note: make sure to take proper precautions while connecting the components.

circuit connection diagram for automatic plant watering system


Soil moisture sensor measures and humidity sensor detects the amount of the moisture level in the soil and mist level in the atmosphere respectively. If the values of the sensor reading are less than the required level then the motor will be on through the relay.


Hence, an automatic plant watering system based on Arduino has been developed. so it automatically takes care of those plants instead of us. In the future, we can connect this to IoT so that we can get real-time data and alert the concerned person through iot.

Working Code

#include <dht11.h>
#define DHT11PIN 4

dht11 DHT11;
int value;
Servo Myservo;
int pos;
int water; //random variable 
void setup() {
    pinMode(3,OUTPUT); //output pin for relay board, this will sent signal to the relay
    pinMode(6,INPUT);  //input pin coming from soil sensor
void dht11()

  value =;

  Serial.print("Humidity (%): ");
  Serial.println((float)DHT11.humidity, 2);

  Serial.print("Temperature (C): ");
  Serial.println((float)DHT11.temperature, 2);



void loop() { 
  water = digitalRead(6);  // reading the coming signal from the soil sensor
  if(water == HIGH) // if water level is full then cut the relay 
  digitalWrite(3,LOW); // low is to cut the relay
  digitalWrite(3,HIGH); //high to continue proving signal and water supply

If You Face Any Issue Feel Free To Contact us Any Time.

+91 7075575787