Close
0%
0%

Openthing 3 - RiWa

Pressure based water level tracking system

Similar projects worth following
This is a concept and PoC of a two pressure sensor solution to accurately measure the water level of a river or any other water level of some sort (as long as it belongs to an open pressure environment). One Sensor acts as a bouy and one as a stationary reference which then can together measure the level of the water precisely and permanent. Based on solar this project could be 100% self-sufficient.

The Problem

The challenge of accurately monitoring river water levels is unsolved in many places. Current methods are often manual, time-consuming, and prone to inaccuracies due to factors such as weather and human error. Openthing 3 RiverWatch provides low-cost but accurate water level measurements that enable timely flood forecasting, effective water management, and improved environmental monitoring.

The Solution

The idea of this concept is to use a solution with two pressure sensors to measure the water level in the river. The first sensor, a stationary sensor, is calibrated to accurately measure atmospheric pressure at a fixed height above the water surface. This sensor provides a high-precision reference point.

The second sensor, which acts as a buoy, floats on the water surface and is also calibrated to measure atmospheric pressure at the height of the water level. This sensor is intended to provide reliable measurements in the same accuracy range as the stationary sensor.

By using the calibrated pressure sensors and taking into account the known accuracy range, this solution enables the calculation of the water level in the river with high precision.


Technical Details

With BLE Long Range this solution can reach a area of about 200-300m (in theory so far). Both BLE Devices will be synched by time and wakeup at the same time. Then the Bouy will send its measurements to the station which then keep the data as a data logger device. 

The station can come in various forms like a plain data logger which can log the data onto an SD card or just keep it and is transfered to a smartphone manually at any point. As well as a internet device which gets access to the internet via LTE or NBIoT to send its data. 

  • RiWa Battery Usage using ESP32-S3

    Mirko03/25/2024 at 22:58 0 comments

    Today I measured the power consumption of the bouy setup. I added a pin-header to the board which I can use to cut the BATT+ track and place the PKKII from nordic in between to measure the current consumption.

    The implementation is as follows: 

    1. Device boots
    2. Measures Pressure and temperature
    3. Connects to ESPNow (the Station is setup as Broadcast device and the Bouy broadcasts its data)
    4. A time is calculated to be set as alarm to the RTC 
    5. Wake on GPIO setup
    6. Go to deep sleep 

    Once the Alarm is triggered the RTC pulls its event pin low which triggers the ESP32 to wakeup and run the code again. The same happens on the Station.

    This whole cycle takes ~600ms and consumes an average of 65mA. While sleeping the device draws ~350µA

    So far - so good! 

    This can still be improved! The LED is currently on a brightness of 100% for the whole time (for debugging and visibility) and the Pressure Sensor is in continous measurement mode it can be changed to manually measure only in the active cycle. I am using toit as a code-base and there is currently also some time improvements which could lower the cycle time.

  • First Prototypes of the RiWa are here

    Mirko03/22/2024 at 15:55 0 comments

    Do you remember the last post? I showed the 3D rendering of the river watch RiWa and a few weeks later I have them on my table

    They are equipped with the ESP32-S3-WROOM-1U where you can attach an external antenna. I will run some tests later to check the distance I can reach with that combined with ESPNow. 

    The Board also comes with an RGB LED (APHF1608LSEEQBDZGKC) which is also used on the nRF52840 USB Dongles. This RGB LED is always available in big quantity and to use it you can utilise 3 GPIO Pins which you draw LOW. Pretty straight forward. I will use it for debugging and status checks.

    There is also an RTC (RV-3028-C7) which is ultra low power and has a high accuracy. I attached a supercapacitor to it for time-keeping which will last around 3-4 month if the device has no battery attached to keep the time. 

    I also use my favorite Battery charging IC (MCP73831/OT) to charge any type of LiPo Battery like a flatpack or a 18650. 

    There is also the pressure sensor from Infineon (DPS368) to measure precise values of pressure and temperature. I already figured out that the temperature is higher then usual due to the fact that it is very close to the ESP board which generates heat but I think that should not be an issue. 

    Of course such a prototype does not come without issues: I used 3 of the 4 strapping-pins of the ESP32 and pulled them up for whatever I use them for. I could have used any other Pin but I went for those and I had to patch it on the board. No idea why I did not checked that bafore. 

    But besides that the board is running nicely and smooth. I implemented a driver for the RTC and I am able now to set an alarm to sync both devices precisely. Let's see how this is going :) 

  • First draft and nRF exchange with ESP32

    Mirko02/16/2024 at 12:36 0 comments

    I have drafted a prototype board following tests with the Range using ESPNow and the ESP32. While the results are not entirely satisfactory yet, they suffice for this initial version. I utilized the ESP32 and integrated ESPNow communication with Toit to interact with two devices. Leveraging Toit made this process incredibly swift, and the communication functioned seamlessly. I successfully synchronized the two devices and managed to wake them up to transmit pressure data from one to the other.

    Upon testing, I ventured outside and received the values without any issues within an 80m range. However, when obstacles obstructed the line of sight, such as buildings, the connection was lost. This is not ideal, but considering the line of sight and an 80m range, it's a workable situation. Additionally, the height value was accurately calculated, providing a stable reading of 15m. This height corresponds roughly to the elevation difference between my outdoor location and the height of my balcony.

    Then it was time to layout a PCB version with the ESP32 - realising I already did one for the nRF52. It already contains most of the ideas. IP68 connectors, the DPS368 placed in a way it can be sealed with a O-Ring, current measurment option and so on. Also the ESP32-S3 is the U Version with a connector for an external antenna to hopefully increase the distance. It also comes with a battery charger and a battery connector to power it using a battery.

  • First PoC Buoy - Station Setup of RiWa

    Mirko01/25/2024 at 09:11 0 comments

    Yesterday, I had a discussion with Wilderness International regarding my projects, as the issues to be addressed originated from them and Fauna Forever. The primary objective is to precisely measure the water level of the Tambopata River in Peru and monitor its rapid fluctuations in height. Unfortunately, they lack the resources to fund the development of such a system, although it could provide an invaluable opportunity for researching the impacts of climate change on the environment. While I am passionate about dedicating my full time to these projects (which I currently do), the reality is that I still need to cover my living expenses. Nonetheless, someone must take the initiative to kick-start this endeavor.

    Some time ago, I initiated a Proof of Concept (PoC) and developed the code to measure pressure values from the DPS368 Pressure Sensor, calculating the height between two BLE-connected devices. With the optimal and most accurate settings, the system is already functioning impressively well, demonstrating a high level of precision.

    Both the Buoy and the Station are ESP32 DevKit-based, with the DPS368 Sensor connected via I2C. Following the proposed concept, the Station measures the local pressure, while the Buoy captures the "moving" pressure. In this configuration, I employ continuous measurements without sleep (referred to as USB mode), and the Buoy transmits a value to the Station every second.

    Then I move the Buoy on a scale to a height x and checked the terminal log

    Impressively it can get very accurate with +-10cm accurracy. That is not really needed for this project but it helps to make it a good project.

    Conclusion

    In conclusion, the Proof of Concept (PoC) has successfully demonstrated its functionality in a controlled laboratory environment. I am optimistic that this system can perform effectively in the challenging conditions of the Peruvian rainforest along the river. However, there are several challenges that need to be addressed, such as devising a secure method to attach the buoy to prevent entanglement with debris and avoid getting stuck on sandbanks. Additionally, making the device waterproof is crucial for its durability in the field.

    The use of solar power presents itself as an ideal solution for sustaining the device and eliminating the need for manual charging. To enhance the communication range, the implementation and testing of BLE long distance (coded PHY) are essential. Unfortunately, as I am not a C Developer, this task poses a significant challenge.

    Despite these hurdles, I believe that with the right solutions, this project has the potential to serve as an innovative and valuable tool for measuring river water levels globally, functioning effectively as a local data logger. 

    I would greatly appreciate any form of support or assistance in overcoming these challenges and making this project a reality.

View all 4 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates