Water Quality Monitoring System
Intermediate20/6/2026- Author: IoTSpark Maker

Water Quality Monitoring System

Build a water quality monitoring system that measures temperature, TDS, pH, and turbidity, shows an alert status, and can be extended to send real-time data over MQTT. Suited for monitoring fish tank, hydroponic, or water tank quality, or as a reference monitoring model. Note: readings from consumer-grade sensors do not replace certified testing equipment or lab analysis.

ESP32IoTWater QualityMQTTArduino IDETDSpHDS18B20
7 steps9 components

Overview

The ESP32 Water Quality Monitoring System project guides learners through building an IoT prototype that measures basic water parameters such as temperature, TDS, pH, and relative turbidity. The system reads sensor data, processes it on the ESP32, evaluates water status, and can send real-time data to an MQTT broker for dashboard display or alerting.

This project suits IoT learning, fish tanks, hydroponics, water storage tanks, or a reference water-monitoring model. Readings from consumer-grade sensors do not replace certified testing equipment or lab analysis.

Main Goals

  • Connect an ESP32 to a DS18B20, TDS sensor, pH sensor, and turbidity sensor.
  • Read analog and digital data in the Arduino IDE.
  • Filter noise and compute TDS, pH, and relative turbidity.
  • Perform basic calibration of the pH and turbidity sensors.
  • Evaluate water status as NORMAL, WARNING, DANGER, or SENSOR_ERROR.
  • Extend with MQTT to send real-time data to a dashboard or backend.

Outcome

Learners will end up with an ESP32 system that can read water quality, print data to the Serial Monitor, drive LED/buzzer alerts, and publish JSON data to a per-device MQTT topic.

Detailed guide

List of extended articles for this project.