Arduino Automatic Watering System For Plants Sprinkler

FeaturedContest Winner
    Last month, Elecrow have left from the original office and moved to a new office. We will miss our original office where we worked so hard for more than two years, we will miss everything here, the desks, the windows, and those potted plants, that we cared for more than two years with our neighbor.
  Our neighbor, a design team, led by a man named Kimi, we had so many memories together in the difficult early days. Together we planted some potted plants in the balcony, to help us release when tired after a whole day hard working. But as we leave, Kimi team are so careless and they often go out for some shows, we all worry about that these plants will be thirsty as we leave.
  So, We decided to design an automatic watering system to ensure that these plants are still alive when we come back here the next time. It monitor the soil humidity of each potted plant, if the humidity too low, the pump automatically start to spray, in this way, Kimi team do not need to water those plants every day.

I have recorded a video for reference:
First, we prepared the following modules(all parts can find in
1. Soil Moisture Sensor. Each flowerpot need such a soil moisture sensor to collect the humility data. the best advantage of this kind of sensor is, it is really cheap, while the disadvantage is that it may corrode after long-term usage. Of course, you can also use a better humidity sensors, such as the capacitive soil moisture sensor, but you may need to pay ten times the price.

2. A small pump plus a driver. A driver is to provide enough current for the pump, my application needs a spray distance about one meter, so this pump is enough. But if you need to make a system that needs a large spray range, you may need a larger pumps, or even a pressurized device to make the projectile even farther, such as the watering system in a tea garden.

3. Servo and Rotating Platform, to take the water pipe to water the target plot. In order to control the spray distance and angle, 2 servo wold be necessary.

4. Of course, the controller is a must, i use the Crowduino platform, plus an Expansion Board for easy connection.

5. Water pipes and the power supply is essential too, and, some wires would also be help.

OK, all things prepared, then let's get started.
Remove these adsRemove these ads by Signing Up
omarhdez99 days ago

Hello, this is my final year it would be helpful if u mail me the code and components description .my email id is, please, Thanks.

haziqzain23 days ago

do you have circuit for this system, really need your help..

Expendables1 month ago

can u please mail me the circuit diagram of your email id is

Expendables2 months ago

This is my final year it would be helpful if u mail me the code and components description .my email id is

dishack784 months ago
Try to develop more in features like screen display auto get position x, y from sensor....
lemmanuel16 months ago

Cant download the content in the arduino program.Someone please help me on how to retrieve it

Elecrow (author)  lemmanuel16 months ago


I have checked the download links, all of them are no problem, can be download. If you still can't download the code, please go to to download the code. Thank you.

mushfiq19969 months ago

Which arduino board can be used to make this. Where I'm from they got no crowduino boards.

And one more thing. Does the code need changing if I use a different motor driver ???? Please answer. Its an emergency!!

Elecrow (author)  mushfiq19966 months ago

Hello, you can using Arduino official board or other Arduino compaible mainboards. Thank you.

nimichichi8 months ago

Hi, Nice work, but I have a problem I'm trying to upload the but it doen't let me , said

'pos' was not declared in this scope

Hello, i would be Glad if you could send me the codes...mine doesnt contain any codes

mushfiq19967 months ago

Can this be done with a breadboard instead of an expansion board. If yes how will the connections be like ?

parameshwarnp9 months ago

hi , its showing " pos was not declared in this scope"

now , should i change it to 'posi' , or should i change it to 'posl'

please reply asap


i got it finally. change all "posl" to "pos". worked for me

scotchcollege10 months ago

Hi, any idea why the motor is only receiving minimal voltage and just vibrates slightly?

firazpeerjade11 months ago
when i compile automatic watering program i got this error
'pos' was not declared in this scope

posi is the the variable declared change the pos to posi

tiongson10 months ago

sir where did you get the mini water pump

elvispro10 months ago
i love it ,so i want to make it by myself . but i can't down the pdf file
firazpeerjade11 months ago
this is error message image
gbushta11 months ago
This is very clever. I like the idea.
ryebreadz11 months ago
lol, this is a funny little robot.
billbillt12 months ago
great idea...
diy_bloke12 months ago
cgrrty12 months ago
Good idea
joe_tunis12 months ago
billiejoe12 months ago
This is awesome. I LOVE IT

ray7412 months ago
I love how it aims at the plants before spraying them. Made us laugh many times. Great job!!