Duration: 11 months
Team: Four computer engineering students
My role: Hardware, PCB, mechanical design, and integration
Technologies: ESP32, MQTT, SQL, C++, EasyEDA, CAD
Water leaks, pipe blockages, and abnormal pressure conditions can cause significant damage before building managers become aware of them. Our goal was to develop a distributed monitoring system capable of detecting these conditions, automatically shutting down the water supply when necessary, and presenting live and historical system data through a centralized dashboard.
I led the physical implementation of the prototype, including schematic development, PCB layout, component selection, pump-control circuitry, sensor integration, mechanical mounting, and final system assembly. I also contributed to firmware development, MQTT debugging, testing, and preparation of the final demonstration.

The system connected ESP32 monitoring and control hardware to a centralized web dashboard using MQTT. A Node.js backend processed messages, stored sensor data in SQLite, and provided live and historical data to the React dashboard through a REST API.

I designed the custom PCB to consolidate sensor interfaces, motor-control circuitry, power distribution, and the ESP32 development board onto a compact 100 × 100 mm board. The size constraint reduced fabrication cost while maintaining removable headers, accessible test points, and spare GPIO connections for future expansion.



Functional 3D-printed components were used throughout the prototype to mount tubing, valves, sensors, and electronics to the plywood backboard. I designed more than 20 custom parts, including reusable pipe clamps that used machine screws to securely retain the tubing while still allowing components to be removed during testing.



One of the challenges for this project was to secure a centrifugal pump submerged underwater, within a 5L container made of acrylic. Using the properties of different materials, I was able to create a "donut style" inspired design for the pump to sit on.
____
This animation was also created by myself using Blender
Firmware running on each ESP32 continuously sampled flow and pressure sensors, evaluated fault conditions, controlled the pump and shutoff hardware, and published system data over MQTT. The control logic was designed so safety-critical conditions could be detected independently of dashboard communication.

A centralized dashboard provided building managers with live system status, sensor measurements, alarms, and historical trends. Data from the distributed ESP32 nodes was transmitted over MQTT and stored in SQL, allowing both real-time monitoring and longer-term analysis.


This project was the result of close collaboration between four computer engineering students, with each team member contributing across different areas of the system
For a deeper technical breakdown, our revised 50-page engineering report documents the complete system architecture, design process, testing, and results.