The Smartisant soil moisture sensor has been designed as a low-cost, wired sensor for extremely reliable measurement of soil moisture levels.
The sensor has 3 connecting wires:
Using a 5V dc supply, the sensor current draw is less than 4mA.
Interfacing the sensor to an Arduino is very simple using the 5V reference voltage and a 5V capable analogue input pin.
When used with an Arduino processor in this manner, the voltage measured at the output pin will be around 0.0V with the probes in free air and 3.6V in tap water. These equate to values from the analogRead() function of 0 to approximately 740. In practical terms the lower values are not part of a usable range and we would typically map the soil moisture as a percentage from 100 to 740 using code like this:
moisture_level = map(analogRead(A0), 100, 740, 0, 100);