This spring for our Physical Computer final, Zane Brzezinski, Seth Hamlin and I sought to use the varied knowledge we have accumulated this semester and attempt to realize Seth’s dream of creating a device that could change the relationship a waiter has with their customers. Call it a koolkster, call it krazykoaster, the quail, or undefined, (we could not agree on a name) the device’s intention is to record the amount of sips, the size of the sips, the number of drinks, and eventually emptiness of a drink that is placed on its platform. Consequently, due to the fear of creating an elaborate scale, we sought to take this data and make it into a drinking game. Here is the evolution of our device.

[flickr-gallery mode=”photoset” photoset=”72157626583411597″]


three superbright red LED’s
One piranha RGB LED
one LCD screen. 2118660 DISPLAY,LCD,16×2,SERIAL,5V,I2C
one two stop  switch: for mode change
masonite hard board
screws and nuts
foam and cork feet

here is the keynote presentation we made in class:

Keynote Presentation.

Functionalities: The master flipswitch on the top controls the two modes the box records and shows in the LCD screen:

Mode 1: LCD shows drinking stats by default: number of sips, number of drinks

Mode 2: “chug mode”: single tap with cup on pedestal to ready if connected unit is also ready, enters “race” mode as cup lifts, timer starts, timer runs until pedestal is depressed
in race mode, will display “winner” or “loser”; also displays time it took to chug.
There is a reset button on the back to set all variables back to zero. We tried to code for the event “drink empty”, where the RGB light cycles through colors to indicate to the waiter that the customer needs another drink, but it never quite worked. Here is the code:
Here is the Arduino code

pastie code

The unit is sturdy, and the spring setup with the styrofoam pillar to hold the FSR worked well enough to trigger the unit, but did not have the sensitivity to accurately record the number of sips. The chug race mode  worked well: taking a sip triggered the timer, and it stopped when the cup was placed back on the stage. The stage was very unstable. Subsequent iterations of the design must address, and must make the case smaller to have it work well on counter tops or table tops.

If we are going to pursue this design further, i would suggest using a more sensitive way to measure the presence of the cup on the stage. The code works and does an adequate job of recording sip counts. The key to the design is a better method to measure the force of the cup and have it zeroed when the glass is empty (not when the stage is empty).