Home/ Kits/ Smart Plant Monitor & Alert Kit - ESP32 Soil Moisture, Water Le…
Kit Beginner 45-60 min 7 parts 5 projects 7-step build guide

Smart Plant Monitor & Alert Kit - ESP32 Soil Moisture, Water Level & BME280

AED 69.99 3 built and ready to ship
Smart Plant Monitor & Alert Kit - ESP32 Soil Moisture, Water Level & BME280
KIT-5 · ESP32

Build an ESP32 plant monitoring project that reads soil moisture, checks water level, measures room temperature and humidity with BME280, and sounds a buzzer alert when the plant needs attention.

Difficulty
Beginner
Build time
45-60 min
Parts included
7 components
Build guide
7 steps

Included parts (7)

7 parts packed in this kit
controller 1 part
sensor 3 parts
Water Level Sensor Module for Arduino, 3V–5V Liquid Level Detection Board, Analog Output Water Leak/Level Det… DIY-025
×1
Included
BME280 Temperature Humidity Pressure Sensor Module, Digital Barometric Sensor with I2C/SPI Interface, 1.8V–3.… DIY-018
×1
Included
actuator 1 part
wiring 2 parts
400 Tie Point Solderless Breadboard - Half Size Prototyping Circuit Board with Power Rails, for Arduino & Ele… DIY-238
×1
Included
Jumper Wire Assorted Pack 120 Pieces - Male-to-Male, Male-to-Female, Female-to-Female 10cm Ribbon Cables for… DIY-212
×1
Included
Substitutions
Need a part swapped?
Any component here can be substituted — a different board, a larger breadboard, extra sensors for a classroom set.
Ask for a variant

ESP32 plant monitor wiring overview

What connects to what, by role. Pin-level detail is in the build steps below.

ESP32 Main board
controller ESP32U Development Board, WiFi Bl…
sensor Capacitive Soil Moisture Sensor M… Water Level Sensor Module for Ard… BME280 Temperature Humidity Press…
actuator Active Buzzer Module 5V DC, Plug-…
wiring 400 Tie Point Solderless Breadboa… Jumper Wire Assorted Pack 120 Pie…

ESP32 reads the capacitive soil sensor on GPIO34, the water level sensor on GPIO35, and the BME280 over I2C using GPIO21 SDA and GPIO22 SCL. The active buzzer connects to GPIO23 for dry-soil or low-water alerts. Keep all sensor signals at 3.3V-safe levels.

5 projects in this kit

Every one is built from the parts in the box, plus the basics listed under You'll also need.

Build steps (7)

Tick steps off as you go — your place is kept on this device.

0 / 7
These steps come from the build reference recorded for this kit. The firmware is in the Code section below.

Code

The sketch we ship with this kit. Copy it, or ask us for the version matched to your board.

1
73
arduino
Smart plant monitor starter sketch (smart_plant_monitor.ino)
/*
  Smart Plant Monitor & Alert Kit
  Board: ESP32U / ESP32 DevKit
  Parts: capacitive soil moisture sensor, water level sensor, BME280, active buzzer.
  Libraries: Adafruit BME280 Library + Adafruit Unified Sensor.

  Wiring:
    Soil sensor AOUT -> GPIO34, VCC -> 3V3, GND -> GND
    Water level SIG  -> GPIO35, VCC -> 3V3, GND -> GND
    BME280 SDA -> GPIO21, SCL -> GPIO22, VCC -> 3V3, GND -> GND
    Buzzer IO -> GPIO23, VCC -> 3V3, GND -> GND

  Calibration:
    Open Serial Monitor. Note SOIL_DRY with the sensor in air/dry soil and
    SOIL_WET in wet soil. Adjust WATER_LOW after testing the water sensor.
*/

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

const int SOIL_PIN = 34;
const int WATER_PIN = 35;
const int BUZZER_PIN = 23;

const int SOIL_DRY = 3200;
const int SOIL_WET = 1300;
const int WATER_LOW = 900;
const int DRY_ALERT_PERCENT = 30;

Adafruit_BME280 bme;

int percentFromSoil(int raw) {
  int pct = map(raw, SOIL_DRY, SOIL_WET, 0, 100);
  return constrain(pct, 0, 100);
}

void setup() {
  Serial.begin(115200);
  pinMode(BUZZER_PIN, OUTPUT);
  digitalWrite(BUZZER_PIN, LOW);

  Wire.begin(21, 22);
  if (!bme.begin(0x76)) {
    if (!bme.begin(0x77)) {
      Serial.println("BME280 not found. Check SDA/SCL wiring and address.");
    }
  }
}

void loop() {
  int soilRaw = analogRead(SOIL_PIN);
  int waterRaw = analogRead(WATER_PIN);
  int soilPct = percentFromSoil(soilRaw);

  bool drySoil = soilPct < DRY_ALERT_PERCENT;
  bool lowWater = waterRaw < WATER_LOW;
  bool alert = drySoil || lowWater;

  digitalWrite(BUZZER_PIN, alert ? HIGH : LOW);

  Serial.print("Soil raw: "); Serial.print(soilRaw);
  Serial.print("  Soil: "); Serial.print(soilPct); Serial.print("%");
  Serial.print("  Water raw: "); Serial.print(waterRaw);
  Serial.print("  Temp: "); Serial.print(bme.readTemperature(), 1); Serial.print(" C");
  Serial.print("  Humidity: "); Serial.print(bme.readHumidity(), 0); Serial.print("%");
  Serial.print("  Status: ");
  if (lowWater) Serial.println("LOW WATER");
  else if (drySoil) Serial.println("DRY SOIL");
  else Serial.println("OK");

  delay(2000);
}
Pin numbers and thresholds are written for the board in this kit. Change the board and the pin map changes with it — ask and we'll adjust it.

What this kit teaches

Beginner ESP32 kit for building a smart plant monitor and alert system: read soil moisture, check water level, measure temperature and humidity with BME280, and sound a buzzer when the plant needs attention. Designed for students, home makers, and small IoT demos.

Difficulty · Beginner

No prior electronics experience assumed — the guide walks through every step. Connections are push-fit on the breadboard.

You'll also need
  • Computer with Arduino IDE or Arduino Cloud Editor
  • USB-C data cable for the ESP32U board
  • Small plant pot or cup of dry/wet soil for calibration
  • Water container for testing the water level sensor
Who it's for

Catalogued as suited to makers. Built around DIYKIT catalog bundle hardware. Classroom sets are quoted per seat — ask for a bulk price.

How it compares

KitLevelPartsBuild guidePrice
This kit Smart Plant Monitor & Alert Kit - ESP32 Soil… Beginner 7 7 steps AED 69.99
ESP32 & ESP8266 IoT Automation Kit Intermediate 24 11 steps AED 180.00

Frequently asked

This kit is rated Beginner — no prior electronics experience assumed. It is built around the esp32 platform.

45-60 min. The build guide below breaks it into 7 steps.

All 7 components listed in the parts table, counted and checked before dispatch. 7 of them are in stock right now.

Recorded in our catalogue as suited to makers. Bulk pricing is available for classroom sets.

Root
Online — usually replies instantly
Catalog assistant: verify final stock/price on the product page before checkout.