Measure your water level using Watmonitor webapp
Your IoT within reach
About Watmonitor
Watmonitor is a universal web interface designed to efficiently store water level data collected from IoT sensor nodes into a centralized database. It empowers users to monitor real-time water level and volume measurements of their water wells, tanks, or other water sources directly through its user-friendly web interface, but is suitable also for industrial-like solutions. Accessible on both PC and smartphones (Android and iOS), Watmonitor offers seamless compatibility with various sensors without interfering with their functionality. The sensor node is capable of transmitting the differential water level or the actual water level measurement from the bottom of the well. System is powered by PHP, HTML5, Bootstrap and MySQL database and more libraries, such as JustGage (Raphaël), ApexCharts.js, highlight.js.
Key features:
Usage Scenarios
Ideal for continuous water monitoring in wells, tanks, sumps, lakes, ponds, rivers, reservoirs, and sewage systems.
Supported Sensor Types
Watmonitor supports a wide range of sensor technologies, including: ultrasonic, optical, laser, radar, Capacitive, etc.
Demo node
For those exploring open-source solutions, Watmonitor provides example source codes compatible with popular platforms such as ESP32 (WROOM-32, S3, C3, C5, C6) from Espressif Systems. These examples demonstrate the use of ultrasonic distance sensors with Trigger and Echo signals (e.g., RCW-0001, URM [DFrobot], IOE-SR0X, HC-SR0X, JSN-SR04T, HY-SRF0X, DYP-MEXXX, Parallax PING™).
Additional functions:
QR code scanner
Streamline monitoring in multi-sensor installations with Watmonitor’s QR code scanning feature. Easily retrieve data for any sensor node by scanning its assigned QR code using a smartphone. This eliminates the need to know the specific Watmonitor interface address, offering a quick, reliable way to access the most recent data from any sensor node.
Affordable
Self-hosted
Downloadable graphs
Open-source HW friendly
Responsive
Multilanguage support
QR scan feature
Support & feedback
Details
The root (Overview) page
The main overview of actual state of Watmonitor's sensor node data, connectivity
Watmonitor's main page displays in real-time last water level data, volume, and trends (increase/decrease). It also shows time of recording, and sensor node connectivity status.
History & Records pages
Whole data history, min / max recordings for set period of time
The History page shows all water level measurements in table visualisation with option to delete any, while the Records page displays min and max values for the last 24 hours, 7 days, and 30 days in gauge visualisation.
Line Area Graphs
Overview of water level data in different time series, up to 1 year ago.
Watmonitor's Graph page in Watmonitor lets users view and analyze time series data of water level. Users can download the entire graph or a specific section, and export it in .csv, .jpg, .png, or .svg formats for further analysis.
ESP32 program
Automatically-generated source code for ESP32 (Arduino IDE)
The Program page provides pre-generated source code for IoT sensor node based on ESP32, supporting WiFi or PHY Ethernet with FreeRTOS based on used protocol (HTTP or HTTPS). The system auto-configures routes to upload data to Watmonitor on your domain, source code compatible with Arduino core 3.0.X (2024).
Wiring diagram
Wiring diagrams for all supported open-source hardware
Wiring diagrams available on this page is suitable for open-source hardware ESP32, ESP8266 and Arduino program implementations that are available on Github. Simplified pin-mapping tables are also provided for easier setup (non-technical people).
Options
Options to set waterwell dimensions, language
This page lets users input waterwell dimensions (depth, diameter) to calculate total water level and volume. Language options include English, Slovak, German, Russian, French, and Spanish.
Gallery
Frequently Asked Questions
The most asked question from the community answered below
Do I need webhosting to run Watmonitor by myself?
Yes, you will need local or internet webhosting. To execute PHP scripts of Watmonitor, you will need to have Apache / NGINX installed on your server. Make sure, you are using PHP in version 5.6 up to 7. For PHP version 8, system is NOT compatible.
Is it hard to configure the webapplication to make it working?
A step-by-step guide in .pdf format simplifies setup for all users. It covers importing the .sql file into MySQL, configuring connect.php with database credentials, HTTP Auth data, and the device token.
Will Watmonitor automatically generate source code for my hardware?
Watmonitor will automatically generate sketches for ESP32's WiFi or PHY Ethernet connection and supported ultrasonic sensors. It will automatically add MCU token into the sketch, it will calculate trace to the target PHP file and will automatically add your domain (for instance localhost will not work! You need to have it opened using IP protocol / domain name). Root CA certificate (in case of HTTPS connection) is NOT changed, so you will need to keep an eye on that and add it yourself into the sketch for ESP32.
Are there more source codes available except these directly in the Watmonitor app?
There are different source codes on Github compatible with Watmonitor interface. Created for Arduino + Ethernet (ENC or Wiznet series), ESP8266 or ESP32 and more transmission technologies such as LoRaWAN, Sigfox IoT. You can open them using button "Sensor node examples" on the top of this page.
What language options are included in the Watmonitor webapp?
Watmonitor webapp includes full language translations to English, German, Russian, Spanish, French and Slovak
Can I log data into other system from Watmonitor?
Yes, there is JSON output provided from the web interface of Watmonitor that allows you to parse these data and use them in your system (Loxone, Grafana, Kibana, Domoticz, Node-RED, Home Assistant, Thingsboard...). Data provided from the system are the latest data of water level, water volume and time of record written into the database.