Nana — IoT Smart Plant

Nana IoT Smart Plant — top view: the plant, the water cup with the pump, the relay and the ESP32-S3 on a breadboard

Plants and student schedules rarely get along. In spring 2026 the Branch’s IoT team set out to build the smartest flower pot on campus. Nana, our IoT Smart Plant, is a small system built on an ESP32-S3 that keeps a plant alive on its own: it measures soil moisture, air temperature and humidity, sends the values over MQTT and switches on a water pump when the soil gets dry.

What it does

  • Soil moisture from an analog sensor, shown as 0–100% (calibrated for dry and wet soil).
  • Air temperature and humidity from a DHT11 sensor.
  • Automatic watering: when soil moisture falls to 15% or lower, a relay switches on the pump for 6 seconds.
  • MQTT data about every five seconds to Node-RED.
  • Automatic reconnection to Wi-Fi and to the MQTT broker if the connection drops, and all readings on the serial monitor for debugging.

Photos

Hardware

  • ESP32-S3-DevKitC-1 microcontroller
  • DHT11 temperature and humidity sensor
  • Keyestudio soil moisture sensor
  • 5V relay module to control the pump
  • Small 5V water pump with its own power supply

Wiring

  • DHT11 data → GPIO 11
  • Soil moisture sensor, analog out → GPIO 1 (ADC)
  • Relay IN → GPIO 14, with the pump on the relay’s NO contact
  • VCC / GND → 3.3V & 5V / GND

Important: the pump must be powered from a separate source through the relay, never directly from the ESP32.

Nana IoT Smart Plant — Fritzing wiring diagram
Wiring diagram (Fritzing). Pin positions may differ on other ESP32 boards.

Software

The firmware is written in C++ with the Arduino framework and built with PlatformIO in VS Code, using the Adafruit DHT sensor library and PubSubClient. Values are published on the MQTT topics temp, hum and Soil, and the board also listens on esp/output for commands from the broker. The dry/wet calibration values, the watering threshold (15%) and the watering time (6 s) can be changed in main.cpp; step-by-step installation instructions are in the repository.

What’s next

Planned improvements include manual pump control from Node-RED, a live dashboard, keeping Wi-Fi credentials out of the code, deep sleep to save power, and a low-water alert.

Nana was presented at IEEE Day 2026. The project is a great starting point for anyone who wants to get into IoT: cheap components, simple wiring and a real, visible result.

The team

  • Giorgos Plevrakis
  • Giorgos Chatzigiorgis
  • George Tingos

Links