Electronic – Output Units of Soil Moisture Sensor

raspberry pisensorunits

I have an Octopus Soil Moisture Sensor connected to a Rasberry Pi through an MCP3008 ADC chip. The sensor is working correctly, but I have no idea what the reading values mean.

I say its working correctly because when I place the sensor in known dry soil and take a reading, I get a 'dry' result. When placed in known wet soil, I get a 'wet' result. These delineations I was able to find in this datasheet.

However, that is the only datasheet I can find, and in the Specification section we are given this table:

Sensor Input / Output Specification

My ultimate goal is to turn on either a valve or pump when the moisture content in the soil drops below a certain percentage of either weight or volume (SI units of either grams / gram or inches / inch, which are the units mostly used in the industry). I have found scholarly articles which contain easy to use equations for converting between different units of measurement, including going from a dielectric constant measurement to % Moisture Content.

I believe the output value is either somehow related to the drop in voltage observed or an indirect measurement of resistance, but I cannot be sure. Without some kind of units I cannot perform any calculations to obtain the result in the units I desire. According to this, correct values of the dielectric constant should not be above ~80 or so for water.

I tried emailing the company I purchased the sensor from but without a response after 2 weeks.

The datasheet I linked above does state this:

This sensor uses the two probes to pass current through the soil, and then it reads that resistance to get the
moisture level

Can I take that as meaning that the output units the sensor is giving me is in Ohm meters? If so, I find it odd that the same document doesn't also list that as the units in the specifications. Does anyone here have any experience with this sensor, or know where I can find a datasheet that provides the units it is measuring in?

Best Answer

It's giving you units of "wetness", from 0 meaning "bone dry", and 950 meaning "sopping wet".

It's for an Arduino. It doesn't give you anything as technical as real units - just a rough scale between wet and dry. It's entirely up to you how you interpret that value.

It's about as accurate as sticking your finger in the soil to feel how wet it is.

You could divide the sampled value by 10 and use it as a percentage of sogginess.