Welcome to Kerala Project Center.

IoT Plant Monitor

IoT Plant Monitor

Wireless soil and crop sensor node installed in a field

Image: CSIRO ScienceImage 3719 CSIROs Fleck wireless sensor network technology.jpg by Stephan Brosnan, CSIRO via Wikimedia Commons, CC BY 3.0

Houseplants and small farm crops are easy to under- or over-water without a way to check soil condition directly, and by the time visible wilting appears, damage is often already done.

This project uses a soil moisture sensor alongside light and temperature sensors to continuously track plant growing conditions, transmitting readings over Wi-Fi (ESP8266/ESP32) to a cloud dashboard so the grower can check conditions remotely and get an alert exactly when the plant needs watering, rather than guessing on a schedule.

How It Works

  • A capacitive or resistive soil moisture sensor reads how dry the soil is; an LDR or light sensor and a temperature sensor round out the environmental picture.
  • The Wi-Fi module (ESP8266/ESP32) pushes these readings to a cloud IoT platform (Blynk or ThingSpeak) at a set interval.
  • When soil moisture drops below a set threshold, the system pushes an alert to the grower's phone/dashboard rather than requiring a manual daily check.
  • Historical readings logged on the cloud platform let the grower see trends over days or weeks, not just the current moment.

Components



ESP8266 or ESP32
Capacitive soil moisture sensor
LDR or light sensor
DHT11/DHT22 temperature sensor
IoT platform (Blynk / ThingSpeak)
Battery pack or solar supply for outdoor use


Applications

  • Houseplant and indoor garden care
  • Small-scale precision agriculture monitoring
  • Greenhouse condition tracking

Advantages

  • Catches under-watering before visible wilting occurs
  • Remote monitoring means no need to be physically present to check plant health
  • Historical logging reveals watering patterns a single check can't show

Sample Code — Soil Moisture Threshold Alert



// Simplified soil moisture -> cloud alert - ESP8266/ESP32
#include 
int moisturePin = A0;
int dryThreshold = 400; // calibrate to sensor's dry-soil reading

void setup() {
  Serial.begin(9600);
  WiFi.begin("SSID", "PASSWORD");
}

void loop() {
  int moisture = analogRead(moisturePin);
  Serial.println(moisture);

  if (moisture > dryThreshold) {
    // pushToCloud("Soil is dry - water needed"); // Blynk/ThingSpeak call
    Serial.println("ALERT: soil dry, water needed");
  }
  delay(60000); // check every minute
}


Related Research


Hours

Monday - Saturday: 9:00 AM - 5:00 PM
Sunday: Not Working

Location

2nd Floor, Comptron Arcade, Kallattumukku,
Thiruvananthapuram, Kerala 695012

Book Now

+91 9633118080