IoT Waterpit sensor

IoT Waterpit sensor Used AI

1 devlog
1h 59m
Created by Galaxic dev

Some people struggle to know how much water their waterpit has currently and how much then can use.
With this project we use an ultrasonic sensor along with a ESP32 to measure the distance to the water surface, then we send it over to our server via MQTT and save it in the database. Using the database we display all the stats in a handy app on your phone.

Timeline

I already had a prototype in one waterpit with bad prototype code, during this 2 hours I revamped the system to use the new MQTT infrastructure for better communication and improved power savings. We also use MQTT to allow for duplex communication so we can add a system that will send commands from the APP to the sensor using MQTT (for example to put it in config mode without opening the case)

System components:
We use an firebeetle ESP32 v4 because it has excellent deep sleep which is important for battery life.
We connect an JSN SR04M sensor to it to measure the water level, we use this because its an simple, easy and cheap sensor while being waterproof.
we use a simple 3.7V lipo battery from amazon to power it, along with an charger board that supports solar input and usb in case of an emergency.
The solar panel is a simple 5V 1W solar panel we got from repurposing a solar powered water fountain pump (it was better quality and cheaper this way🤣)
We use this one since the charger board supports 5V 200mA input (P=UI | P=5v200*10-3 -> 1W) what is the exact solar panel specs we got.
I thought the battery life during the winter would be very bad, but I actually had the prototype running from january till now to test battery life before improving and really building it now. Let's just say I was wrong and the battery almost never got too empty to power the sensor, if even.
Next hours I will try to implement an OTA system, a config website that temporarily runs on the ESP32 to configure it, improve error detection and remove lingering bugs, improve app design, ...

Update attachment