A Smart IoT-based Water Metering System that enables real-time monitoring of water usage, ensures water quality, and supports automated pump control. Built using the ESP32 and Arduino UNO, and integrated with the ThingSpeak IoT platform, this system enables remote access, live data visualization, and intelligent automation for water conservation.
- Optimize water consumption through smart metering
- Monitor flow rate, pH, TDS, and tank levels
- Enable automated water pump control
- Provide alerts and visualizations via a web dashboard
- π‘ Wireless Monitoring using ESP32 & Wi-Fi
- π ThingSpeak Dashboard for real-time IoT analytics
- π Flow Rate Measurement with flow sensor
- π§ Water Quality Detection via TDS & pH sensors
- π Automated Pump Control with Relay Module
- π₯ LCD Display for local data output
- π Reliable Dual MCU Setup using ESP32 + Arduino UNO
Component | Description / Role |
---|---|
ESP32 | Main microcontroller with Wi-Fi |
Arduino UNO | Secondary controller for sensor interfacing |
pH Sensor | Measures water pH level |
pH Amplifier | Amplifies pH sensor signal |
TDS Module | Monitors total dissolved solids |
Flow Rate Sensor | Measures water flow rate |
Relay Module | Switches water pump on/off |
Water Pump | Controls water supply |
LCD 16x2 Display | Displays real-time readings locally |
Flyrobo | Supplier of components |
Software | Arduino IDE, Embedded C |
Cloud Platform | ThingSpeak IoT Platform |
- ESP32 Development Board
- Arduino UNO
- Flow Sensor
- TDS Sensor
- pH Sensor with Amplifier
- Relay Module
- Water Pump
- LCD 16x2 Display
- Jumper Wires, Breadboard, Power Supply
- Arduino IDE + ThingSpeak Account
- Connect all sensors to Arduino UNO and ESP32 accordingly.
- Ensure correct voltage levels and power supply.
- Install Arduino IDE and add board support for ESP32.
- Install libraries
- Upload the respective firmware to:
- ESP32: for Wi-Fi and ThingSpeak communication
- Arduino UNO: for reading and preprocessing sensor data
- Configure:
- Wi-Fi credentials
- ThingSpeak channel & API keys
- Create a new ThingSpeak Channel
- Add the following fields:
- TDS Level
- pH Level
- Copy the Write API Key and use it in your ESP32 code.
- The sensors gather real-time data via Arduino UNO and ESP32.
- Data is sent to ESP32, which uploads it to ThingSpeak.
- ThingSpeak displays data using dynamic graphs.
- The Relay triggers the pump based on sensor thresholds.
- The LCD displays key metrics locally for manual monitoring.
- Clone this repository:
git clone https://github.com/sandeepku-s/Smart_wireless_water_meter_with_Web_DB.git
- Navigate to the project directory:
cd Smart_wireless_water_meter_with_Web_DB
- Open the project in VS Code.
Arduino IDE used to upload programming in ESP32 Board with required library.
ThingSpeak is a cloud-based IoT analytics platform service that lets you collect, view, and examine real-time data streams. Data can be sent from your devices to ThingSpeak, enabling instantaneous live data display.
Real-time flow rate monitoring using FS400 sensor.
TDS module captures Total Dissolved Solids in water and sends values to ThingSpeak.
The pH sensor with amplifier circuit helps determine the acidity or alkalinity of water.
Live analytics with charts for all monitored parameters.
Physical setup of the smart water metering system using ESP32, Arduino UNO, and sensors.
Here is an overview of the project structure:
Smart_wireless_water_meter_with_Web_DB/
β
βββ Images/
β βββ ...
β
βββ Reports/
β βββ ...
β
βββ Paper/
β βββ ...
β
βββ Arduino_Code/
βββ Esp32_Code/
βββ README.md