Close
0%
0%

Sensible Flow

Estimates water usage based on the tap handle rotation/movement and gives real time water consumption.

Similar projects worth following
Many of us take our continuous water supply for granted, we also do not know how much water is consumed on a real time basis for daily tasks and also consume more than required. Rapid urbanization is leading to a water crisis. An important step towards judicious consumption is being able to easily estimate real time water usage.

Sensible Flow estimates water usage based on the position of the tap handle after it has been rotated/moved. It is easy to setup and does not require any modification to the existing water line. The device gives warnings when excess water is being consumed.

This Project focus on the "Sustainable Cities and Communities" and "Responsible Consumption and Production" UNESCO Sustainable Development Goals.

With the current version of the software, the days last 34 days and 9 hours. With further optimizations and refinements, the device would last up to a year.

Sensible Flow

Sensible flow uses an Inertial Measurement Unit to determine the tap handle movement and position. The devices comes with flow profiles for different types water flow. To improve the accuracy a custom flow profile can be setup, and each tap position is assigned a flow rate, this can be done automatically with a flow rate sensor or by manually measuring flow rate with a cup. Once the water flow has been inferred from the tap handle position, the data is sent to the Base unit via Bluetooth Low Energy. The Base unit displays the estimated total water consumed for a particular day (updates real time) and sends data to the internet via WiFi to monitor water consumption for the whole year. Multiple Sensible Flow units can be connected to a single Base unit and monitor water usage across various taps.


Current Consumption and Battery Life Estimation

Using the Nordic Power Profiler kit 2

When BLE was connected but not transmitting any data, it consumed 41 milliCoulombs per minute.

When BLE was connected and transmitted data twice, once to open the tap and once to close the tap, it consumed 45.8 milliCoulombs per minute.

Let's assume that the tap was opened and closed 4 times in an hour:

                         = [ 45.8 X 4   +   41 X 56 ] mC / hour

                         =  2479.2 mC / hour

                         =  0.6886 mAh / hour

Considering a battery size of 500mAh = 500 / 0.6886 hour

                                                                = 726.11 hour  = 30.254 days

                                                                = 30 days 6 hours

Note that I am still figuring out how to use the low-power modes of the nordic nrf52 chip, I am quite confident to optimize the battery life to 3 months minimum. 

Libraries / Software used:

1) Adafruit GFX Library (https://github.com/adafruit/Adafruit-GFX-Library) is under the BSD License.

2) Adafruit SSD1306 Library (https://github.com/adafruit/Adafruit_SSD1306) is under the BSD License.

3) Arduino IDE (https://github.com/arduino/Arduino) is under the GPL V2 License.

4) FreeCAD (https://www.freecadweb.org/) is under the LGPL-2.0-or-later License.

5) Arduino-ESP32 library (https://github.com/espressif/arduino-esp32)  is under the LGPL-2.1 license.

6) SparkFun_MPU-9250 Library (https://github.com/sparkfun/SparkFun_MPU-9250-DMP_Arduino_Library) is under the MIT License.

Standard Tesselated Geometry - 107.89 kB - 07/03/2023 at 16:52

Download

Standard Tesselated Geometry - 29.67 kB - 07/03/2023 at 16:52

Download

Standard Tesselated Geometry - 43.05 kB - 07/03/2023 at 16:52

Download

Standard Tesselated Geometry - 18.44 kB - 07/03/2023 at 16:52

Download

Standard Tesselated Geometry - 29.09 kB - 07/03/2023 at 16:52

Download

  • 1 × Arduino Pro Mini 8Mhz 3.3V
  • 1 × CR2450 Coin Cell Battery
  • 1 × HC-42 BLE Module
  • 1 × MPU9250 IMU
  • 1 × ESP32 WROOM 16MB

  • Current Consumption and Battery Life Estimation

    Josh Joy07/03/2023 at 16:59 0 comments

    Using the Nordic Power Profiler kit 2

    When BLE was connected but not transmitting any data, it consumed 41 milliCoulombs per minute.

    When BLE was connected and transmitted data twice, once to open the tap and once to close the tap, it consumed 45.8 milliCoulombs per minute.

    Let's assume that the tap was opened and closed 4 times in an hour:

                             = [ 45.8 X 4   +   41 X 56 ] mC / hour

                             =  2479.2 mC / hour

                             =  0.6886 mAh / hour

    Considering a battery size of 500mAh = 500 / 0.6886 hour

                                                                    = 726.11 hour  = 30.254 days

                                                                    = 30 days 6 hours

    Note that I am still figuring out how to use the low-power modes of the nordic nrf52 chip, I am quite confident to optimize the battery life to 3 months minimum. 

  • Current Consumption and Battery Life Estimation

    Josh Joy07/03/2023 at 16:57 0 comments

    Using the CurrentWave / microCurrent Gold

    When the Sensible Flow unit is connected to the Base unit via BLE, it consumes 600uA to sustain BLE connection in low power mode and also the IMU in low power. 

    The IMU in low power mode is setup activity-based interrupt, the IMU sents an interrupt signal when motion is detected. An interrupt service routine runs which transmits the pitch, roll and yaw value of Sensible Flow. During transmission the device consumes 1.2mA. 

    Only when the Tap is rotated it consumes 1.2mA for 2.5 seconds and goes back to sleep meaning 500uA.

    Let's assume the tap rotations are 10 min per day 

                                                     = [ 1.2mA X 10 min + 0.6 mA X ( 23h 55m) ]  / day

                                                     = [ 12mA X 0.0167h + 0.6mA X 23.91h ] / day

                                                     = 14.54 mAh/day

    Considering a battery size of 500mAh = 500 / 14.54  day

                                                                     = 34 days 9 hours

  • The 2nd Prototype

    Josh Joy07/03/2023 at 16:56 0 comments

    The 2nd iteration used a CR2450 Coin Cell battery, along with Arduino Pro Micro, which helped make things much more compact. 

    Size comparison between the 2nd Prototype and the First.

  • The First Prototype

    Josh Joy07/03/2023 at 16:55 0 comments

    The first prototype was built using components I already had in the workshop, it used a AAA battery as the power source. An atmega328p IC on a breadboard, along with an MPU9250 IMU and HC-42 BLE module. I used this prototype to verify if I could accurately estimate water usage indirectly from the tap handle movement using an IMU, and the test was a success.  

  • Figuring out the components

    Josh Joy07/03/2023 at 16:54 0 comments

    The first Sensible Flow prototype design process involved selecting components (Inertial Mass Unit, Bluetooth Module, Microcontroller) based on ease of availability and ease of use. Future iterations will use components that use lower power and cost lesser, integrated into a custom PCB.

    Sensible Flow

    Sensible Flow estimates water usage based on the position of the tap handle after it has been rotated/moved.

    1) Arduino Pro Mini 8Mhz 3.3V

    2) HC-42 BLE Module

    3) MPU9250 IMU

    Base

    The Base unit displays the estimated total water consumed for a particular day (updates real time) and sends data to the internet via WiFi to monitor water consumption for the whole year. Multiple Sensible Flow units can be connected to a single Base unit and monitor water usage across various taps.

    1) ESP32 WROOM 16MB

    2) 0.96 Inch OLED

    3) Hi link 3.3v 3W

View all 5 project logs

View all 3 instructions

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