Water level/Soil Moisture Sensor

Post any suggestions about sensors to be used with the DrDAQ here
Post Reply
Site Admin
Site Admin
Posts: 12
Joined: Tue Feb 08, 2011 4:04 pm

Water level/Soil Moisture Sensor

Post by Pete »

We found a soil moisture sensor from vegetronix http://www.vegetronix.com/Products/Soil ... obes.phtml and thought the DrDAQ would be perfect to interface this to. Since the output of the 'VG400-LV' sensor is 0-1.8V we were set to go pretty much straight into the DrDAQ's 0-2.5V range on the sensor sockets without too much work. On the DrDAQ there is a 100K pullup to 2V5 so output impedance of any 'voltage-output' sensor is important if we're going to get an accurate reading unfortunately the vegetonix sensor has 100K output impedance :(. So we got in contact with Vegetronix to see if this was going to be a problem (after all we can fix non linearity with a DrDAQ scaling file) but they said we should use a buffer, so we ordered a sensor and got to work.
Since we already know the sensor gives the right output voltage a simple voltage follower will do the job to lower the output impedance. To save a little time we found a Rail to Rail amplifier we had so we could go straight from the single 5V supply provided by the DrDAQ and constructed a schematic, see Schematic.Gif.
You could use stripboard and make a nice small board since it's only a few components but I thought it was time to break out the PCB router and make a 'lump' in the cable. We made the board, assembled and covered it with some heatshrink and a couple of cable ties (Piccies attached). To save the need for a crimping tool for 4/4 sockets we got an EL032 cable (http://www.drdaq.com/sensors.html) and cut it in half and stripped the cores back (we'll save the other half for another sensor!). We used a 10K resistor for autosense here ready for the DDS file.
So we had the hardware, now for the scaling file, there are some graphs provided by vegetronix for Voltage Vs volumetric water content and water level in a 2L bottle, http://www.vegetronix.com/Curves/VG400- ... rves.phtml, these would be easy to get into a DDS file. I grabbed a pint glass of water and plugged in the sensor, I measured the voltage at the 0mm level and the 90mm level and just put 2 values into the lookup table, DDS file attached. We put the DDS file in the Picoscope directory and restarted. I lowered the sensor in some steps, just lowering and stopping and created the attached Picoscope capture, looking good.

[The extension dds has been deactivated and can no longer be displayed.]

PicoScope Capture.jpg

User avatar
Posts: 0
Joined: Sat Oct 15, 2011 7:01 pm

Re: Water level/Soil Moisture Sensor

Post by M.Yasser »

Hi Pete,
How did you choose the values of the RC LPF (R1, C3)?
Is the capacitor C4 (100nF) necessary for the auto-scenes?

Site Admin
Site Admin
Posts: 12
Joined: Tue Feb 08, 2011 4:04 pm

Re: Water level/Soil Moisture Sensor

Post by Pete »

Can't remember why I was going so crazy with caps that day, I think it might have been something copied over from another schematic for a different sensor I made but you can never have enough caps! C4 isn't really necessary I'm not even sure it's fitted on that board. Again the LPF is probably just bits left over from previous that I didn't edit or remove, the resistor may well be intentional as a current limit incase of short (it's easy to make shorts to ground on full copper PCBs).

Posts: 1
Joined: Thu Dec 24, 2015 8:58 am

Re: Water level/Soil Moisture Sensor

Post by andisho »


I would like to use capacitive sensing for moisture and liquid level sensing myself.

Since you have here a small USB scope that is able to output and measure response in more than one frequency, I want to encourage you to look at a frequency sweep approach of capacitive sensing:
http://www.instructables.com/id/Touche- ... /?ALLSTEPS

Now to the sensor geometry and tricks to build one from simple wire:
(Since I want to use it quite wide-spread, it has to be cheap.)

The basics are to have a reference at the bottom (always in water), a linear part, can have several segments to increase precision for long lines e.g. in a cistern (rain water tank, e.g. want to measure 3m with +-1cm error, water level) and a reference at the top (not in water or soil).

For the rain water tank SINGLE wires (at least a pair) should just hang there, separated by insulated top spacers (in air), and perhaps a weight per wire at the bottom. By this you have parallel wires not touching each other, and no chance to have algae films bridging the gap. With parallel two-wire flat cable (ribbon conductor?) the insulation between the two wires would be surrounded by algae films, in time, degrading the read-out precision (till next clean-out of the tank;).
The ready-made sensors have the same problem, being one body, it is not solved or solvable for long-term applications there.
(Ideally, you put the wires in the tank, together with some controller or oicoscope ;) - and it can operate for years. Capacitive means: no corrosion, because conducting material is not exposed to the medium.

Additional water repellants:
To reduce the risk of water crawling inside the wire one can
- a) push the insulation some mm on the wire, then cut away the non-insulated wire that sticks out. Then pull back the coating, so at the end you have the insulation "pipe" without wire for some mm. Then you use 300°C hot air or a candle and melt the end, and press it flat with some flat tool (between magnets, e.g.). This has still the risk of letting water in though.
Other measures like polymer seal can additionally be used, but don't expect to much when you count in years. Water having a pointy head.
I use http://www.petec.de/index.php?id=641&L=1 (MS-Polymer based, hardens under water, sticks to damp surfaces, paintable ;)

- b) just don't let the wire end under water or in soil. Do a U bend at the bottom (where you attach the weight;).
Still the end has to be somewhere dry, so inside a water tank you have to triple seal anything anyway.

Cypress and atmel describe methods of capacitive sensing, cypress even mentioning methods of modifying the "sketch" for higher absolute values of the capacitance (than usually measured for touch applications). Essentially, you adjust the timers that measure charge pumping times, e.g.. One can easily expand the number of bits timers can capture by catching overflow with a second timer or interrupt, depending on your hardware. For their standard capsense you can adjust the sensitivity by manually adjusting parameters.
(They have programmable analog blocks on their programmable system on chip - demo-board (I bought some Cy8CKIT-049-42x PSOC4 prototyping Kits 4EUR each) and the appropriate software to read out capacitances. See
PSoC® 4 CapSense® Design Guide (download pdf by element14 or cypress)

Good basics are told with aspects of liquid level sensing in
http://cache.freescale.com/files/sensor ... MITYWP.pdf

The tricky thing is to measure capacitances against different reference electrodes to get a linear and e.g. dirt layer independent read-out.
The controller based capacitance sensors are made for "touch sensors" like sliders etc., measuring differences between finger there and no touch of 0,1 pF !
The wire will have a much higher capacity in total, and the tricky thing is to maintaining a relative sensitivity, i.e. resolution there.

Perhaps the approaches can be fuzed together and realized with DrDAC without too much effort, say perhaps some simple rail-to-rail fet opamp.

Have fun!


Post Reply