Story
Project Overview
An IoT-based automated plant watering and notification system using a NodeMCU (ESP8266). The system monitors soil moisture levels via a sensor, and when dryness is detected, it notifies the user through the Blynk app. Optionally, it can activate a water pump or grow light via a relay module to irrigate plants automatically.
Core Components
-
NodeMCU ESP8266 microcontroller (built‑in Wi-Fi)
-
Analog soil moisture sensor (e.g. YL‑69 with LM393 module)
-
Relay module (for water pump or similar actuator)
-
Optional: DS18B20 or DHT11/22 for temperature/humidity sensing
-
Blynk mobile app (for monitoring and control)
How It Works
-
NodeMCU connects to Wi-Fi and initializes Blynk
-
Reads soil moisture via analog pin
-
Converts analog reading into a moisture percentage
-
Sends this data to Blynk app (e.g. gauge widget on a virtual pin)
-
If moisture falls below a user-defined threshold (set via Blynk slider), the system:
-
Sends a notification message
-
Activates the relay to power a mini pump (or other actuator)Optional: Temperature sensor readings can be used to add more controls
-
-
Push-button control and scheduling logic can also be implemented for manual override or local actions (in more advanced setups)
Typical Features & Behavior
-
Real-time moisture monitoring on smartphone
-
Adjustable watering threshold via Blynk
-
Automated actuation (pump or light) based on sensor data
-
Alerts/notifications for low moisture levels
-
Optional local manual control (buttons, LEDs, physical overrides)
-
Optional integration of temperature/humidity sensors for smart decisions
Wiring Overview
-
Soil Moisture Sensor
-
Power: 3.3V or 5V to sensor
-
GND to NodeMCU GND
-
Analog output → A0 (via resistor divider if needed) Relay Module
-
-
-
IN from digital pin (e.g. D0, D4)
-
Relay contacts to control external device (e.g. pump) powered by 12 V or appropriate supply Optional Temp Sensor
-
-
-
DHT11/22 or DS18B20 connected to a data pin (e.g. D14/OneWire)
-
Example Software Logic
-
Include Wi-Fi and Blynk libraries, define
ssid
,password
, andauth-token
-
Set pins, initialize sensors and relay
-
Use a timer (e.g. SimpleTimer library) to:
-
Read soil moisture every few seconds
-
Send moisture percentage to Blynk
-
Check threshold and trigger relay when necessary
-
-
Use
BLYNK_WRITE(Vx)
to update settings like watering threshold or manual mode -
Optionally handle notifications (
Blynk.notify(...)
) and buzzer/LED feedback
Suggested Software Flow
Applications & Skills Demonstrated
-
Building IoT systems with ESP8266 + Blynk
-
Reading analog sensors and converting values to meaningful units
-
Relay control for external devices
-
Remote sensor monitoring and threshold-based automation
-
Mobile notifications and user interactions via widgets
Why It’s Useful
-
Ideal for automating small-scale plant watering
-
Accessible, low-cost hardware components
-
Extensible: add environmental sensors, local controls, logging
-
Helps conserve water and reduces plant maintenance effort