Introduction: Arduino Automatic Watering System

In this Instructables guide I will show you how to make your own - Arduino -automatic watering system for your "desk" flower (or plant). The whole procedure is very easy and you can complete this guide in about 30 min.

The goal is to automatically watered the plant when the soil moisture decreases, so we will use one "soil hygrometer" sensor for this measurement. For watering, we will use one small air-pump motor that will blowing air into the bottle from one small pipe! The pressure will throw the water from the other pipe to our plant.

I used the Adafruit Trinket Pro board for my system but if you want you can also use the Arduino uno, Arduino Pro mini or Arduino nano board.

So, let's get started!

Step 1: What You Will Need

For this project you will need:

  • Adafruit Trinket Pro (or any other Arduino Board)
  • Soil hygrometer module (FC-28)
  • Air pump motor (i used 6V AM-265)
  • Pipe (you will need two small pieces)
  • NPN TR 2222A
  • Diode (e.g. IN4001)
  • Small/Tiny breadboard
  • Some breadboard wires

You will also need a hot melt glue gun to make sure that the bottle is airtight from the pipe holes.

You can buy them from, good prices and free shipping.

Step 2: The Pipes and the Bottle

Follow the steps below:

  • Make two holes in the cap of the bottle.
  • Take two pipe pieces
  • Now see the first image above, one pipe must be on the top of the bottle (this pipe will be connected to the air pump motor). Use some hot melt glue on both sides of cap.
  • The other pipe must be on the bottom of the bottle (this pipe will throw the water to our plant / see the second image above). Again, use some hot melt glue on both sides of cap.

Now make sure that the bottle is airtight, if you blow air (use your mouth) from the pipe (small one) you must see the water gets out from the other one.

The watering system is ready. Now lets make it automatic with the Arduino and the soil hygrometer module.

Step 3: The Circuit

The connections are pretty easy, watch the above image with the breadboard circuit schematic.

Useful notes:

Soil hygrometer module:

  • Vcc - 5V
  • GND - GND
  • AO - A0
  • DO - not connected

NPN Tr 2222A:

  • 1st pin - GND
  • 2nd pin - 9
  • 3rd pin - Motor negative pin (-)


  • Anode pin - Motor negative pin (-)
  • Cathode pin - Motor positive pin (+)

Step 4: The Code

Here's the code, embedded using Codebender!

Try downloading the Codebender plugin and clicking on the "Run on Arduino" button to program your Arduino board with this sketch. And that's it, you've programmed your Arduino board directly from your browser! It's really amazing.

Read the comments to understand how it works. If you want you can make your correction by clicking the "Edit" button, try for example to change the percentage that will activate the watering system from 20% to 50%.

Step 5: Well Done!

Now you have your own Arduino automatic watering system for your small plant or flower! Keep in mind that it will also need a sunlight to grow up, so place it near a window. Of course don't forget to refill your bottle with water after some days ;)

For more Arduino tutorials and cool projects you can visit our web page:

I would like to see photos of your plants!
I hope you liked this, let me know in the comments below.

Robotics Contest 2016

Runner Up in the
Robotics Contest 2016

Urban Farming Contest

Runner Up in the
Urban Farming Contest