Soil Moisture Monitoring Project

Hi all, I am new to using Arduino and am having a few issues on a project I am working on. Essentially I need to monitor soil moisture contents at a fairly high degree of accuracy.

At the moment I have an Arduino UNO and a Vegetronix VH400 soil moisture probe (

I have been doing some tests to get my calibration curve as accurate as possible. Starting with dry soil, adding a few mL every half an hour and monitoring the values Arduino give me. I have gone thorough this process about 10 times, and have plotted all of the data points. In dry soil I get a value of around 175, and in saturated soil I get a value of about 630. When I put the sensor into a glass of water the value is also around 630.

It looks like the relationship between voltage and soil moisture content is approximately linear, however there is some variation. For example, with a soil/water mixture of 50%, I have received values ranging from 360 to 400. The range in results is similar if I use 5v or the 3.3 volts.

I am trying to find a way of using as much of the 0 - 1023 as possible (i.e.: achieving a value closer to 1023 when putting the sensor into water). I think this may allow me to obtain a more accurate calibration curve. Someone has mentioned that using a signal amplifier may help, I have done some reading but am still not sure if it going to help with what I need.

If anyone has any suggestions it would be very appreciated.

Watch out for temperature as well. I did a project like this once and didn't take temperature into account. Turns out I was flooding everything every night 'cause the temp was messing with the sensors.

Can't really help on the electrical bit though. I'm thinking it would just add more error to your system though.

-jim lee

look around at op-amp circuits

rail to rail or near rail to rail and single voltage.

even if you loose a little on the low and high end, it should be good.
a near rail to rail will be a fraction of the cost of a full rail to rail.

should be relatively easy to lay our and make.

Hi Guys - Thanks for your responses.

Temperature shouldn't be a big issue for this project as it is going to be run in an air conditioned room. About 25 deg C.

The curve I have gotten is very similar to the manufacturers curve, only I have a lot more data points. Same shape, but each trial has some slight variations in the y direction. I know I can't expect the data point to all fall perfectly on a line, however I think I should be able to reduce the spread of the data a little more.

The amplifier I have been looking at is this one:

I have found that using the 3.3v power, rather than the 5v, in dry soil I am starting at about 140. Planning on using the 3.3v power and then using this amplifier to hopefully get the final value closer to 1023. Are there any reasons why this might not work??