

The Capacitive Soil Moisture Sensor (Manufacturer Part ID: SEN0193/SEN0308) by DFRobot is a reliable and durable sensor designed to measure the volumetric water content in soil. Unlike resistive soil moisture sensors, this capacitive sensor detects changes in soil capacitance, making it less prone to corrosion and ensuring a longer lifespan. It provides an analog output that corresponds to the soil moisture level, making it ideal for a variety of applications.








Below are the key technical details for the Capacitive Soil Moisture Sensor:
| Parameter | Specification |
|---|---|
| Operating Voltage | 3.3V - 5.5V |
| Output Voltage Range | 0V - 3.0V (analog output) |
| Current Consumption | < 20mA |
| Interface Type | Analog |
| Measurement Range | 0% - 100% soil moisture |
| Dimensions | 98mm x 23mm |
| Cable Length | 200mm |
| Operating Temperature | -40°C to 85°C |
| Material | Corrosion-resistant PCB |
The sensor has a 3-pin interface, as described in the table below:
| Pin | Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (3.3V - 5.5V) |
| 2 | GND | Ground connection |
| 3 | AOUT | Analog output signal proportional to soil moisture |
VCC pin to a 3.3V or 5V power source and the GND pin to ground.AOUT pin to an analog input pin on your microcontroller (e.g., Arduino UNO).Below is an example of how to use the Capacitive Soil Moisture Sensor with an Arduino UNO:
// Capacitive Soil Moisture Sensor Example Code
// Manufacturer: DFRobot
// Part ID: SEN0193/SEN0308
// Define the analog pin connected to the sensor
const int sensorPin = A0; // Connect AOUT to A0 on Arduino
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
pinMode(sensorPin, INPUT); // Set the sensor pin as input
}
void loop() {
int sensorValue = analogRead(sensorPin); // Read the analog value from the sensor
// Map the sensor value to a percentage (0% - 100%)
int moisturePercent = map(sensorValue, 1023, 0, 0, 100);
// Print the raw sensor value and the calculated percentage
Serial.print("Raw Sensor Value: ");
Serial.print(sensorValue);
Serial.print(" | Soil Moisture: ");
Serial.print(moisturePercent);
Serial.println("%");
delay(1000); // Wait for 1 second before the next reading
}
map() function is used to convert the raw analog reading (0-1023) into a percentage (0%-100%). Adjust the mapping range based on your calibration.No Output or Incorrect Readings
VCC, GND, and AOUT are properly connected.Fluctuating or Noisy Readings
VCC and GND to stabilize the power supply.Sensor Not Responding
Inconsistent Moisture Readings
Q: Can this sensor be used outdoors?
A: Yes, but ensure the PCB and connections are protected from water and extreme weather conditions.
Q: How do I calibrate the sensor?
A: Measure the sensor's output voltage in dry soil and fully saturated soil. Use these values to map the sensor's output to a percentage scale.
Q: Can I use this sensor with a 3.3V microcontroller?
A: Yes, the sensor operates within a voltage range of 3.3V to 5.5V, making it compatible with 3.3V systems.
Q: What is the lifespan of this sensor?
A: The capacitive design ensures a longer lifespan compared to resistive sensors, as it is less prone to corrosion. Proper care and usage can further extend its life.
Q: Can I use multiple sensors in one project?
A: Yes, connect each sensor to a separate analog input pin on your microcontroller. Ensure the power supply can handle the total current consumption.