Hacked Together Coffee Pot Control Protocol

Inspiration

We're college students, and mornings are really not what get us excited. We spend a lot of time dragging ourselves around, doing our morning chores, and pulling ourselves together.

What it does

The HTCPCP machine houses a fully-automated coffee making apparatus, which contains a large variety of k-cups, a motorized turntable with up to six coffee mugs, as well as cream and sugar that can be portioned according to your preferences. It also holds a high-volume alarm bell capable of waking up even the heaviest sleepers, and a fully-networked and voice-controlled Amazon Echo, connected to our custom Alexa skill.

The onboard computer uses cloud infrastructure to schedule regular brews and store your preferences. If you've had a long day at work, you can pull up our website and have a fresh cup of tea by the time you get home.

How we built it

Our team has a diverse skillset, so we set out to build a stack as complex, multifaceted, and disorganized as we are. The core of our service has three layers: a Golang webserver and database frontend which maintains state including past brews and scheduling information. That server communicates with a Python3 client running on the Raspberry Pi that sits on the cart over websockets, and dispatches drink orders that have been entered over the web. This then uses the serial interface to talk to the Teensy, which actually controls all of the physical devices.

Challenges we ran into

There were many, but the most time consuming and difficult ones were physical; we worked largely with wood, and had to align many finnicky moving parts.

Accomplishments that we're proud of

Getting everything to work together across an enormous number of interfaces, and actually produce a drinkable real-world result.