Ultrasonic Water Level Monitoring

ESP32 + LoRa + AWS-powered IoT solution for remote water level measurement

System overview

📌 Project Overview

This project addresses the need for real-time monitoring of water levels in remote locations such as water tanks. It leverages an ESP32 microcontroller paired with an ultrasonic sensor to measure distance from the sensor to the water surface, then transmits the data using a LoRa module to a centralized gateway (another ESP32 module). From there, the data is published to AWS for storage, analysis, and visualization.

🔧 Hardware

Ultrasonic sensor and LoRa module

🌐 Software Architecture

The ESP32 reads ultrasonic distance values every minute and transmits them via LoRa to a nearby LoRa receiver. This receiver is connected both to the power grid and the internet network. The gateway publishes the data via MQTT or to an AWS IoT Core Thing. Below is a photo of the prototype version of the system:

MQTT message preview.

📊 Pending improvements

On the AWS side, data can be visualized via custom dashboards. This implementation is pending, as well as the integration of a web server on the ESP32 to allow for real-time monitoring via a web interface.

Prototype preview. Powered by a smartphone powerbank Full box + solar panel

🔗 Project Links

← Back to Projects