Team Project · 2024
IoT Smart Watering System

Project Overview
This smart watering system automates plant care by monitoring soil moisture and environmental conditions. When the soil gets too dry, it waters the plant on its own and logs everything to a cloud dashboard.
The Challenge
Manual watering fails when owners forget or travel. The design requirements were low cost, autonomous watering, and remote monitoring.
SolidWorks drawing of complete enclosure
System Architecture
Hardware and software components:
Hardware Components
- ESP32 Microcontroller: The system brain that processes sensor data and controls the water pump
- Capacitive Soil Moisture Sensors: Provide accurate moisture readings without corrosion issues
- DHT22 Sensor: Monitors ambient temperature and humidity
- Water Pump: Delivers precise amounts of water when needed
- Water Reservoir: Stores water for automated dispensing
Software & Connectivity
- Arduino IDE: Used for programming the ESP32
- Adafruit IO: Cloud platform for data visualization and remote monitoring
- IFTTT: Delivers notifications when watering occurs or when water levels are low
- Wi-Fi Connectivity: Enables remote access and data transmission
Circuit architecture diagram showing all component connections
How It Works
- Moisture sensors continuously monitor soil conditions
- When moisture levels drop below the preset threshold (30% in testing), the water pump activates
- The DHT22 sensor collects environmental data (temperature and humidity)
- All data is sent to Adafruit IO for visualization and analysis
- Users receive notifications through IFTTT when watering occurs
- The system operates autonomously but allows for manual overrides
System block diagram of the moisture sensor and pump assembly
Development Process
Development process:
- Requirements Analysis: Identified key functionality needed for effective plant care
- Component Selection: Chose reliable, affordable components suitable for the application
- Prototyping: Built and tested basic circuits for each sensor and the pump mechanism
- Software Development: Created firmware for the ESP32 including sensor reading, pump control, and data transmission
- Cloud Integration: Established connections to Adafruit IO and set up data feeds
- Testing and Refinement: Tested across a range of soil and temperature conditions
Performance Results
Test results:
- Moisture Detection: Accurate readings within ±3% compared to manual measurements
- Watering Precision: Consistent delivery of water when moisture dropped below 30%
- Data Reliability: 98% successful data transmission rate to cloud platform
- Power Efficiency: Low power consumption suitable for potential battery operation
- Notification System: Timely alerts with no false positives during testing period
Graph showing moisture levels and watering events over time from Adafruit IO dashboard
Planned Improvements
Identified next steps:
- Solar power: A small panel would remove the need for wall power outdoors.
- Water level sensing: A level sensor would detect low water in the reservoir.