IoT & Hardware Automation

Automated Smart Plant Watering System

An ESP32-powered automated plant watering system featuring cloud-based remote control, live moisture monitoring, and a custom air-pressure water delivery mechanism.

Role

Solo Hardware & Embedded Engineer

Environment

ESP32 Ecosystem & Arduino Cloud

Tech Stack

ESP32 FirmwareArduino CloudC++Relays & Sensors

Gallery

The Challenge

While learning about microcontrollers, I wanted to move beyond purely software-based projects and explore how code can control real-world hardware. Around the same time, my family was going on holiday and needed a way to water plants automatically. This provided the perfect motivation to design a remote watering system.


The Solution

I created a smart plant-watering system powered by an ESP32 microcontroller, connected to Arduino Cloud for remote monitoring and control from anywhere in the world.

Instead of directly pumping water, the design used a creative air-pressure-based water delivery method: a DC pump forces air into an airtight water bottle, which in turn forces water up through a second flexible PVC outlet tube and directly into the soil.


System Architecture

How the smart plant system reads environmental data, communicates with the cloud, and executes watering commands.

01 Moisture Polling & Calibration

The ESP32 reads raw analog values from a soil moisture sensor. The firmware calculates the actual moisture percentage based on explicitly calibrated wet and dry soil values.

02 Cloud Dashboard Synchronization

Telemetry is pushed to Arduino Cloud. The interactive dashboard allows the user to view live moisture levels, check historical data logs, switch between manual and automatic modes, and set the moisture trigger threshold.

03 Relay Actuation & Water Delivery

When the soil moisture drops below the threshold (or the manual override button is pressed), the ESP32 triggers a relay module. The relay powers the DC pump, pressurizing the reservoir and delivering water to the plant.


Impact & Results

Remote Dashboard

Provides full visibility and manual control from anywhere via the Arduino Cloud interface.

Smart Automation

Continuously evaluates soil against a user-defined threshold for hands-free maintenance.

Data Logging

Tracks moisture trends and pump activation timestamps to monitor the plant's health cycles over time.


Skills Gained & Applied

Cloud IoT Integration Linked the ESP32 to Arduino Cloud to map variables to interactive UI components like sliders, buttons, and data charts.
Embedded Logic Programmed the microcontroller to handle analog sensor calibration and autonomous threshold-based logic.
Hardware Assembly Safely wired and integrated low-voltage microcontrollers with relay modules to control higher-draw DC components.
Fluid Mechanics Designed and tested a pneumatic air-pressure displacement system inside an airtight reservoir to safely move water through PVC piping.