PaniWatch is a comprehensive electronics and IoT-based solution that automates water management in household and commercial setups. The system consists of multiple hardware modules and wireless communication technologies like ZigBee and Bluetooth BLE to monitor and control water tanks and pumps efficiently.
Why it exists?

In most cities and towns across India, where drinking water is supplied by government municipal bodies, the water supply is often scheduled area-wise. The municipal authorities use strategically placed valves to divert water to specific regions for a limited time, resulting in different supply timings for each locality. Households and housing societies must fill their water tanks during this narrow time window, as these tanks supply water throughout the day.
However, the supply timing frequently changes without prior notice due to various reasons. If a household or society fails to fill their tanks during the supply period, they are left without water for the entire day. To manage this, people must manually check for water availability by opening supply valves or starting water pumps at regular intervals. Some even leave their pumps running dry for hours to avoid missing the supply, wasting both electricity and equipment lifespan.
Additionally, once the tanks are filled, the pumps or valves must be turned off manually — a task often overlooked — leading to water wastage and pressure loss for other residents in the area. This inefficient system creates a persistent water crisis in many parts of the city.
To address these challenges at the household and society level, PaniWatch was developed — an automated water supply monitoring and management system that ensures efficient water usage without manual intervention.
“Pani” = Water (Marathi) and “Watch” = clock + keeping a watch. Hence a system that keeps constant ‘watch’ on the ‘water supply’, schedules filling cycles and frees people of this tedious task is named “PaniWatch”.
How it works?
PaniWatch is a comprehensive electronics and IoT-based solution consisting of multiple interconnected modules. It features various electronic circuits, ultrasonic sensors for water level detection, and wireless communication between components using ZigBee and Bluetooth Low Energy (BLE) technologies.
The Setup
The initial use case for which PaniWatch was developed involved a system with two water tanks that needed to be filled using a single water pump connected to the inlet supply pipe. The system was designed to automate the entire filling sequence while addressing the following key requirements:
- Water Supply Detection:
The system needed to detect when the water supply arrived and ensure that the inlet water pressure was sufficient before starting the pump. - Sequential Tank Filling:
The water pump had to fill both tanks one after the other, automatically switching between them. - Tank Full Detection and Diversion:
The system had to sense when either tank was full and divert the supply to the other tank accordingly. - Flow Monitoring:
Since the inlet water pressure and flow rate were inconsistent throughout the filling sequence, the system needed to continuously monitor the flow to avoid dry running. - Pump Protection:
The primary objective was to protect the water pump motor from dry running and potential burnout. - User Notifications:
The system had to notify the user of various statuses such as water supply arrival, flow conditions, and which tank was being filled. - Water Level Indication:
Real-time water level monitoring for both tanks was required. - Scheduled Operation:
The system needed to allow users to set a daily start time for the filling sequence, similar to an alarm clock. - Remote Sensor Placement:
Sensors had to be placed at a distance from the control unit, requiring wired or wireless communication. - Manual Control & Monitoring:
The system needed to provide both dedicated remote control and mobile app interface options for manual operation and monitoring.
System Components
To meet these requirements, the following components were selected:
- 32 Amp heavy-duty contactor – To control the water pump.
- 1/2-inch 220V AC solenoid valve – To divert water between the two tanks.
- 1/4-inch 12V DC solenoid valve – To verify the presence of water flow.
- Magnetic flow switch – To detect water flow and prevent dry running.
- Arduino-based control boards – Base, sensor, and remote units.
- ZigBee modules – For wireless communication between units and OTA firmware updates.
- 12V SMPS power supply – To power the system.
- Ultrasonic distance sensors – For water level measurement in both tanks.
- Magnetic float sensors – As an additional method to detect tank fullness.
The combination of these components, along with wireless communication and user interfaces, made PaniWatch a fully automated, self-sufficient water management system.
The Base Unit

In PaniWatch, the base unit controls the water pump and valves, and is installed near the water supply inlet pipe. It also houses an ultrasonic pre-processing unit, with its ultrasonic sensor mounted on one of the nearby water tanks to measure the water level.
The base unit is built on an Arduino Pro-based system and features a ZigBee module for wireless communication. The Arduino bootloader is custom-modified to enable OTA (Over-The-Air) firmware updates via ZigBee, allowing remote software upgrades without physical access to the device.
At the load side, the heavy duty water pump is controlled by a contactor which is operated by the base unit’s relay.

The water diversion valve is connected to outlet pipe of the pump. This diversion valve is operated by a relay of the Base unit. The base unit automatically diverts the water supply to another tank when one primary tank is full and user’s also have option to manually divert the water to another tank through the app or remote module.

The Remote Sensor Unit

This solar-powered sensor unit is installed at a distant location near the secondary water tank. It measures the water level in the secondary tank and communicates wirelessly with the base unit and other modules of the system using a ZigBee module.
In addition to ZigBee, the unit is equipped with a Bluetooth module with BLE capabilities. The BLE module regularly broadcasts advertisement messages containing essential data such as the water filling schedule, water levels, and system statuses. Since this information is shared through advertisements, any nearby mobile device or app can instantly read the data without requiring pairing or connection. This feature makes the system highly convenient, allowing all family members to monitor the water supply status effortlessly.
The unit also included a water level float switch as an input for detecting tank fullness. There were plans to integrate ultrasonic sensors to measure the actual water level in the future, which was left for later updates whenever time permitted.

The solar-power subunit consists of a solar panel, a solar power regulator with battery charging circuitry, and a single-cell 3.7V Li-Ion battery. The solar panel used was a 12V / 5Amp module, which was overkill for this application, but it was repurposed from an old project lying around in the lab. The circuit primarily operated directly from the solar panel through a switching 5V step-down regulator (LM2576), even during the rainy season, without relying much on the battery.
The entire unit was built by gluing the solar panel on one side of an electrical box, with all the electronics neatly housed inside. The box was then sealed with water-resistant silicone glue, making the unit weatherproof and suitable for outdoor installation.

The Remote Control Unit

The remote control unit is a standalone device with an intuitive user interface, comprising an OLED display, rotary knob, and big colored buttons for manual operation. It is powered by a single 3.7V Li-Ion battery and can also be operated directly through an external power adapter.
The power switch, located at the top-right corner, is a bidirectional toggle — flipping it up powers the unit from the battery, while flipping it down powers the unit directly from the adapter. The charging status indicators are placed beside the adapter connector — a red LED indicates charging in progress, and it turns blue when the battery is fully charged.
The filling time for the tanks can be set using the rotary knob and displayed on the OLED interface, with a selector button for quick switching between AM and PM. The remote also has dedicated buttons to manually start the pump and divert the supply.
Multiple LED indicators provide real-time feedback:
- A yellow LED blinks when the base unit is checking the flow status and remains lit if no flow is detected.
- A red LED shows the motor on/off status.
- A blue LED next to the OLED display indicates the diverter valve status.
- Another blue LED on top blinks to indicate a successful connection with the base unit and remains lit if the connection is lost.
For wireless communication, the remote unit uses a ZigBee module, which also supports OTA firmware updates, ensuring the system can receive software upgrades without needing any physical connection. The combination of tactile controls, wireless connectivity, and visual feedback makes the remote control unit a convenient and reliable interface for the PaniWatch system.
Mobile App
In some scenarios, the remote control unit alone was not sufficient to monitor and control the PaniWatch system. To provide a more accessible and versatile interface, an Android app was developed, enabling users to connect to the system via Bluetooth and BLE.
The app can be installed on any Android device and allows everyone in the household to view water levels and system statuses without needing any pairing process. This is possible due to the system’s BLE broadcast feature, where the system regularly updates its statuses as BLE advertisement data. Since this information is broadcasted without requiring pairing, any nearby device can read the system status simply by discovering the device over Bluetooth.
To control the system, an admin user needs to pair with the Bluetooth module. Once paired, the admin user can:
- Set the daily filling start time.
- Configure the order in which the tanks are filled.
- Manually control the water pump and diverter valve.
- Synchronize the RTC (Real-Time Clock) of the base unit with the current time whenever required.
The app provides an intuitive interface for both monitoring and controlling the PaniWatch system, making the entire system more efficient and user-friendly.


App GUI
The app’s main screen is a custom-designed GUI showing the entire system layout. It features:
The daily filling time displayed at the bottom of the screen.
Two animated water tanks that dynamically represent the actual water level with blue fill graphics and percentage readings.
Animated water pump and diverter valve components.
Pipe elements that depict the real plumbing connections.
A green button at the bottom to start the filling sequence immediately, bypassing the schedule.
IoT
As we can see, the Base Unit and other units are developed on basic Arduino boards to keep the cost low at that time. There was no direct Wi-Fi or Ethernet connection to the system. Instead, IoT features were implemented through the app.
The app communicates with the PaniWatch system via Bluetooth and BLE and updates the data on the IoT server. However, direct control of the system from the server was not implemented to keep the system closed and secure.

I used Google Firebase as the IoT backend for the PaniWatch system. The Firebase features were implemented in the Android app so that any device with the app installed — not just the admin — and listening to BLE broadcasts from the system could update the Firestore Database on the Firebase server. This design ensured that as long as at least one phone was within BLE range of the PaniWatch system, it remained connected to the IoT server.
Additionally, I implemented automatic notifications using Firebase Cloud Messaging (FCM). This allowed all connected phones to receive daily notifications regarding each stage of the filling sequence. The system also notified users if the water supply didn’t arrive or if the flow was inconsistent, providing an early warning to arrange alternative water sources.
Conclusion
PaniWatch started as a simple circuit-based solution to automate water tank filling. Over time, I kept adding new features like wireless remote control, mobile app interface, and IoT integration. Each feature was designed to improve functionality and reliability while keeping the system cost-effective and easy to install.
There are future plans to further enhance the system by adding an ultrasonic sensor to the secondary tank in the remote sensor unit, providing direct Wi-Fi access to the system, and exploring advanced flow status detection methods. These upgrades will make PaniWatch even more capable of addressing modern water management needs.