Build Your Own Smart Drink Coasters
When I wrote an article on pervasive computing, the goal was to show people that its more than just sensing the environment. Pervasive computing is about making everything around us smarter and intelligent. What better place to start than with smart drink coasters?
The idea materialized when tasked with building pervasive applications for our launch party, held a few weeks ago at Sentilla World Headquarters in Redwood City. We wanted to show people how easy it is to make things smart, especially using Java. A few pervasive applications were built and the smart drink coasters became a reality. In this blog entry, I'll explain what the smart coasters do, what it took to build them, and there's a video of the coasters in action.
The idea. Let's build drink coasters that are so smart, they know when a drink has been placed on them and whether it is full or empty. They can notify the bartender when you need a new drink, and even be used to play drinking games.
In action. The video below introduces Sentilla's smart drink coasters. What you'll notice is that the coasters have a few unique characteristics that make them smart (and fun to play with):
- The coasters know when a drink is placed on top of them and when it is removed.
- The coasters notify each other when new things occur (a drink is placed on them, removed, etc)
- The coasters provide "visual feedback" using lights embedded within them.
- The coasters are wirelessly interconnected.
As you watch the video, notice the pattern of lights displayed by each coaster. Keep an eye on how the lights change as each person lifts a bottle off the coaster or replaces the bottle onto the coaster. As the drinks are lifted and replaced, the coasters are communicating with each other and keeping track of which coasters have full drinks and which ones are empty or need replenishment.
As you can see, the coasters can perform a whole variety of functions. These including sensing, acting (with the lights), reporting (wirelessly to each other and the bartender), and collaborating (such as playing a drinking game). The coasters are approximately 3 inches by 3 inches in size. Here's a picture of one in action, which I'll dissect later on.
Coaster games. After building a number of coasters and starting to play with them, we quickly realized that the coasters can do more than simply sense whether a drink is present. Our focus quickly turned to games that we can play with the coaster, ideas to get people involved and interacting around the coasters. The current favorite is a game of Simon. If you remember Simon from your childhood days (or at least my childhood days), it is a game where different segments of an object flash in sequence and you must repeat the sequence by pressing on the segments. The first player that fails to remember the sequence loses, and so on. What we realized is the drink coasters can also play the role of Simon segments. The coasters cooperate to create the sequence and detect when the player fails to follow the sequence. It is easy to see how Simon mixed with drink coasters can become a very interesting drinking game.
The implementation. Sentilla's smart drink coasters are created using all off-the-shelf components. Many of these are available at your local hardware store. We started with "picture frame" drink coasters, available at your local Michael's arts and crafts store. The coasters are made of glass (good for embedding lights) and include a space for the picture where we can embed the "smarts" (electronics).
The full parts list consists of:
- Picture frame coaster
- Pervasive computer (1 inch by 1 inch wireless computer available from Sentilla)
- 8 LEDs
- Pressure-sensitive switch
- On-Off switch
- Rechargeable battery and charging connector
- Transparent Acrylic
As mentioned above, Item 1 is available from Michael's and Item 2 is available from us at Sentilla. Items 3-6 are all available at your local electronics store, Radio Shack, or (my personal favorite) Digikey.
The brains of the operation are embedded in the pervasive computer -- a product we call Tmote Mini. It contains Sentilla Point, our Java runtime, which allows you quickly write and run new fun applications and games wirelessly. Start with this component, and then connect the other items around it.
The software. Let me take a quick diversion to talk about the software that goes into the coaster. Our intention is to make the coaster dynamic -- it can change applications easily and having multiple functions. In many senses, it is a "coaster software development platform" for building coaster applications. We fired up our Java development environment and started writing a bunch of coaster libraries (ah, we now have a com.sentilla.coaster.* package to import). All in all, our libraries took a few minutes to write and quickly other Java developers in house were modifying, adding, and refining the libraries. One library, our favorite right now, is called CircleCoaster. Very simply, it sets which lights are on, which ones are off, and then the coaster goes to sleep until the next segment of the circle needs to be lit up, thereby making the LEDs light up in a continually moving circle pattern. We didn't stop with CircleCoaster; we wrote libraries to collaborate (in one case, the coasters all display a single pattern on the LEDs when the majority of coasters have drinks placed on them and a different pattern when they don't) and play games. For those of you that are using Sentilla's software, we'll post some of our coaster libraries in our Developer Community.
The hardware. The main input device is a pressure sensitive switch. It tells you when drinks are present and how much force is pushing down on the coaster (due to our friend, gravity). You can get creative and spend as little or as much money as you want fidelity -- the more bits of information you want, the more money you'll spend. For us, 350N of pressure to activate the switch worked very nicely.
Here's where you get to be creative: the lights. We used standard LEDs in a variety of colors (as you can see in the video). Any LEDs will do, you can hook up as many as you want, and you can arrange them in different patterns, styles, and configurations. This is the fun part! Attach one end of the LEDs to the power supply and the other end to digital input/output ports on Tmote Mini.
The rechargeable battery is a must -- you certainly don't want to have to open the "guts" of the coaster up to change batteries. We wired the rechargeable battery to two life-saving items: an on-off switch and a connector that allows us to hook up standard chargers (like those you'd find at an RC/Hobby store). For this implementation, we used a simple slide switch and a 0.100" pitch socket for recharging (you find these on most PC motherboards). The battery is a common Li-Ion rechargeable, also available at RC/Hobby stores (most provide 3.6V of power). Obviously the other side of the switch is hooked up to the power and ground pins on the Tmote Mini.
You may be wondering: Why do I need acrylic? Here's another area where you can get creative. Acrylic is available at your local hardware store (we picked ours up from Home Depot). We cut pieces of acrylic and sanded them to be opaque and reflect light. They help the transmission of the light and they also raise the top piece of glass (which your drink will sit on) above the electronics.
We built these the old-fashioned way: with a bunch of wire-wrap and solder. A simple, quick turn printed circuit board can make the job a lot faster. When we were done, this is what the inside of the coaster looks like:
Once you've completed all the assembly, replace the top glass piece using double sided tape. Turn the switch on and fire up your Java development environment. You're ready to start loading applications on your coasters.
That's it! The software takes a few minutes to write and the hardware takes about an hour to assemble. This is just one of the many pervasive applications now possible. If you'd like to see other coaster applications in action, have ideas for what we should do with our coasters, or have any questions about how to build your own coasters, please post them in the comments.
2 TrackBacks
Listed below are links to blogs that reference this entry: Build Your Own Smart Drink Coasters.
TrackBack URL for this entry: http://blog.sentilla.com/mt/mt-tb.cgi/8
Here’s an ingenius little invention for all you boozehounds out there. Imagine if you will, sitting at your neighborhood watering hole, when the bartender sees a little flashing light out of the corner of his eye and just knows it’s time to... Read More
If you can stay sober long enough to build one, a company called Sentilla has developed a DIY "smart" beer coaster that could lead to a myriad of new drinking games for you and your friends to enjoy. The coaster... Read More


Jared said:
You could always try to integrate some of that wireless charging for the batteries too...
December 3, 2007 8:03 PM
Jeremy said:
where do I order my pervasive computers?
December 3, 2007 10:50 PM
Clive W. said:
Good morning!!
I would like to know if you can make a coaster that works in the opposite direction. We would like the alarm to go off when a specified amount of liquid reaches a certain weight. Also can you
program it to read a certain weight glass which
corresponds with the amount of liquid for that glass? Like a two part scale. Example: If I put
a glass weighing 18oz. can the scale sound alarm to go off when the total weight reaches 22 oz.?
Thank you for your time in advance,
Clive
December 7, 2007 8:03 AM
Joyce Johnson said:
Where can I buy one of these coasters?
December 7, 2007 8:31 PM
Jonathan R. said:
Can you post a link to buy the computer?
December 12, 2007 5:39 PM
Spencer said:
RFID tags anyone? Glasses with an RFID tag in the bottom could be used to identifiy the owner of the cup, and I'm sure you could have a coaster holder that charged the coasters the same way a base station charges a home phone.
Imagine a game involving placing certain cups in certain places. It could get really interesting. You mess-up, a buzzer goes off, the coasters flash, and some one is chugging.
I'm really trying to find one of those pervasive computers.
December 12, 2007 6:24 PM
Arthur said:
Nice coaster. Can you make one and start selling. :P
March 22, 2008 6:07 AM