arduino project soil moisture sensor schematic

Simple Soil Moisture Sensor – Arduino Project

This is a simple arduino project for a soil moisture sensor that will light up a LED at a certain moisture level. It uses Arduino Duemilanove microcontroller board. Two wires placed in the soil pot form a variable resistor, whose resistance varies depending on soil moisture. This variable resistor is connected in a voltage divider configuration, and Arduino collects a voltage proportional to resistance between the 2 wires.

Insert the 2 probes (wires, pcb) in the dry soil and measure the resistance value and then pour water and measure it again.
Use a mid value for the resistor (eg: 50kΩ for 100kΩ in dry soil and 10kΩ in wet).

Related Products: Sensors | Specialized Sensor

The other method to find the resistor’s value is to try different values or use a potentiometer. Insert the probes into the soil that has the desired moisture when to light up the LED and signal that the plant needs water.

Adjust the potentiometer and see the point at which it starts to light. Measure the potentiomenter current value and replace it with a fixed resistor.

Arduino soil moisture sensor schematic

arduino project soil moisture sensor schematic

Project source code

const int VAL_PROBE = 0; // Analog pin 0
const int MOISTURE_LEVEL = 250; // the value after the LED goes ON
void setup() {
void LedState(int state) {
    digitalWrite(13, state);
void loop() {
    int moisture = analogRead(VAL_PROBE);
    if(moisture > MOISTURE_LEVEL) {
    } else   {

Source (romanian):


Join the conversation!

Error! Please fill all fields.
Looking for the latest from TI?