Capacitive Soil Moisture Sensor Probe – Arduino ESP32 Plants Garden

Capacitive Soil Moisture Sensor – Analog Humidity Probe for Plants, Arduino & ESP32

A corrosion-resistant capacitive soil moisture sensor for long-term plant monitoring. Ideal for Arduino, ESP32, ESP8266, Raspberry Pi + ESPHome/Home Assistant. Stable analog output unaffected by soil electrolytes — MUCH better than metal/“Y-type” probes.

Condition: New Interface: Analog (AOUT) Power: 3.3–5V Ideal for Plants & Irrigation

What’s Included

Specifications

Sensor TypeCapacitive Moisture Probe (non-corrosive)
OutputAnalog voltage (0–VCC)
Voltage3.3–5V
Interface PinsVCC, GND, AOUT
TechnologyDielectric soil measurement (resistive-free)
Microcontroller SupportArduino, ESP32, ESP8266, Raspberry Pi
ConditionNew

Wiring (Quick Reference)

For ESP32 (recommended ADC pins: GPIO 32 / 33 / 34 / 35):

For Arduino Uno/Nano:

Tip: Read the sensor only every few seconds. No corrosion or electrolysis occurs (unlike resistive probes), but reading too fast adds noise.

Possible Uses

ESPHome Example (ESP32) — Converts Moisture to %

Click to expand — ESPHome YAML (paste into ESPHome)
# ESPHome YAML — Capacitive soil moisture sensor on ESP32

esphome:
  name: soil_sensor_1
  platform: ESP32
  board: esp32dev

wifi:
  ssid: "YOUR_SSID"
  password: "YOUR_PASSWORD"

logger:
api:
ota:

sensor:
  - platform: adc
    pin: 32
    name: "Soil Moisture Raw"
    id: soil_raw
    update_interval: 5s
    attenuation: auto
    filters:
      - sliding_window_moving_average:
          window_size: 5
          send_every: 1

  # Convert raw voltage to % moisture (simple linear)
  - platform: template
    name: "Soil Moisture %"
    unit_of_measurement: "%"
    lambda: |-
      float v = id(soil_raw).state;
      float wet  = 1.10;   // voltage when fully wet - CALIBRATE
      float dry  = 2.60;   // voltage when dry - CALIBRATE
      float pct = (dry - v) / (dry - wet) * 100.0;
      if (pct < 0) pct = 0;
      if (pct > 100) pct = 100;
      return pct;
    update_interval: 5s

Arduino Example (Uno / Nano / ESP32)

Click to expand — Arduino Sketch
// Arduino / ESP32 moisture sensor example
// AOUT -> A0 (Arduino) or ADC32 (ESP32)

int sensorPin = A0;        // change to 32 for ESP32
float wet  = 350.0;        // ADC value when wet (CALIBRATE)
float dry  = 1700.0;       // ADC value when dry (CALIBRATE)

void setup() {
  Serial.begin(115200);
}

void loop() {
  int raw = analogRead(sensorPin);
  float pct = (raw - dry) * 100.0 / (wet - dry);
  pct = constrain(pct, 0, 100);

  Serial.print("Raw: ");
  Serial.print(raw);
  Serial.print("  Moisture: ");
  Serial.print(pct);
  Serial.println("%");

  delay(2000);
}

Item Specifics

BrandUnbranded / Generic
ModelCapacitive V1.2 Soil Moisture Probe
MPNDoes Not Apply
TypeSoil Moisture Sensor
Operating Voltage3.3V – 5V
OutputAnalog Voltage
TechnologyCapacitive (non-corrosive)
Compatible WithArduino, ESP32, ESP8266, Raspberry Pi
ConditionNew
Country/Region of ManufactureChina

Shipping & Returns

Ships from UK. International available via eBay GSP. 30-day returns accepted.