Picture of Garduino-Automated Gardening System
This instructable is a guide for setting up an automated gardening system using an arduino and other cheap electronic parts.  It allows sustainable gardening by using sensors to determine soil moisture, as well as a webscraper to determine future weather.  It uses this information to save water by only using the requisite amount.   Requirements for this project include experience soldering, some basic programming experience, and much patience for debugging.

See video for example of why we need this.

Step 1: Build-Moisture Sensors

Picture of Build-Moisture Sensors
The moisture sensors rely on the resistivity of water to determine the moisture level of the soil.  The sensors measure the resistance between two separate nails by sending a current through one of them and reading a corresponding voltage drop due to a known resistor value.  The more water the lower the resistance, and using this we can determine threshold values for moisture content.
We will use three such sensors and use a multiplexor to alternate reading between them without using more than one arduino analog port.
While we will include a circuit board diagram, we recommend building the circuits on a breadboard first which will allow for both understanding and debugging. 
Each sensor uses two nails, a 100 ohm resistor, and a 100 K-ohm resistor.  We built a casing for each sensor with acrylic tubes, however this is not necessary.
JamesB46 months ago

Great read!! there are other ways that this can be accomplished also.. FYI the device that is being created is similar to an RTD.. one thing that should probably be touched down on... is if you are running your wires any distance, in order to get correct signal response, be sure to shield your wires and run them in pairs AND ground at one and only one place. Noise can develop from many different devices that you have in your home, this would cause in accurate readings. If making the circuit from scratch.. use a wheatstone bridge that has your variable resistor as your moisture sensor and an op-amp for signal conditioning. All you have do to is step your op amp gain in one direction or the other. I recommend 1-5 volts = 0-100% resistance change. Now that you have a upper and lower range signals.. you can now program your arduino to respond to the serial data input by using C programming

blauerhund8 months ago

Big THX 4 sharing.

Is the Nail really necessary? Why can't the copper cord just be used as the sensor.

indiaritu11 months ago

beautiful and relax with eyes .

crackopl1 year ago

looks nice - needs some improvements like one mentioned by diy_bloke (pump running dry + delay 24hrs). overall - well done :)

see my version for big garden: http://www.instructables.com/id/Watering-Garden-with-GARD-A-WATER-Arduino-Project/

aj339601 year ago

Your project is really cool. What versions of python, serial, beautifulsoup and urllib2 did you use.

aj339601 year ago

Your project is really cool. What versions of python, serial, beautifulsoup and urllib2 did you use.

shemul30912 years ago
waw! so cool ! :D
diy_bloke3 years ago
Upon rereading my earlier comments, I realized that maybe my tone as a far as one can detect one in writing, maybe came across with a harshness that I did not intend at all.

I am not critical of yr project, not at all, I think it is great, but I just had a couple of questions that hopefully cld help me understand and or learn from
diy_bloke3 years ago
Why would you want the delay of 24 hours? In the video you say it is because it has been watered already so it does not need watering for another day. But then what is the sense of the probes??

If yr probes would indicate that the soil is dry after half a day, yr system just ignores that (as I understand) wouldn't it be easier then to just open yr tap once a day and say 'done' and use the arduino for something completely different?

Wouldn't it be more logical to let yr program always react to the readings of the probes.
1 if dry give water, if dry within 24 hrs again, water again
diy_bloke3 years ago
just a question. It is indeed smart not to leave yr pump run dry, but if you have a continous waterflow to the tank, then why use a pum at all. Wouldn't it be simpler then to just use an electric valve to open and close the mains water supply?

Also, I use galvanized material for my spikes and that works great.

Your sensors look fantastic, but it seems a bit overkill to use length of acrylic tube, just to attach 2 nails to. Might as well just put them on the bottom of a bamboo stick with tie wrap, or am i missing a point here? Is there any added value in using the acrylic tubes
Truly remarkable!
thank you for posting! i will try something similar this summer
JSWheeler3 years ago
This is awesome! I actually had a project in one of my engineering classes that asked for something just like this. Good job!