Most low cost soil sensors are resistive style, where there's two prongs and the sensor measures the conductivity between the two. These work OK at first, but eventually start to oxidize because of the exposed metal. Even if they're gold plated! The resistivity measurement goes up and up, so you constantly have to re-calibrate your code. Also, resistive measurements don't always work in loose soil.
This design is superior with a capacitive measurement. Capacitive measurements use only one probe, don't have any exposed metal, and don't introduce any DC currents into your plants. Adafruit use the built in capacitive touch measurement system built into the ATSAMD10 chip, which will give you a reading ranging from about 200 (very dry) to 2000 (very wet). As a bonus, they also give you the ambient temperature from the internal temperature sensor on the microcontroller, it's not high precision, maybe good to + or - 2 degrees Celsius.
To make it so you can use the sensor with just about any microcontroller, we have an I2C interface. Connect a 4-pin JST-PH cable to your microcontroller or single board computer to 3-5V power, Ground, I2C SDA and I2C SCL and then run the Arduino or CircuitPython code to read the temperature and capacitive measurement. No soldering required!
Please note: This is just the sensor, you'll also need a JST 4-PH cable to go along for plugging it in! You can use Seeed Grove cables and boards to connect - the Grove cable is a little different looking but will fit just fine.
Check out the full guide for schematics, wiring, code and more!
TECHNICAL DETAILS
Revision History:
As of Jan 7, 2020 - Adafruit have tweaked the firmware to take more oversamples before returning a value. This gives a better range of values from soil moisture sensing.You may need to extend delays between reads.
Product Dimensions: 76.2mm x 14.0mm x 7.0mm / 3.0" x 0.6" x 0.3"
Product Weight: 4.0g / 0.1oz