Instructables
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
2B.jpg
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
3B.jpg
3C.jpg
3D.jpg
3E.jpg
3F.jpg
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.

Step 4: Mark

Picture of Mark
4B.jpg
Position the water pump, Arduino, 9V battery holder, and circuit board in the bottom of the case.

Make marks in each of their mounting holes.

The pump will probably not have a mounting hole, so just make a mark on each side such that it can easily be zip tied down.

Step 5: Drill

Picture of Drill
5B.jpg
Drill all of the holes that you have just marked with a 1/8" drill bit.

You may need to widen the zip tie holes to 3/16".

Step 6: Drill more holes

Picture of Drill more holes
6B.jpg
6C.jpg
6D.jpg
On the 6" x 3" side of the case that has yet to be drilled, drill two centered 1/4" holes about 1-1/2" apart.

Step 7: Fasten

Picture of Fasten
7B.jpg
7C.jpg
Zip tie the water pump securely into the case.

Step 8: Cut the cord

Picture of Cut the cord
8B.jpg
Cut the pump's power cord about 6" from the pump's body.

Step 9: Start the PCB

Picture of Start the PCB
9A.jpg
9B.jpg
Solder the 5V relay to the board.

Solder a 10K resistor to one of the relay's coil pins.

Step 10: Attach wires

Picture of Attach wires
Attach 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.

Step 11: Split the wires

Picture of Split the wires
11B.jpg
Pass the cut power cord into the box through the 1/4" hole closest to the water pump.

Split the power cord such that each conductor is its own separate insulated strand for about 6".

Repeat this process for the cord going into the water pump.

They need to be separated because each cable is being wired to a different spot.

Step 12: Wire the power

Picture of Wire the power
12B.jpg
Connect one of the strands from the water pump to the normally-open pin on the relay.

Connect one of the strands from the power cord to the common pin on the relay.

In this way, when the relay is powered up, AC power will be connected.

Step 13: Attach

Picture of Attach
13B.jpg
13C.jpg
Attach the circuit board to the project box using 1/4" spacers, nuts and bolts.

Step 14: Wire nut

Picture of Wire nut
14B.jpg
Attach the two free power cables from the pump and power cord together using a wire nut.

Step 15: Prep the cords

Picture of Prep the cords
15B.jpg
Kink the power cable on the inside of the box and cinch it in place with a zip tie to prevent it from being pulled back through.

Tie a knot in the two 12 AWG wires such that when they are passed through the remaining 1/4" hole there would only be tension on the knot (and not the circuit board) when you tug on them.

Step 16: Prepare the probes

Picture of Prepare the probes
16B.jpg
16C.jpg
16D.jpg
Strip the end of each 12 AWG wire and clamp a terminal ring to the end.

Pass a bolt through each and fasten them in place firmly with the corresponding nuts.

Step 17: Wire the power

Solder the red wire from the 9V battery connector to one terminal of the SPST switch. Solder a 5" red wire to the other terminal of the SPST switch.

Unscrew the cover from the M-type plug and slide the cover onto the end of the remaining red and black wires.

Solder the black wire to the outer ground connection on the plug. Solder the red wire to the inner power connection.

Screw the cover back on.

Step 18: Install the switch

Picture of Install the switch
18B.jpg
18C.jpg
Drill a 1/4" hole in the 8" x 6" hole opposite the water pump.

Mount the switch into the hole using the mounting hardware.

Step 19: Program

Picture of Program
Plug in your Arduino and upload the following code:


Keep in mind that you may need to adjust the trigger threshold for your particular plant setup.

Step 20: Install

Picture of Install
20B.jpg
Fasten the Arduino to the base of the project enclosure with nuts and bolts.

Step 21: 9V clip

Picture of 9V clip
21B.jpg
Attach the 9V battery holder securely to the bottom of the project enclosure with a 4-40 x 3/8" nut and bolt.

Step 22: Plug it in

Picture of Plug it in
22B.jpg
22C.jpg
Plug in the battery, and secure the battery in the battery holder.

If the Arduino lights up when you plugged in the battery, toggle the switch on the outside of the case to turn it off.

Step 23: Wire it up

Picture of Wire it up
Now is time to plug everything into the Arduino.

Plug the black wire from the circuit board to the ground socket on the Arduino.

Plug the red wire from the relay coil into digital pin 12 socket on the Arduino.

Plug the red wire connected to the 10K resistor to analog pin 1 socket.

Plug the red wire connected to the soil probe into the +5V socket.

Step 24: Case closed

Picture of Case closed
24B.jpg
24C.jpg
Put the lid on top of the project enclosure and use the hardware that came with it to fasten it shut.

Step 25: Drill

Picture of Drill
25B.jpg
Drill a 3/8" hole in the top of the water container's lid.

Step 26: Tubing

Picture of Tubing
26B.jpg
Cut the tubing in half.

Plug a tube into each of the pump's connector valves.

Step 27: Probes

Picture of Probes
27B.jpg
Insert the probes into your plant's soil about an inch apart.

Step 28: Place tube

Picture of Place tube
Place the tube from the output of the water pump onto the top of the plant's soil bed.

Step 29: Insert tube

Picture of Insert tube
Fill your water container and insert the tube into the hole that you have previously drilled in the top.

Step 30: Turn it on

Picture of Turn it on
30B.jpg
Flick the switch to turn it on.

You should never have to water your plant again.

Now you just need to remember to refill the water reservoir.
1-40 of 137Next »
phenrique54 days ago

I can use a air pump instead?

jman98952 years ago
i do not understand where the third red wire comes from, one from the soil probe, one from the relay coil, and one black wire from the junction of the 10k resistor and the other 12 gauge wire (according to step 9 or 10, where does the additional red wire come from.
randofo (author)  jman98952 years ago
The soil moisture sensor involves a 10K resistor between pins A1 and ground, and a probe connected to pin A1. There is another probe/wire connected to +5V.

The other pair of red and black wires is connected to the relay coil.

Hello Randofo. I've bought all of the parts for this and have analyzed
the instructions quite thoroughly, but I'm still confused about the
wiring. As mentioned a couple times previously (and subsequently
addressed by you here), there are a pair of red and black wires attached
to the coil pins of the relay, which aren't discussed in the
instructions. That, however, is not my biggest issue. My issue is that
in steps 10 and 23, you say one thing, but the photos show
something different; the discrepancy at step ten isn't apparent until
you get to step 23, though.

In step 10, you say, "Attach 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." Now,
this seems rather straightforward, but once you get to step 23, the
picture shows a red wire attached to this joint instead of a black wire
(It's also very visible in the photo for Step 13). Furthermore, in step
23, there are two of the red wires in which you direct us to connect to
different pins on the Arduino than where the picture shows them
connected. This is in conjunction with the black wire being correctly
connected to the stated pin in the Arduino but soldered to a different
position on the board than what was directed in step 10.

With
respect to the red wires, The directions for where first red wire is to
be connected states, "Plug the red wire from the relay coil into digital
pin 12 socket on the Arduino"; however, this wire is clearly inserted
in the A1 pin on the Arduino. The instructions for the second red wire you direct us to connect states, "Plug the red wire connected to the 10K
resistor to analog pin 1 socket"; however, this wire inserted in the
Digital 12 pin. Also, note that this red wire is soldered to the board
at the location that you said to solder the black wire to in Step 10.

Now,
I don't know how much any of this matters and I certainly don't know if
I should trust the photos or what you have written. With respect to the
black wire, though, I'm pretty sure that we should trust the photo over your text. I assert this because I don't imagine that you have multiples of
this that you built and were writing about and since it obviously works
I'm going to trust what was built and photographed. Also, in this response you state, "The other pair of red and black
wires is connected to the relay coil."

The discrepancy in the red wires, though, is not so easily
analyzed. I'm not certain if you said one thing but did something
different in the final, working, system, or if you meant what you typed
and just accidentally had the red wires connected to the wrong pins on
the Arduino when you took the photo and corrected it in the working system.

I'm
sorry for posting such a long comment, but I wanted to be clear and
thorough. Will you please clarify these discrepancies for me? Thank you.

I also had this problem. The pictures clearly show the coil control wires but I never saw a step that told me to connect them. After reviewing multiple pictures and looking at the pin outs on the relay I figured out where they went. Its not just you.

Step 10 clearly shows the coil wires already attached where they are absent in step 9. Perhaps there should be a step 9.5 stating how long the wires should be and where to attach them.

coil control.png
noisybear8 days ago

Hello all. I've bought all of the parts for this and have analyzed the instructions quite thoroughly, but I'm still confused about the wiring. As mentioned a couple times previously (and subsequently addressed by Randofo), there are a pair of red and black wires attached to the coil pins of the relay, which aren't discussed in the instructions. That, however, is not my biggest issue. My issue is that in steps 10 and 23, Randofo says one thing, but the photos show something different; the discrepancy at step ten isn't apparent until you get to step 23, though.

In step 10, he says, "Attach 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." Now, this seems rather straightforward, but once you get to step 23, the picture shows a red wire attached to this joint instead of a black wire (It's also very visible in the photo for Step 13). Furthermore, in step 23, there are two of the red wires in which he directs us to connect to different pins on the Arduino than where the picture shows them connected. This is in conjunction with the black wire being correctly connected to the stated pin in the Arduino but soldered to a different position on the board than what was directed in step 10.

With respect to the red wires, The directions for where first red wire is to be connected states, "Plug the red wire from the relay coil into digital pin 12 socket on the Arduino"; however, this wire is clearly inserted in the A1 pin on the Arduino. The instructions for the second red wire he directs us to connect states, "Plug the red wire connected to the 10K resistor to analog pin 1 socket"; however, this wire inserted in the Digital 12 pin. Also, note that this red wire is soldered to the board at the location that he said to solder the black wire to in Step 10.

Now, I don't know how much any of this matters and I certainly don't know if I should trust the photos or what he has written. With respect to the black wire, though, I'm pretty sure that we should trust the photo over his text. I assert this because I don't imagine that he has multiple of these that he built and was writing about and since it obviously works I'm going to trust what was built and photographed. Also, in a comment Randofo posted 2 years ago, he states, "The other pair of red and black wires is connected to the relay coil."

The discrepancy in the red wires, though, is not so easily analyzed. I'm not certain if he said one thing but did something different in the final, working, system, or if he meant what he typed and just accidentally had the red wires connected to the wrong pins on the Arduino when he took the photo and he corrected it in the working system.

I'm sorry for posting such a long post, but I wanted to be clear and thorough. If you have any ideas regarding the discrepancies I pointed out, please share them with the rest of us. Thank you.

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

tiongson8 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

EmanuelP1 month ago

Im interested to do this project as my final project.

please send me information, programming details.

emanuelsp@unitec.edu

kampsjp315 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 kampsjp311 month ago

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

Hi!

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.

100_1485.JPG100_1486.JPG
mde flotte4 months ago

Hi,

Great stuff!

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

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

mde
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

Expendables1 month ago

can u plz mail me the source code as it is my final year project.my email id is alokj69@gmail.com

Survesh2 months ago
(removed by author or community request)

You should check out the forum! http://www.instructables.com/community/

Survesh2 months ago

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

Hello!

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.

Thanks!

@marlenjaramillo

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.

hye,sir

im electrical engneering student.

Im interested to do this project as my final project.

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

sankancu1724@gmail.com

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 Yildiz5 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...

http://www.instructables.com/id/USB-powered-LED-pl...

IMAG0348.jpgF09OVZOHU842FQX.jpg
dmoonen6 months ago

I can't seem to find the code?

cheshirecorn6 months ago

Thats exceptional...

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

Step ten says;
"Attach
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.

tommycai7 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

nodoubtman9 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!
marC:)

tiongson9 months ago

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

FD5SRJDH461WXGI.MEDIUM.jpg
tiongson9 months ago

is the probe is the sensor

Polymorph9 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.

regaltaxlaw10 months ago
I got all the parts today. Can't wait to start tomorrow! Thank you for the instructable!!!
1-40 of 137Next »