This system automates the monitoring of water tanks by collecting data from multiple sensors and displaying it through a web dashboard. It alerts the user when the tank is too low or full, and automatically controls the pump based on predefined thresholds. In addition to level detection, the system evaluates water quality using pH and turbidity measurements.
See the demo video below for a quick visual explanation of how the system works.
Full system description referenced from project documentation.
- Enable real-time remote monitoring of water level and water quality
- Reduce water wastage by automating pump operations
- Prevent pump dry-running and overflow
- Provide user-friendly alerts and control options
- Support domestic and small-scale industrial water systems
Architecture Summary
- Water Level Module: Ultrasonic sensor + controller unit
- Water Quality Module: pH and turbidity sensors
- Communication Module: Wi-Fi (NodeMCU) and optional GSM alerts
- Control Module: Automatic pump control + manual override
- Visualization Module: Web/mobile dashboard for live data
- Water level and quality sensors collect data continuously
- Microcontrollers process the measurements
- Data is transmitted to a cloud dashboard
- Tank status and water quality values are displayed in real time
- Alerts are issued for high/low water levels or poor water quality
- Pump is automatically switched on/off based on level thresholds
- Arduino Uno / Arduino Nano
- NodeMCU ESP8266
- Ultrasonic Sensor (HC-SR04)
- pH Sensor
- Turbidity Sensor
- GSM Module (optional)
- LCD Display (16×2, I2C)
- Buzzer, LEDs, buttons
- LM2596 Buck Converter
- Power supply: 5V regulated
- Verified each sensor independently (pH, turbidity, ultrasonic)
- Tested Wi-Fi connectivity, cloud data flow, and dashboard interface
- Performed five trials per water source sample
- Compared measurements with physical/manual readings
- Monitored full system performance for reliability and response time
- Ultrasonic sensor for accurate distance measurement
- Alerts for low, medium, and full tank status
- Automatic pump cutoff at full level
- Dry-run protection when water is low
- pH sensor for acidity/alkalinity
- Turbidity sensor for water clarity
- Optional dissolved oxygen readings
- Wi-Fi for real-time updates
- GSM alerts for critical conditions
- Web dashboard to view water status and pump state
- Arduino IDE
- Visual Studio Code
- Blynk / Firebase / Custom Web App
- Google Sheets (optional logging)
- Android Studio (optional mobile app)
- Add temperature, TDS, and conductivity sensors
- Implement AI/ML-based water quality prediction
- Integrate into full smart-home automation
- Build a dedicated mobile application
- Cloud IoT dashboard with analytics
This project is released under the MIT License.
See the `LICENSE` file for full license details.- If you use this work in any form—academic, research, educational, or practical—please cite it as:
Kasthuriarachchi, S.D. & Perera, H.A.K.D., 2022. IoT Water Level and Water Quality Monitoring System. [Online] Available at: https://github.com/sadeep654/IoT-Water-Monitoring-System (Accessed: date-you-accessed).
- Kasthuriarachchi, S.D.
- Perera H.A.K.D.
Copyright (c) 2022 Sadeep Dilshan Kasthuriarachchi

