Smart water motor control
AquaPilot
Run your water pump and watch your tank level from anywhere in India, over Wi-Fi, 4G or SMS.
- Role
- Product design and Flutter development (Android and iOS)
- Status
- Internal testing on Google Play · v1.0.0
- Stack
- Flutter, Dart, flutter_bloc (Cubit), MQTT over TLS, ESP32, Encrypted storage

Results
- automated tests
- 242
- ways to reach the motor: Wi-Fi, 4G and SMS
- 3
- languages: English and Tamil
- 2
01Problem
In many Indian homes the water tank is on the roof and the motor is on the ground floor. People climb stairs to check the level, forget to switch the motor off, and waste water and electricity. Pumps burn out when they run dry or the voltage drops, and most smart switches stop working when the Wi-Fi goes down.
02Architecture
A Flutter app talks to an ESP32 motor box over MQTT with TLS, with a wireless tank sensor on the roof. Each motor box gets its own connection class and set of cubits, so switching motors cleanly resets everything. The broker keeps the last copy of each message, so rules keep working with the phone off and alerts are not lost while the app is closed.
03Key decision
Putting protection in the motor box rather than the phone. Dry run, low or high voltage, overload and maximum run time are all enforced even when the phone is off, and the motor stops safely if the tank sensor goes quiet. Wi-Fi comes first, 4G is the backup and SMS commands work with no internet at all.
04Result
Version 1.0.0 is in internal testing on Google Play, in English and Tamil, with 242 automated tests. Tests cover the safety rules: starting always asks first, stopping is instant, and emergency stop always gets through. A demo mode simulates the motor box, so the app can be tried without hardware.
Screens



