Skip to content

ishdemon/WaterDash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 

Repository files navigation

WaterDash

Water monitoring system that automatically controls Motor Pump using Android & ESP32 & MQTT




Why?

Lets be real who doesn't hates this 😁👉

paani_ki_tanki.mp4

Jokes aside, traditional systems in market are pretty dumb and not at all smart. It uses a contact based sensor to know whether tank is full or not..
- doesn't tell you how much water is there in tank
- doesn't have App/remote access
- not smart at all

Software

DashBoard

V1 V2


ESP32 also communicates with an MQTT Broker. It publishes all the sensor data to the broker. In my case https://mosquitto.org/ locally hosted in a RaspberryPi. Since my users will just be under 10 at most, i chose to host it local but one can use a Cloud MQTT service if need to handle large users.Or can go to web-server route for totally local-only access.

Companion Phone App

Hardware

ESP32 Module

ESP32 board is the MCU that i have programmed to control the pump & collects data from various sensors ( Energy, LPG/Smoke, etc). It communicates with an Android device over USB Serial communication to display all the data. Firmware is written in C++ uisng Arduino framework.

Android Phone(5.0+) with USB OTG supported

Android phone maintains a serial connection with the ESP32 board & recieves data (JSON payload) every second. Its a full duplex connection so it also sends controls commands back to the board. I have used a rooted Samsung galaxy S4 with lineage OS to keep it light as possible.

Features

1) Calculates Percentage of water in tank(I used Cylindrical)
2) Modes : Auto & Direct(Manual) to cover all the general usecases in typical home.
3) Automatically fills the overhead tank and turns off the Pump based on water availability.
4) Calculates Load(power) connected, AC voltage, current, power factor, frequency.
5) Temperature/ Humidity.
6) LPG Gas leakage alarm.
7) Shows Everything in a cool UI based on Android.

Pump Protection

Using Flow sensor in the outlet line of Pump, it detects the waterflow & accordingly switches off to avoid dry running of motor pump.

Flow No Flow

Case Design

Challenges faced

Since USB will be occupied for communicating with ESP32 MCU, you can't really charge the phone. I had to figure out to run the phone without USB power. Tried using a Li-ion charger board to directly charge the battery but it got heated up quite a bit. Managed to run the device directly without battery by supplying a ~4.4v directly onto terminals. Phone detects it as a battery & it always shows 100%. Great success!

Older Versions/Prototype


I started simple with just ESP32 & a relay module to just turn motor on& off remotely. later then iterated & added a ultrasonic sensor to measure the tank level & automated the filling task. Then kept on adding various sensors & an OLED Display to show the data.

About

Water monitoring system using Android & ESP32

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published