Best Soil Moisture Sensors for Arduino, ESP32 & Embedded Projects
7 sensors ranked for makers, students and engineers — from a budget resistive beginner module to a corrosion-proof capacitive 10-pack — with real specs, honest verdicts, and direct Amazon links.
A soil moisture sensor is one of the most useful additions to any embedded project involving plants, agriculture, or smart irrigation. Whether you’re building an automated plant watering system with an ESP32, a smart garden monitor with Arduino, or a multi-zone field data-logger on a Raspberry Pi, the right sensor gives you reliable, real-time readings of water content — the single most important variable for plant health and irrigation efficiency.
The tricky part is choosing wisely. Sensors range from cheap resistive modules with dual digital/analog output (great for first experiments but prone to corrosion) to long-lived capacitive sensors with industrial-grade TLC555I or TL555 timer chips, Gravity 3-pin interfaces, and 3.3–5.5 V wide-voltage support that works directly with ESP32, ESP8266, STM32, and Pico without level-shifting. This guide ranks 7 soil moisture sensors across every use-case and budget on the specs that actually matter for embedded and IoT work.
Capacitive sensors are far superior to resistive ones for permanent installations — but quality varies wildly between clones. The probe PCB is corrosion-resistant, but the top electronics section is not waterproof — seal it with conformal coating, clear nail polish, or hot glue for outdoor use. Calibration is mandatory: every sensor and every soil type produces different dry/wet ADC reference voltages, so measure both extremes and map linearly in code. For battery-powered IoT nodes, switch sensor VCC through a GPIO or transistor and power it only during a measurement — most sensors stabilise in under 1 second, so this can cut average current draw by 99%. And never assume readings are interchangeable between batches without re-calibrating.
Quick Comparison — All 7 Soil Moisture Sensors
| Sensor | Type | Voltage | Output | Pack | Best For | Buy |
|---|---|---|---|---|---|---|
| Gikfun EK1940 | Capacitive | 3.3–5.5V | Analog | 2 pcs | Best Overall | Buy Here → |
| Songhe TL555 5-Pack | Capacitive | 3.3–5.5V | Analog | 5 pcs | Best Value Pack | Buy Here → |
| DIYables TLC555I | Capacitive | 3.3–5.5V | Analog | 2 pcs | Best for Beginners | Buy Here → |
| AITRIP 10-Pack | Capacitive | 3.3–5.5V | Analog | 10 pcs | Best Bulk Buy | Buy Here → |
| HiLetgo LM393 | Resistive | 3.3–5V | Digital + Analog | 5 pcs | Best Budget | Buy Here → |
| HiLetgo Capacitive | Capacitive | 3.3–5.5V | Analog | 5 pcs | Best Plug-and-Play | Buy Here → |
| KeeYees 3-Pack | Capacitive | 3.3–5.5V | Analog | 3 pcs | Best High Sensitivity | Buy Here → |
Prices change frequently — always tap through and confirm the live price on Amazon before buying. No prices are listed here intentionally.
What to Look for in a Soil Moisture Sensor
Capacitive sensors measure dielectric permittivity — no current flows through the soil, so there’s no electrolysis and no corroding probes. Resistive sensors are cheaper but degrade within weeks in moist soil. Always choose capacitive for any permanent installation.
The TLC555I (industrial) and TL555 chips operate correctly from 3V–5.5V. The cheap NE555 is only rated to 4.5V — at 3.3V it behaves unpredictably. For ESP32, ESP8266, or Pico projects, always verify you’re getting a TLC555 or TL555 sensor.
Analog output (0–3V) gives a continuous moisture reading via ADC — ideal for precision monitoring and data logging. Digital output gives a simple dry/wet threshold — easier to code but loses resolution. Most capacitive sensors are analog-only.
Modern capacitive sensors with an onboard regulator support 3.3–5.5V, meaning they work directly with ESP32/ESP8266 at 3.3V or Arduino at 5V without level-shifting. Always confirm this before buying if you’re on a 3.3V board.
The probe PCB itself is corrosion-resistant, but the top electronics section is exposed. For outdoor or long-term deployments, apply conformal coating or clear nail polish to the electronics area. Budget extra time for weatherproofing when planning your project.
Detailed Reviews — All 7 Soil Moisture Sensors
How to Choose the Right Soil Moisture Sensor
Get the Gikfun EK1940 — proven, capacitive, and Gravity-compatible. Add one sensor per plant, wire VCC through a GPIO, and read ADC in your ESP32 or Arduino loop.
The Songhe TL555 5-pack or AITRIP 10-pack gives you the best cost per sensor. The TL555/TL555C chip handles 3.3 V boards reliably across all units.
Start with the HiLetgo LM393 resistive modules — cheapest way to understand analog ADC reading and threshold control. Upgrade to capacitive once you’ve got the code working.
Pick the DIYables TLC555I — the industrial-grade chip is explicitly rated to 3V minimum, giving you the cleanest readings on low-voltage MCUs without unpredictable behaviour.
The HiLetgo Capacitive 5-pack comes with cable wire attached — a small but genuinely useful detail when routing sensors inside enclosures or through pots.
The KeeYees 3-pack is marketed on high sensitivity — a wider ADC swing between dry and wet extremes gives better fine-grained moisture discrimination for precision research or data-logging projects.
Key Specs Compared — Side by Side
| Spec | Gikfun EK1940 | Songhe TL555 | DIYables TLC555I | AITRIP 10-Pack | HiLetgo LM393 |
|---|---|---|---|---|---|
| Sensor Type | Capacitive ✓ | Capacitive ✓ | Capacitive ✓ | Capacitive ✓ | Resistive |
| Timer Chip | 555-based | TL555 | TLC555I ✓ | TL555C | LM393 |
| Voltage Range | 3.3–5.5V | 3.3–5.5V | 3.3–5.5V | 3.3–5.5V | 3.3–5V |
| Output | Analog 0–3V | Analog 0–3V | Analog | Analog 0–3V | Digital + Analog |
| Interface | PH2.54-3P | PH2.54MM | 3-Pin | PH2.54-3P | 3-Pin + DO |
| Pack Size | 2 pcs | 5 pcs | 2 pcs | 10 pcs ✓ | 5 pcs |
| Corrosion Resistance | ✓ Yes | ✓ Yes | ✓ Yes | ✓ Yes | ✗ Corrodes |
| Board Size | 98×23mm | ~98×23mm | ~98×23mm | 98×23mm | ~76×30mm |
Specs sourced from Amazon listings and manufacturer data. Always verify on the live Amazon listing before purchasing.
Frequently Asked Questions
A resistive sensor passes a small current between two metal prongs through the soil and measures conductivity. It works initially but the prongs corrode through electrolysis within weeks in moist soil, causing readings to drift upward permanently. A capacitive sensor measures the dielectric permittivity of the soil around a PCB probe — no current flows through the soil, so there’s no electrolysis and no corrosion. For any project intended to last more than a few weeks, always use capacitive. Resistive sensors are only appropriate for short-term prototyping and learning.
Most capacitive soil moisture sensors use a 555-family timer chip to generate the capacitive measurement signal. The classic NE555 is specified to operate from 4.5V to 15V — at 3.3V it is out of spec and can produce erratic, unstable readings. The TL555 and TLC555I variants are specified down to 3V (TLC555I is the industrial version, rated to 2.7V). If you’re using an ESP32, ESP8266, STM32 or Raspberry Pi Pico — all of which run at 3.3V — you need a sensor built around a TL555, TLC555, or TLC555I chip. Look for it explicitly in the product description before buying.
Calibration is mandatory — don’t skip it. Insert the sensor into completely dry soil (or hold it in open air) and read the ADC value: this is your “dry” reference, typically ~2.8–3V analog output (higher ADC value). Then saturate the same soil with water until it cannot absorb more, insert the sensor, and read the ADC again: this is your “wet” reference, typically ~1–1.5V analog output (lower ADC value). Map these two endpoints to 0% and 100% in your firmware using a linear formula. Note: different soil types, compaction levels, and temperatures will shift these values, so calibrate in the actual deployment soil. Temperature compensation may be needed for outdoor seasonal deployments.
Yes, for the current draw. These sensors draw only 5–10 mA when active — well within what a GPIO or VCC rail can supply for a single sensor. However, for battery-powered IoT devices, you should switch sensor power via a GPIO pin and a small transistor or MOSFET so the sensor only draws current during a measurement (usually less than 1 second). This can reduce average sensor current from ~7mA continuous to under 0.1mA, dramatically extending battery life. For mains-powered or USB projects, always-on power is fine. Also note: on ESP32, ADC2 pins are disabled when Wi-Fi is active — use ADC1 pins (GPIO32–39) to read moisture sensors while Wi-Fi is running.
The probe section of a capacitive sensor is PCB-based and inherently corrosion-resistant. The risk area is the top of the board where the timer chip, regulator, and connector sit. The most common approaches are: (1) brush two coats of conformal coating (acrylic or silicone type) over the electronics and let it fully cure; (2) apply clear nail polish or liquid electrical tape; (3) pot the electronics section in a small 3D-printed cap filled with silicone sealant or two-part epoxy, leaving the probe exposed. The connector area is the hardest to seal — use heat-shrink tubing and silicone sealant around the cable entry point. A fully weather-sealed setup can survive months outdoors without degradation.
Final Verdict — Best Soil Moisture Sensor for Every Project
The right sensor for every use-case and budget:
For most embedded and IoT builds, the Gikfun EK1940 is the one to start with — a proven capacitive sensor with a wide user base, endless Arduino and ESP32 tutorials on microcontrollerslab.com, and a 3.3–5.5V operating range that covers almost every modern MCU. If you need more sensors in one order, the Songhe TL555 5-pack or AITRIP 10-pack are the best value choices. For ESP32 and 3.3V MCU projects where chip quality really matters, the DIYables TLC555I is the most reliable option. New to sensing altogether? Start with the cheap HiLetgo LM393 resistive kit to learn the concepts, then upgrade to capacitive for any permanent installation.
Have a question about which sensor fits your project — a greenhouse controller, a self-watering pot, a field data logger, or an ESPHome home-automation node? Drop it in the comments below and we’ll help you choose. All Amazon links above use our affiliate tag (microlab05-20). Purchasing through them supports microcontrollerslab.com at no extra cost to you.






