Arduino Automatic Watering System





Introduction: Arduino Automatic Watering System

First of hopefully many DIY arduino projects. I will show you how to build an automatic watering system. It will water plants for you when you not there. Although project is based on Arduino Nano there is no problem to build it with Arduino UNO.

Step 1: Watch the Video

Watch whole video. It will take you through nearly the whole project. You will find additional resources in the following steps.

Step 2: Complete Parts

These are necessary parts and sample links where to get them.

Parts List:

Arduino Nano v3.0

SoilWatch 10 - soil moisture sensor

1602 LCD with I2C interface

12V Peristaltic pump

1/8 inch or 3mm internal diameter PVC tubing

1/8 inch or 3mm connector

IRLZ44N Transistor -

breadboard - optional

7x9cm perfboard

2x100nF ceramic capacitor

1x100uF electrolytic capacitor

3x100k ohm resistor

DC Socket 5.5mm/2.1mm

2x tact switches

female/female jump wires

straight pin headers

some wires

Terminal Block Screw Connector 2-way

Terminal Block Screw Connector 3-way

power supply -

box 100x80x40mm cotton buds/swabs - check locally first. This box may work but I can't guarantee

Step 3: Assemble

See attached schematics and pictures of assembled boards. If you are not comfortable with soldering build just breadboard version of the project.

Step 4: Upload Code

Upload sketch plant_saver.ino to your Arduino board. Don't forget to install a LiquidCrystal_I2C library.

Schematics available in Fritzing format but breadboard part is not done.

SoilWatch 10 part for Fritzing.

Step 5: Enjoy Your Automatic Watering System

Play, modify and adapt to your needs. You can tweak Arduino sketch to suit your plant, soil type and pot size. Hope you enjoyed the project.

Check out my Youtube channel:



    • Epilog Challenge 9

      Epilog Challenge 9
    • Paper Contest 2018

      Paper Contest 2018
    • Science of Cooking

      Science of Cooking

    We have a be nice policy.
    Please be positive and constructive.


    2 Questions



    Google Translate!

    good work! I would like to extend the sketch with another sensor and another pump.

    I managed to the extent that the 2nd sensor works and is also adjustable. runtime pump adjustable via 2 more buttons.

    I can not get it that I can assign a pump to a sensor. currently it is so that both pumps start, no matter which sensor I pull out of the earth.Bin beginners in things arduino. would be glad if you can help me on.

    Show what you have done so far and we will sort this out. Paste your sketch here.

    Does the arduino connect to 12V on a jack or need a special 5V?


    If you use Arduino Uno then just connect to 9-12V to jack. Arduino has an onboard 5V regulator so it will make required 5V. For Arduino Nano connect 9-12V to VIN and it has 5V onboard regulator as well.

    Hi, cool project. I've got the Soilwatch Sensors and will start now with my project. could you please update the schematic file in the fritzing format?

    Regards, Marcel

    Thanks :) Just uploaded schematics in fritzing format. Breadboard part isn't done just the schematics.

    regards, Piotr