Skip to main content
Proudly based in Lowertown

289 5th St E, Suite 105

St. Paul, MN 55101

Technology

Hydration Reminder Desk Gadget

As a hobbyist inventor, my brain is always fascinated by how technology can be used to solve problems and enhance lives. This way of thinking, and guidance from a few fellow makers, helped spur the creation of a new device; the Hydration Reminder Desk Gadget.

Background:

Water is the primary component that makes up roughly 60 percent of our body weight. When we feel dizzy or have low energy, often times it is because our hydration meter is running low. According to the National Academies of Sciences and Engineering, males should be drinking 15 cups a day, whereas women are recommended to drink about 11 cups a day. This counters the popular belief that everyone should be drinking 8 cups of water a day.

There have been many times where I have been so focused on an activity that I forgot to drink enough water, resulting in symptoms of dehydration (i.e. dizziness, fatigue). To ease this, I had thought of making an electronic desk accessory, made of soft rubber, and in the shape of a water droplet. The accessory would pulse a soft glowing white light until a button was pressed to dismiss the alert. This pulsing white light would serve as a better distraction in comparison to a cell phone alarm or a calendar alert, which were easy for me to dismiss. The desk accessory alert was to occur every hour and a half from the time the device was turned on until the user indicated they had drank a total of (n) number of cups. When the final button press is made for the day, a dazzling light blue display sparkles until it shuts down.

Circuit Design:

Below on the left, is the design of the circuit made with TinkerCad. This is a free online circuit modeling program that allows you to save images of your circuit design, as well as run your program to test expected behavior. On the right is a picture of the soldered components to proto-board that includes an LED ring with a button mounted in the middle. This button is raised slightly higher to allow users to easily press the top of the water droplet to indicate when they have gotten up to drink a glass of water. The circuit design shows an Arduino UNO, although I used an Arduino Mini Pro 5v for the final product to reduce the form factor and make it portable, hooking up a lithium battery as the power source.

3D Object Model Design:

This model took roughly an hour to design and was made using OpenSCAD, a free software program used for designing 3D CAD objects. It took nine hours to 3D print the model with a few layers of infill. Next, the soft rubber solution was mixed and poured into the mold. After five minutes of setting time, the droplet was ready to be removed.

Final Product:

Below is the final version. Light from the LED ring appears to diffuse well through the translucent soft rubber (made with ComposiMold’s soft rubber 2 part solution). The reason I decided to use soft rubber was to allow the user to press down into the droplet and be able to activate the embedded button. This also served as a perfect insulator for the embedded circuitry.

Challenges:

There were two important things I learned from this project:

1.) Perceived brightness to the human eye is on an exponential curve. In order to compensate for this, you need to slow down the rate at which brightness increases to see the light pulse from dimmest to brightest. To do this, you can apply a logarithmic function, since it is the inverse of an exponential function.

2.) It is difficult to program seemingly simultaneous events with electronic hardware. At first I tried out polling, a method used to switch from function to function after a brief period of time has passed, thus faking simultaneous events. However, this was messy to implement due to the number of variable states that needed to be saved. I then discovered interrupts and found that you can use the Arduino’s interrupt pin to listen for button presses while the rest of your program is running and subsequently change a boolean flag (e.g. isButtonPressed = false → isButtonPressed = true).

Making your own solution to a problem is a fun and rewarding process. I can say that I have been much better about drinking water since making the water droplet.

To see the code behind the droplet, visit: https://github.com/abeyko/h2go

Thank you to the friends who helped me with this project: Kristina Durivage, Eric Marks, and Brian McEvoy.