Garduino – Automatic plant watering system

During summers, most people are too lazy to water the potted plants every day and plants will eventually wither if people go out on vacation. Here is a simple Automatic plant watering system that can water plants in your absence. It is an Arduino based automatic plant water-feeder system that uses a soil moisture sensor.

This project is about building up a Automatic plant watering system using Arduino to water the plants whenever the soil is dry and pumps ample water to plants.


  • Senses the water content- by using moisture sensor
  • Activates the motor or pump upon sensing low moisture level(dry) of soil
  • Motor should be on until the moisture sensor gives wet as feedback.and message is sent using GSM module.
  • Stop the motor i.e., OFF after watering plants after getting soil wet.


  1. Arduino
  2. GSM module
  3. Water pumps
  4. Moisture sensors
  5. LCD screen
  6. 2N2222 Transistor
  7. Resistor as Required




Moisture sensor  senses the volumetric water content in soil. After inserting a probe into soil for approximately 60 seconds, it starts feeding the controller with some live moisture data. Code was written in such a way that Arduino decides the cutoff level of Dry soil and Wet soil using the data provided by the the sensor.

Once Arduino decides whether the soil was in Wet or Dry condition it will decide either to activate the water pump. If the sensor reading indicates that the soil is dry it will activate a simple DC motor which will pump the water to soil. By this way the moisture in the soil will be maintained indefinitely. A little help, here is an Intructable to build your own water pump using a simple DC motor.

For those who are really worried about your plants. Here is a feature that might delight you. I have added a GSM module which is intended to notify users upon the motor and plat care status. When the moisture sensor senses low moisture content, the motor gets on and the message displays on lcd screen. In addition this message will also be sent to user number which is programmed in the Arduino code.


  • Different soils retain moisture level differently so i suggest you to test your soil nature and set the moisture value accordingly.
  • Upload the below code into your Arduino.
  • Fix the moisture sensor into the dry soil where your plants are planted
  • Turn the system ON, you will see the soil moisture in LCD.
  • In my project i have taken 50 as cutoff value for dry soil but if you feel differently about your soil you can change the this cutoff value after testing it.
  • This will be helpful in case if you feel that this automatic plant watering system is feeding plants more/less frequently. Changing the value in line 22 will customize this project as per your requirements

Read More:  Garduino – Automatic plant watering system

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top