RGrandall,
I made my own soil moisture sensor that works great and is inexpensive to make. It measures the effect of the surrounding soil on the capacitance between two metal rings.
There are cheap sensors that measure conductivity and how-to's on making conductivity type moisture sensors on the internet. The conductivity is effected considerably by the amount of minerals in the water & soil in addition to the soil moisture, so it is not very accurate. Measuring capacitance works much better, and is how the Vernier soil moisture sensor works.
I used this circuit:
http://forums.adafruit.com/viewtopic.php?f=25&p=88077To make the sensor, I used a 14" sprinkler riser pipe, and put two rings of conductive 1/2" copper tape around the pipe near the bottom end. The rings are separated by about 2 millimeters.
I drilled a small hole between the two metal rings.
Then I soldered 24-30 gauge wire to the rings and fed it through the holes and out the bottom end of the pipe.
I covered the entire pipe except for the pipe threads with shrink tubing.
I made a small 555 timer circuit which goes inside the pipe and soldered the wires from the rings to the circuit. The rings are the capacitor being measured in
this circuit . I made a custom PCB for this, though originally I used an SMT breakout board with an SMT 555 IC:
http://www.adafruit.com/products/1212. Be sure to use a 555 timer that works at 3.3V.
Three wires run from the circuit up through the opening on the other end of the pipe, into a box containing a Moetino: 3.3V, Gnd and Signal.
I closed up the bottom of the pipe with a threaded end-cap.
I calibrated it using a Vernier soil moisture sensor ($95) as a reference. The manual for the Vernier sensor also has instructions on how to calibrate their sensor. These instructions could be used to calibrate any soil moisture sensor:
http://www.vernier.com/files/manuals/sms-bta.pdf.
It's been working great, and is in my garden now. The information from my sensor is published to a web-server, so I can view data from anywhere. The data goes to a Rapbery-Pi Gateway, and from there is sent to the web-server .