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 - 18.44 kB - 10/21/2021 at 08:59

Download

Standard Tesselated Geometry - 43.05 kB - 10/21/2021 at 08:59

Download

SensibleFlow_Bottom(updated).stl

Bottom piece of Sensible Flow. Combines with SensibleFlow_Top.

Standard Tesselated Geometry - 29.09 kB - 10/21/2021 at 08:59

Download

SebsibleFlow_Top(updated).stl

Top piece of Sensible Flow. Combines with SensibleFlow_Bottom.

Standard Tesselated Geometry - 107.89 kB - 10/21/2021 at 08:59

Download

SensibleFlow_Holder.stl

Fixed to the tap.

Standard Tesselated Geometry - 29.67 kB - 10/21/2021 at 08:57

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

View all 7 components

  • Current Consumption and Battery Life Estimation

    Josh EJ03/21/2023 at 13:44 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 EJ03/20/2023 at 17:10 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 EJ10/09/2022 at 14:34 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 EJ10/09/2022 at 14:12 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 EJ10/09/2022 at 09:24 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

  • Getting Started

    Josh EJ10/09/2022 at 09:15 0 comments

    I had worked on this project from from May 2021, with long intermittent breaks. Although the logs seem to be from the same day, in reality each step in the process took a long time with weeks and months of gaps. 

    The initial plan was to make a device which starts a timer when the tap handle moves/rotates and warn the user if water was running for too long. But later I observed that water flow is generally constant for a specific position of the tap handle. So I came to the conclusion that water flow can be indirectly estimated based on the tap handle position. The next phase was to build the prototype, the plan was to have a single device (mounted on a tap handle) to estimate tap handle movement, display water consumption, connect to the internet and have a battery life up to a year. As it wasn't feasible to have all these features and still remain compact, the plan changed to having two units, Sensible Flow (estimates tap handle movement, compact, low power) mounted on a tap handle and Base (displays water consumption, connects to internet, no restriction to size and power) mounted on a wall power outlet. Both the units would communicate with each other using Bluetooth Low Energy. 

View all 6 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