Rationale
We all struggle to maintain adequate hydration from time to time and it's easy to lose track of fluid intake throughout the day or to know if it's sufficient, especially during the summer, when playing sports, or when engaged in training. Under-hydration can lead to a whole range of symptoms including headaches and fatigue and mean we're not functioning at peak performance. I've created a little project seeking to address this by designing and building a water bottle that will automatically keep track of fluid intake throughout the day.
Ideally, the electronically-enhanced water bottle will have the following features:
- Automatic calibration
- Automatic change in fluid volume detection and calculation
- Easy to read display of fluid volume intake
- Battery rechargeable via separate base plate or ingress-protected USB port
- Drink and lay down detection via accelerometer feedback
- Low profile and lightweight electronics
- Low cost
- Robust
- End-user friendly
Implementation
The idea is to use calibrated capacitive fluid sensing to measure changes in volume inside a water bottle by attaching flexible capacitive strips to the side of a plastic (or glass) bottle. In this way via MCU, changes in volume could be stored, summed and displayed via a small OLED, LCD or E-Paper display.
Initially my thought was to use an Atmel ATTINY85 as the MCU for the ease of programming (Arduino IDE + AVR ISP), relatively small size but still hand-solderable and the many code examples available for it. Plus the added bonus of relatively straight-forward porting of Arduino code to the ATTINY85. I'm open to considering the use of a more suitable MCU such as the ARM Cortex M0+ if anyone has better ideas.
I've designed a small test board so I can begin testing the concept and plan to construct a capacitive sensor from strips of copper and polyimide tape attached to a water bottle. At the moment I've opted to use a dedicated capacitance to digital converter (AD7150) which has built in temperature compensation and error correction features which should help to simplify the software side of the project.
Who does not feel, if he is not "adequately hydrated"? It's called "thirst".
What do you do if the bottle claims, you had drunken enough, but you are still thirsty?