Project tutorial
DIY Plant Moisture Sensor

DIY Plant Moisture Sensor © CC BY-NC-SA

This project will calculate the water content of soil around a plant by measuring the dielectric constant.

  • 10,763 views
  • 4 comments
  • 31 respects

Components and supplies

Apps and online services

About this project

DIY Plant Moisture Sensor

See this project on my website!

This project will calculate the water content of soil around a plant by measuring the dielectric constant (the soil's ability to transmit electricity) and will alert you with a red LED when the plant needs more water or a blue one when it has too much.

You will need to gather these things in order to build this project:

As an Amazon Associate I earn from qualifying purchases.

Step 1: Create Sensor Prongs

You will need to repeat this step twice (once for each prong):

  • Begin to tighten the nut around the bolt
  • Slide the end of the long jumper cable between the nut and the head of the bolt.
  • Keep tightening the nut until you are unable to pull out the jumper cable

Step 2: Create the Circuit

Follow the schematic or the breadboard image - whichever one works better for you. The wires labeled "out" are the two prongs you just created.

Step 3: Upload Code

Copy and paste this code into the Arduino IDE:

int moistPin = 0;
int moistVal = 0;
int tooDry = 150; //set low parameter for plant
int tooWet = 400; //set high parameter for plant
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  moistVal = analogRead(moistPin);
  Serial.println(moistVal);
  int percent = 2.718282 * 2.718282 * (.008985 * moistVal + 0.207762); //calculate percent for probes about 1 - 1.5 inches apart
  Serial.print(percent);
  Serial.println("% Moisture ");
  if (moistVal <= tooDry) {
    digitalWrite(4, HIGH); //Red LED
    digitalWrite(3, LOW);
    digitalWrite(2, LOW);
  }
  else if (moistVal >= tooWet) {
    digitalWrite(4, LOW);
    digitalWrite(3, HIGH); //Blue LED
    digitalWrite(2, LOW);
  }
  else {
    digitalWrite(4, LOW);
    digitalWrite(3, LOW);
    digitalWrite(2, HIGH); //Green LED
  }
  delay(250);
}

Step 4: Place Sensor Prongs

  • Insert the prongs you made about 1" to 1.5" apart in soil close to the plant you want to monitor.
  • Give the plant a healthy amount of water and open the serial monitor
  • It should give you readings around 25 - 30% if you gave it the right amount of water
  • If not, try moving the prongs around to get it right (or you just added too much water)

Further Notes:

If this is going outside you will want to put your circuit inside of a Tupperware or other waterproof container to protect it from the elements. Then drill some holes for the sensor wires to come through and add a battery box to power it. Mine is not going outside though, and will be fine without a container.

Code

Code snippet #1Plain text
int moistPin = 0;
int moistVal = 0;
int tooDry = 150; //set low parameter for plant
int tooWet = 400; //set high parameter for plant
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  moistVal = analogRead(moistPin);
  Serial.println(moistVal);
  int percent = 2.718282 * 2.718282 * (.008985 * moistVal + 0.207762); //calculate percent for probes about 1 - 1.5 inches apart
  Serial.print(percent);
  Serial.println("% Moisture ");
  if (moistVal <= tooDry) {
    digitalWrite(4, HIGH); //Red LED
    digitalWrite(3, LOW);
    digitalWrite(2, LOW);
  }
  else if (moistVal >= tooWet) {
    digitalWrite(4, LOW);
    digitalWrite(3, HIGH); //Blue LED
    digitalWrite(2, LOW);
  }
  else {
    digitalWrite(4, LOW);
    digitalWrite(3, LOW);
    digitalWrite(2, HIGH); //Green LED
  }
  delay(250);
}

Schematics

Schematic 1
Ft434ikixuqntbc large tg1wugsy30
Schematic 2
Fzt95s0ixuqu4xm large iqdvqleymy

Comments

Similar projects you might like

The Quantified Cactus: An Easy Plant Soil Moisture Sensor

Project tutorial by Jen Looper

  • 9,958 views
  • 2 comments
  • 29 respects

Soil Moisture Sensor With LCD Display

Project tutorial by Patel Darshil

  • 33,672 views
  • 8 comments
  • 51 respects

Moisture Monitor - Orchid & Plant IoT w/ Blynk

Project showcase by Mitch K

  • 4,420 views
  • 0 comments
  • 11 respects

Moisty v2 - a Plant Moisture Sensor

Project showcase by Mitch K

  • 2,367 views
  • 1 comment
  • 13 respects

Plant Monitoring System

Project showcase by Ryan Gill

  • 51,424 views
  • 35 comments
  • 162 respects
Add projectSign up / Login