Inspiration

When working in the kitchen, we have to handle many different ingredients, wet foods, and big messes. Constantly searching for the small things you need constantly takes time and is often frustrating. Even more so, to switch back and forth between wet and dry ingredients means frequent hand washing. Messy situations like these are prime examples of where the internet of things and voice commands are most useful, yet there are disappointingly few tools to handle even the most basic tasks. Aroma addresses these challenges by providing a way to automatically manage your inventory of spices and seasonings while also automatically delivering them precisely to you.

What it does

Aroma is a seasoning delivery tool that can hold multiple spices simultaneously while quickly and precisely providing them to you. To use it, all you have to do is place a bowl or plate under the device and then select what you would like. You can do this using either the in-built touch screen, or by asking a Google Home to dole out specific quantities. Even better, if you're currently working on a recipe, the Google Assistant can automatically provide the seasonings you need at the moment you need them.

How we built it

The hardware for Aroma is built atop Android Things. Using a custom designed chassis, we developed an interlocking mechanism that can attach to the lids of standard seasoning containers and then automatically measure and dispense the contents. A great deal of time was spent making the system easy to use as a standalone platform. As one might expect, all you need to start is to select the spice from the embedded touch screen. Once the mechanism has adjusted itself, a button becomes available that allows you to keep delivering the selected spice while it is held. Furthermore, it will indicate in real time exactly how much has been dispensed.

However, since our main focus was to make this usable totally hands free, we designed an extensive Google Assistant backend. Not only can the Aroma assistant dispense exact quantities of seasoning, it can also read your recipes aloud and provide the appropriate seasoning where necessary. This was implemented using the actions-on-google API hosted on Firebase.

Challenges we ran into

Engineering the mechanisms to be able to hold and dispense spices was tricky. In order for the system to be useful, it had to know exactly how much was being released, and could only deliver when it was supposed to. This required a high degree of engineering that isn't usually necessary during a hackathon. As such, the hardest challenge we faced was developing the delivery mechanism. We went through nearly 6 designs before settling on the current one.

Accomplishments that we're proud of

Not only were we able to deliver a single spice, we were able to deliver any of three spices without requiring a separate servor for each. As such, this technique can be trivially extended to handle far more spices.

What we learned

Integrating actions-on-google with Android Things was surprisingly easy. We were able to develop reactive message passing with only minimal work. This was also our first project where we did any significant manufacturing, and we learned how to quickly design and iterate to develop a functioning system.

What's next for Aroma

The implementation of Aroma's interlocking mechanism is somewhat crude due to the materials available. However, with access to better fabrication tools, the whole design could be shrunk signifcantly, allowing denser storage of spices. In addition, there are many ways we could make Aroma smarter, such as determining from context when you might need an ingredient.

Built With

  • actions-on-google
  • android
  • android-things
  • firebase
  • google-assistant
  • google-home
  • kotlin
Share this project:

Updates