

The Arduino Soil Moisture Sensor (Part ID: UNO R3) is a device designed to measure the volumetric water content in soil. It provides an analog or digital output that reflects the moisture level, making it an essential tool for applications such as irrigation management, environmental monitoring, and smart gardening systems. By integrating this sensor into your projects, you can automate watering systems, monitor soil conditions, and optimize plant health.








The Arduino Soil Moisture Sensor is a simple yet effective tool for detecting soil moisture. Below are its key technical details:
| Parameter | Specification |
|---|---|
| Operating Voltage | 3.3V - 5V |
| Output Type | Analog and Digital |
| Current Consumption | < 20 mA |
| Soil Moisture Range | 0% (dry) to 100% (wet) |
| Dimensions | 60mm x 20mm x 5mm (approx.) |
| Interface Type | 3-pin (VCC, GND, Signal) |
| Pin Name | Description |
|---|---|
| VCC | Power supply pin. Connect to 3.3V or 5V from the Arduino UNO R3. |
| GND | Ground pin. Connect to the ground of the Arduino UNO R3. |
| Signal | Output pin. Provides analog or digital signal based on soil moisture level. |
Wiring the Sensor:
Powering the Sensor:
Reading the Output:
Below is an example code snippet to read soil moisture levels using the Arduino UNO R3:
// Define the analog pin connected to the sensor's Signal pin
const int soilMoisturePin = A0;
// Variable to store the sensor reading
int soilMoistureValue;
void setup() {
// Initialize serial communication for debugging
Serial.begin(9600);
}
void loop() {
// Read the analog value from the soil moisture sensor
soilMoistureValue = analogRead(soilMoisturePin);
// Map the sensor value to a percentage (0% to 100%)
int moisturePercentage = map(soilMoistureValue, 0, 1023, 0, 100);
// Print the moisture percentage to the Serial Monitor
Serial.print("Soil Moisture: ");
Serial.print(moisturePercentage);
Serial.println("%");
// Add a delay to avoid flooding the Serial Monitor
delay(1000);
}
No Output or Incorrect Readings:
Fluctuating Readings:
Corroded Probes:
Sensor Not Responding:
Q1: Can this sensor be used in outdoor environments?
A1: Yes, but it is recommended to protect the sensor from prolonged exposure to water and extreme weather conditions.
Q2: How do I calibrate the sensor?
A2: Measure the sensor output in dry soil and fully saturated soil, then map the readings to a percentage scale in your code.
Q3: Can I use multiple sensors with one Arduino UNO R3?
A3: Yes, connect each sensor to a separate analog input pin and read their values individually in your code.
Q4: What is the lifespan of the sensor?
A4: The lifespan depends on usage and environmental conditions. Proper care, such as avoiding continuous exposure to moisture, can extend its life.