Save the environment by reducing the number of disposable cups.

What it does

Intelligent cups have memory containing drink preferences uploaded by a phone app over bluetooth. An intelligent coffee machine would then read the cup and serve the drink according to these preferences. These coffee machines would be aimed at coffee shops primarily, but could become available for general consumers.

How we built it

An Arduino 101 is simulating the cup and acts as a bluetooth peripheral. An LCD shows the current preferences stored in it. The phone app acts as the bluetooth central that sends the preferences to the cup. The app can hold many custom profiles.

Challenges we ran into

Setting up the bluetooth connection between the phone and the Arduino 101 with our custom app.
We had a lot of trouble trying to figure out how the bluetooth low energy protocol could be used with a custom app, and not with a pre-built app like nrfToolkit. In the end, we managed to get the connection working and being reliable after almost 5 hours of research and testing.
Working with limited hardware
We unfortunately did not have access to the RFID/NFC reader, which would have been extremely useful for a coffee machine/cup interaction. Moreover, we did not have a DragonBoard, which could have been used for a prototype coffee machine and allowed us to have more than just a cup simulation.

Accomplishments that we're proud of

We have a reliable connection between the phone and the cup. The app is looking good and is stable. We also developed a way to send all the required preference data with a single integer, manipulating bits directly to optimize speed.

What we learned

We learned a lot about bluetooth low energy protocol. Services, characteristics, peripherals, centrals, etc. are all different terms we learned to use and interface with. We also learned that next time we will have to reserve the hardware in advance.

What's next for uDrink

  • Implement NFC
  • Prototype a real cup
  • Prototype an intelligent coffee machine
  • Account/payment handling
  • Marketing plan

By = new Winners();
Ibrahim Choukier, Talet Kayhan, Guillaume Richard, Arryan Zaman

Share this project: