Inspiration

Beer pong is a popular hobby among university students, however it can get boring. We decided to add another level of difficulty and interactiveness to the game.

What it does

Our beer pong setup, rotates the cups and uses sensors to determine which cups are left. Each round a random remaining cup is chosen and displayed using the front LEDs to be worth bonus points. The score, time, and cup statuses are streamed and displayed in realtime on a web application so players can see how they rank amongst their friends.

How we built it

We used cardboard, servos, and an Arduino to spin the cups and gather data from the hardware end. A control program with internal logic to govern games and transmit data was created via C++. The data was sent to the web app using the MQTT IoT protocol through a personal MQTT Broker (cloudMQTT). Node.js was used to create the server which interfaced with the MQTT Broker. The web app was created using HTML, CSS, and Angular.js.

Challenges we ran into

Hardware side: Configuration, connectivity, insufficient documentation. Software side: Limited computational resources, deciding between different implementation methods, learning curve for websockets and MQTT.

Accomplishments that we're proud of

We were able to build a rotating beer pong contraption, stream data from the Arduino to a web app, and adapt and overcome problems. Many many things did not go to plan, but we put in a lot of effort to hack things together.

What we learned

The intel Edison is very hard to setup and use. Learned about MQTT and websockets.

What's next for HashtagAlternativeHacks

Go home to shower

Share this project:

Updates