Picture of Self-Watering Plant

Plants liven up any space by adding a sense of airiness and life. That is - of course - when you don't forget to water them, and they shrivel up and die. I am very bad at remembering to water plants. That is why I built this self-watering plant to do it for me. Using a soil sensor, and an Arduino-controlled water pump, I have created a system that will never forget to do it. Instead of remembering to water my plants when the soil goes dry, I only have to remember to once and a while refill the water reservoir. In this way, I have decreased my obligation to these plants and put it off to a much later date. Perhaps further iterations of this device can be connected to a rain barrel so that I won't even have to worry about refilling my reservoir, and the entire system can be fully automated.
Remove these adsRemove these ads by Signing Up

Step 1: Go get stuff

Picture of Go get stuff
You will need:

(x1) 8" x 6" x 3" project enclosure (Radioshack #270-1809)
(x1) Multipurpose PC Board (Radioshack #276-150)
(x1) 5VDC SPDT micro relay (Radioshack #275-240)
(x1) 9V battery connector (Radioshack #270-324)
(x1) 9V battery holder (Radioshack #270-326)
(x1) 9V battery (Radioshack #23-853)
(x1) SPST micromini toggle switch (Radioshack #275-624)
(x1) 10K resistor (Radioshack #271-1126)
(x1) Size M coaxial DC power plug (Radioshack #274-1569)
(x1) Red and black 22AWG wire (Radioshack #278-1221)
(x1) 12AWG black wire (Radioshack #278-556)
(x1) Non-submersible electric water pump (via Amazon)
(x1) Water storage container with lid
(x2) 8-32 x 2.5" nuts and bolts
(x8) 4-40 x 1" nuts and bolts
(x1) 4-40 x 3/8" nut and bolt
(x4) 1/4" spacers
(x1) Wire nut
(x2) 3' - 5' plastic tubing
(x1) #8 Terminal Ring
(x1) House plant to water

Step 2: Trim the pump

Picture of Trim the pump
Trim away any unnecessary plastic mounting brackets from the front of the pump that may prevent it from being flush with the case (nozzles and corresponding hardware not included).

Step 3: Drill or cut

Picture of Drill or cut
Line up the water pump with the base of one of the 6" x 3" sides of the case.

Drill or cut a hole large enough to fit the nozzles through.
1-40 of 136Next »

hi sir, thank you for the info. can you send me on my email the full information and the program because the above info is quiet complex for me. I want to propose this to my professor for our thesis project. This is my email

Thank you sir..

phenrique51 month ago

I can use a air pump instead?

Hi, this is a good project. I would like to do, so I was wondering if you can share the code for the arduino? would be great if you could do it.

thanks in advance

tiongson10 months ago

can i use bigger water pump

Yes you can use even a 300HP pump if you want. Just use proper relay and source

2 questions: 1) is this design adaptable to maintain more than one plant (potentially 3 or 4 at a time with 3 or 4 separate pumps, so the pumps all go to the same set of circuitry?) and 2) is it possible to add a rechargeable solar assembly to power everything?

1) yes

2) yes

With programming you can add as much pumps and sensor as you want. Its not so diffucult to add extra code lines..

For the solar rechargeable system it will become a little expensive, but in any case you should add a solar panel that charges the battery in a few hours, and a battery capable of operate when cloudy days havent charged the battery. Maybe you can add a 7A motorcycle battery which will be more cheap and maybe more autonomous

EmanuelP2 months ago

Im interested to do this project as my final project.

please send me information, programming details.

kampsjp316 months ago

wired up and everything but doesn't seem to work. Just flashes number on the serial from very high to very low rapidly. Also Relay doesn't seem to work even when i wire it up differently and force it to work, I can hear the internal switch clicking but the pump just stays on. I made sure non of my wires or solders are crossed.

Hello All,

Completed this project. I have a complete working project running off solar power (which is pretty awesome, just connects the usb from the Arduino to the usb port of a Goal Zero nomad 7).

My previous relay in me last comment was faulty so I got a new one. Please note that as far as I know, the above will not control the relay as it would appear. Instead of what he has above, I connected the 5v to one pin of the relay coil, and the other pin to the Arduino. I then have a wire from that 5v across the pc board and out to one of my sensors. The other sensor is hooked up totally separately from the relay with a gourd the pc board, a 10k resistor to a wire that connects to A0 (on the Arduino) and a wire to the other sensor that that junction.

hopefully this helps to those who are not having success. I am not comfortable making a circuit diagram to show what I did as I have no idea my self how to read them. I can send pics, or explain better how I did things to anyone who asks.

AirIf kampsjp312 months ago

thanks 4 de tip, it worked just like you said..


Would you post a pic of your setup? I'm a newbie here and couldn't make it work :(

Thanks a lot!

not sure how to annotate pictures, the green wire from the relay goes out to any digital pin (mine goes to pin 2), the red wire on the top part of the relay goes to 5v. the red wire across is soldered to one of the sensor wires.

The black wire goes out to ground on the arduino, the 10k resistor goes over and is connected to a green wire (show) that connects to one of the analog inputs (mine goes to A0) and underneath is soldered to the other sensor wire.

The red wire on the bottom of the relay goes out to one of the parts of the pump wire as he illustrates above, the other wire goes into the single pin of the relay (which is on the ver right of the picture)

let me know if you need me to clarify anything. I know nothing about circuits or anything, just did some googling and playing around on a bread board to figure this all out.

mde flotte5 months ago


Great stuff!

I have a little question, there is any reason to use non-submersible pump? Can I use submersible pump?

AirIf mde flotte2 months ago

ive tried to use submersible pump, and it worked ... :)

Not that I want to reply in Randofo's case, but i can see why he used a non submersible pump.
It is a house-plant and he only uses a small container. also it all fits neatly in one box.
If you use a submersible pump (like i have used in garden projects) it needs to be in a larger container and needs to be submersed all the time. that might not always be a good choice inside a house.
Having said that: sure, you can use a submersible pump, just dont put it in the box but keep it submersed

Expendables2 months ago

can u plz mail me the source code as it is my final year email id is

Survesh3 months ago
(removed by author or community request)

You should check out the forum!

Survesh3 months ago

Can somebody give me the circuit diagram...Im a noob...! Please...This is my first project...


Awesome project! I have a question, where did you find the data you needed to program the moisture sensor. I was trying to figure out how to identify the necessary moisture for different plants but haven't an online resource with that data.



marlen, i am not sure how Randofo does it, but generally you would just take a reading of the sensor while the soil is most enough that you consider as the right moisture for that plant. You then use that value in the program.

Another way is to just make a calculation:
measure the resistance of the sensor at a moment you consider the soil moist enough. Now suppose that value is 10k.
The probe is part of a voltage divider with another 10k resistor to ground. Therefore the voltage on the A0 pin becomes 2.5 Volt or in digital terms 1024/2=612.
if the resistance of the probe would be e.g.40k when the soil is moist enough, the voltage would be (5/(10+40))*10 =1Volt or in digital terms 1024/5=204.

As the project uses an entire arduino, you could easily add a variable resistor/potentiometer that is being read by one of the other analogue ports. one can then use that value (map it first so it only takes 1 byte) to set the irrigation threshold.


im electrical engneering student.

Im interested to do this project as my final project.

please send me information, complete project detail and programming details.

has anyone actually made one of these? the wiring instructions are so convoluted that i cant imagine anyone has actually had luck with constructing this...

can someone post a schematic or wiring diagram? the directions arent very clear as far as what pins are connected to what wires and i want to double check...

Akin Yildiz7 months ago

you can easily add a sleek plant arm to the pot, so it has light..! please check out my designs, i'm in the process of combining the two technologies...

dmoonen7 months ago

I can't seem to find the code?

cheshirecorn7 months ago

Thats exceptional...

Can you use a bigger reservoir for the water.
Axorr8 months ago

Step ten says;
an 18" section of 12 AWG wire to the free pin of the 10K resistor.
Solder a 6" section of black 22 AWG wire to this joint.

Attach an 18" section of 12 AWG wire to an unused part of the PCB. Solder a 6" section of red 22 AWG wire to this joint."

However, the pictures show two additional wires coming off the PCB. You can see them again in images from steps 12,13, 15, and 22. Step 23 talks about where the OTHER end of those wire go (connecting to the Arduino), but I am wondering where they connect exactly on the PCB. I seem to be missing the step where it mention when and where those wires are connected.

tommycai8 months ago

so 5v goes to the plant analog in comes from the other probe.

Where is the ground at? Kinda confusing?

Is this correct; I found no schematic found

redwire to arduino 5v and then soldered and to plant

black wire to a1 (analog in) and ground and to resistor side of relay.

digital 12 pin to one side of relay coil on micro relay

nodoubtman10 months ago

Hi! I'm wondering, watering plant once a week?... do you feed the plant when it's dry all the time?

thank you!

tiongson10 months ago

what is this??? is this an ordinary screw or a sensor???????? plz answer

tiongson10 months ago

is the probe is the sensor

Polymorph10 months ago

I'm having a hard time finding the schematic or wiring diagram.

I think a driver transistor would be a good idea, as most relays require more than the maximum 40mA the microcontroller is rated at. I'm also not seeing a snubber diode across the relay, without it your Arduino is being damaged every time the relay is shut off.

regaltaxlaw11 months ago
I got all the parts today. Can't wait to start tomorrow! Thank you for the instructable!!!
AchillesPDX2 years ago
Anyone know how long an Arduino will run off a 9V battery? Seems to me you could throw an AC>DC adapter in the box too and power the Arduino off of it so you have one less thing to forget :)
A 9 volt battery wont charge an arduino with added sensors on it for very long... a week maybe?
majenko Eirinn11 months ago
You're havin' a laugh, aren't you? Not including any sensors or anything an Uno draws around 50mA. Your typical PP3 battery is only about 575mAh. That equates to a total runtime of no more than about 11.3 hours!!!

delay() does NOT help reduce the battery drain. For that you would have to manually put the Arduino into sleep mode. Doing that, and waking once per hour to sample the soil you could maybe get a week's worth of use out of it if you are really really lucky.

On another note, I'd most definitely use a 12V pump, NOT a mains pump in this situation. Wiring up the mains like that is a recipe for disaster, and even death. 12V pumps are easy to get hold of, and the 12V supply for the pump could also run the Arduino and relay. Hell, you could even scrap the clunky relay and use a MOSFET instead then. Much neater.
Eirinn majenko11 months ago
I said a week, you said a week - i also meant under optimum conditions ;) Just add a mains adapter and it should be fine. However adding sleep would still be good, saves electricity :)
1-40 of 136Next »