Capacitive soil moisture sensor v1.2 with ESP32
Supply 3.3-5 V
Bus ANALOG
Measures soil moisture
Pins and ESP32 wiring
| Pin | Role | ESP32 pin | Notes |
|---|---|---|---|
| GND | Ground | GND | |
| VCC | Power | 3V3 | |
| AOUT | Analog output | D34 | Lower voltage means wetter soil. To an ADC pin (prefer ADC1: GPIO 32 to 39) |
Suggested wiring for the 30-pin ESP32 DevKit, avoiding flash, input-only and strapping pins. BoardPilot checks it for you as you wire.
Good to know
- The reading depends on your soil and supply voltage. Note the values in dry air and in water, and scale between them. (DFRobot SEN0193 capacitive soil moisture sensor wiki, Calibration)
Starter code (Arduino)
void setup() { Serial.begin(115200); }
void loop() {
int mv = analogReadMilliVolts(34); // AOUT on GPIO 34
Serial.println(mv);
delay(200);
}
Sources
- DFRobot SEN0193 capacitive soil moisture sensor wiki, Supply 3.3 to 5.5 V, analog output 0 to 3.0 V
Try it in 3D in BoardPilot
Capacitive soil moisture sensor v1.2 on other boards: wiring and code
Arduino Mega 2560 R3 Arduino Nano Arduino Uno R3 WeAct Black Pill STM32F411CE ESP32-C3-DevKitM-1 ESP32-S3-DevKitC-1 Nordic nRF52840 DK NUCLEO-F401RE Raspberry Pi Pico 2 Raspberry Pi Pico W Raspberry Pi Pico Teensy 4.1
Learn the basics
Lesson: ADC: reading the analog world ADC (analog-to-digital converter)
Related parts
4-20 mA to voltage converter module (HW-685)49E linear hall sensor (SS49E)ACS712 current sensor moduleACS723 current sensor moduleACS758 high-current sensor module (50-200 A)AD8232 ECG heart monitor
Part data: CC BY 4.0, free to reuse with credit to BoardPilot.