The thing you didn’t know you wanted!

It’s midterm time for PComp and though my partner Utsav and I settled on developing what is essentially a very smart coaster to keep you nicely hydrated throughout the day. We figured anyone not in grad school should be getting around 8 hours of sleep and so have 16 hours left to drink 8 glasses of water. If they can keep up with one glass every 2 hours the Aquarduino shines blue. But as they fall behind that rate it shines gradually more red and different alerts will appear on the screen reminding the user to drink more water.


Connected to a velostat FSR, the Arduino passes whether or not a cup is present, and the force being exerted if one is. We had a lot of noise problems on this end. On some days we would get a nice steady zero if nothing was present and others we’d get something hovering in the 40s. We even tried it with a regular FSR and would get the same problems. I eventually lessened by tinkering around with different thresholds for “zero” as well as for noise. The Arduino also takes in a constant value from P5 that tells it what color it should be in regards to the drinking rate.

Upon pressing reset, P5 stores the maximum value of a full cup of water and starts a timer. It uses that max value to estimate ranges to display on screen, to determine whether the cup Is empty(or close enough…), and to add to to the cup counter if the value goes back up to the max from empty.

You can check out the P5 code here.

Because of some of our noise problems and because you currently have to sit the cup on the edge of the fsr to get the best information, I made a larger one (more like an actual coaster) to test with…


but the readings were noisier and not as strong so we scrapped that idea.

So if you want to see it (sort of) work, here it is!

We also thought about adding a second mode to use at bars that will figure out if you’ve been drinking too fast. But that can come later…