Project Overview
Arduino Nano soil moisture sensors comparison: This guide compares a capacitive soil moisture sensor versus a resistive fork sensor so you can choose the right probe and get stable readings that still work weeks later.
Two soil moisture sensors dominate maker kits: the classic resistive fork-style probe (two exposed metal prongs) and the modern capacitive probe (a single, sealed PCB). They both report “how wet is this soil?” but with completely different physics, and one of them corrodes in weeks while the other lasts years.
This guide explains how each sensor works, runs them side-by-side in three test pots (dry, damp, soaked), and shows exactly why serious plant projects use the capacitive version.
- Time: 20 to 40 minutes
- Skill level: Beginner
- What you will build: A simple bench setup to compare resistive vs capacitive probes and learn how to wire and calibrate either sensor.
Parts List
From ShillehTek
- Capacitive Soil Moisture Sensor V1.2 - the sealed probe that avoids corrosion for long-term soil monitoring.
- Arduino Nano V3.0 - reads the analog output (AOUT) for quick testing and calibration.
- ESP32 WROOM Dev Board - optional if you want wireless logging of moisture readings.
- 1-Channel 5V Relay - optional if you want to switch a pump or valve from your readings.
- TCA9548A multiplexer - optional for I2C sensor variants when scaling to multiple probes.
External
- A resistive YL-69 / FC-28 fork sensor (commonly found in low-cost kits).
- Three small pots: bone-dry soil, damp soil, soaked soil.
- A multimeter for verifying corrosion progress.
- Jumper wires and a breadboard (recommended for quick bench wiring).
Note: Capacitive sensors often prefer 3.3 V for best behavior; many will still function at 5 V depending on the board revision. Resistive sensors typically accept either.
Step-by-Step Guide
Step 1 - Understand how resistive sensors work (and why they corrode)
Goal: Learn what a resistive soil probe actually measures and why its readings drift over time.
What to do: Look at the resistive fork probe and note the two exposed metal prongs. The probe passes a small DC current between the prongs. Wet soil has lower resistance; dry soil has higher. Your Arduino reads the voltage on a divider and converts it to a moisture value.
Expected result: You should understand that resistive probes measure conductivity and that DC current in wet soil drives electrolysis, which corrodes the metal and shifts readings.
Step 2 - Understand how capacitive sensors work (and why they do not corrode)
Goal: Understand why capacitive probes are better suited for long-term projects.
What to do: Review the construction of the capacitive probe. It is a single PCB with a copper trace pattern, coated in a dielectric film. The PCB acts as one plate of a capacitor; the surrounding soil acts as the dielectric. Wet soil has a higher dielectric constant than dry soil, so capacitance changes.
An onboard 555 oscillator converts that capacitance to a frequency, which is filtered to produce a clean analog voltage.
Expected result: You should understand that no metal touches the soil and no DC current passes through it, which is why capacitive probes can last years in wet earth.
Step 3 - Wire either sensor to the Arduino Nano (same pinout)
Goal: Make a basic analog read setup that works for both resistive and capacitive probes.
What to do: Connect VCC, GND, and AOUT from the sensor to the Arduino Nano as shown below.
Code:
Sensor Arduino Nano
VCC -> 3.3V or 5V (capacitive prefers 3.3V; resistive accepts either)
GND -> GND
AOUT -> A0
Expected result: With the probe powered and AOUT connected to A0, you are ready to take readings in different soils and compare stability over time.
Step 4 - Compare day 1 readings across dry, damp, and soaked soil
Goal: Confirm both sensors produce reasonable values on day 1.
What to do: Place each probe into the three test pots (dry, damp, soaked) and record the raw ADC readings.
Expected result: On day 1, both sensors should respond sensibly, for example:
- Dry pot: resistive ~880, capacitive ~640
- Damp pot: resistive ~520, capacitive ~430
- Soaked pot: resistive ~280, capacitive ~290
Step 5 - Re-check at day 30 to see corrosion drift (resistive) vs stability (capacitive)
Goal: See why resistive probes fail in real projects.
What to do: After extended time in soil, compare readings again. The capacitive sensor should read almost identically (around 10 ADC units of drift in the example). The resistive sensor often shifts upward by 100+ units as the prongs corrode and total resistance increases.
Expected result: The same wet soil can read “drier” than it did at day 1 on a resistive probe due to corrosion-driven drift.
Step 6 - Understand salinity drift (the other resistive failure mode)
Goal: Learn why fertilizer can break resistive calibration.
What to do: Note that resistive sensors do not directly measure water content. They measure ionic conductivity. Adding fertilizer (salts) increases conductivity, which can make the same soil read “wetter” than before.
Expected result: You should understand why a single resistive calibration often does not hold across a season, while capacitive probes are much less sensitive because they measure dielectric changes dominated by water content.
Step 7 - Consider power consumption and power gating
Goal: Plan for battery-powered builds.
What to do: Compare typical current draw and decide whether to power-gate the sensor.
- Resistive: ~3 mA continuous (the divider keeps drawing current even when you are not reading).
- Capacitive: ~5 mA continuous, but the V1.2 board has a power-down approach: tie VCC to a digital pin instead of always-on 3.3 V, then only power it during a read.
Expected result: For battery-powered builds, both can drop below 50 µA average with power gating.
Step 8 - Calibrate using a simple 2-point method
Goal: Turn raw ADC readings into a useful percentage for your soil and probe placement.
What to do: Follow the same two calibration points for either sensor:
- Hold the probe in air. Record the ADC reading, your “dry max.”
- Submerge the sensing area in water. Record the reading, your “wet min.”
Code:
moisture% = map(reading, wet_min, dry_max, 100, 0)
Expected result: For resistive sensors you should re-calibrate monthly (corrosion shifts the curve). For capacitive sensors, once is typically enough for the season.
Step 9 - Pick the right sensor for your project
Goal: Decide what to use based on durability, environment, and measurement accuracy.
What to do: Use these recommendations:
- Houseplant monitor that needs to last a year - capacitive.
- Quick classroom demo - either; resistive is cheaper.
- Outdoor garden or greenhouse - capacitive; resistive can become unreadable in weeks.
- Hydroponics - neither; use an EC sensor instead.
- Multiple plants on the same Arduino - capacitive, and use a TCA9548A multiplexer if you go with the I2C variants.
Expected result: You should be able to choose a sensor type that matches the project timeline and environment without surprise drift.
Conclusion
Resistive soil moisture sensors are a poor fit for any project that must keep working over time because corrosion and salinity changes can shift readings dramatically. Capacitive probes avoid metal-to-soil contact, stay stable, and use the same simple analog wiring and calibration approach.
Want the exact parts used in this guide? Grab them from ShillehTek.com. If you want help customizing a plant monitoring system (logging, pump control, enclosures, or production-ready design), check out our IoT consulting services.
Further reading that inspired this comparison: Comparison of Capacitive Soil Probes and Capacitive Soil Moisture Sensor Basics.


