ECE497 Project Not Your Average Cup of Joe

Revision as of 09:15, 14 November 2019 by Maddytwett (talk | contribs) (Future Work)
Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder

Team members: Hannah Woody Rahul Das Maddy Twetten

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

00 Executive Summary
00 Installation Instructions 
00 User Instructions
00 Highlights
00 Theory of Operation
00 Work Breakdown
00 Future Work
00 Conclusions
00 Demo
00 Late
Comments: I'm looking forward to seeing this.

Score:  10/100

(Inline Comment)

Executive Summary

Coffee lovers all over the world deal with the never ending struggle of having to make their own coffee. This usually results in them waking up earlier than they need to or causing them to be late for work because they got caught in the Starbucks rush. Our product is a web application that allows users to remotely schedule and have their coffee brewed from afar via an internet connected coffee maker. Currently, we do not have a direct connection to the website. Our coffee maker will be linked to user accounts and will allow the user to access the machine's settings. Instead of scheduling your life around coffee, you can now schedule coffee around your life.


For the final product, our team screwed the BeagleBone onto the back of the coffee maker. This way, the BeagleBone would not overheat when the coffee maker runs and it will be visible to the user for easy debugging.

Installation Instructions

1: Obtain a BeagleBone Black [1]

2: Obtain a Black and Decker 12 Cup Programmable Coffee Maker [2]

Black and Decker 12 Cup Programmable Coffee Maker.jpg

3: Unscrew the bottom of the coffee maker and unscrew the programmable board from the coffee maker.

4: On the programmable board, cut the RLY wire

Front of Prog Board.png

5: Solder/connect another wire extending the cut RLY wire in order to connect it to a GPIO pin on the beagleboard.

Extended RLY Wire.jpg

6: Solder an additional wire onto the GND terminal on the green part of the programmable board.

Back of Prog Board.png

7: Connect these two pins to the GND on the BeagleBone Black and a GPIO pin on the BeagleBone Black (We used P9_12)

Side of BeagleBone.jpg
Top of BeagleBone.png

8: Take a look at our GitHub page: [3]

9: Plug in the BeagleBone to give it power, and use the website to schedule/make coffee!

User Instructions

Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.


Here is a list of the extensive features of our smart coffee maker:

  • Turn the coffee maker on and off.
  • Start brewing a cup of coffee.
  • Stop brewing a cup of coffee.
  • Schedule a brew at a certain time.
  • Cancel a scheduled brew.
  • Create an account on the website.
  • Customize various items based on your web account.

Include a YouTube demo the audio description.

Theory of Operation

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

Work Breakdown

List the major tasks in your project and who did what.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Future Work

Some additional things our group could do:

  • Voice recognition brewing: The user can speak a command to the coffee maker and it will pick up the command and do the action. For example, the user could say, "brew a cup of coffee" and the coffee maker will automatically start making the coffee as long as the water and coffee grinds are inside of the machine.
  • Temperature sensing function: This will allow the coffee maker to brew the coffee at a certain temperature or hold the coffee pot at a certain temperature. This hold function is especially handy if the scheduled brew occurs and you are not able to get to your cup of coffee within 5-10 minutes of the brew, where the coffee pot will cool down too much. Additionally, the temperature sensing function will be able to report on the website the temperature that the coffee is being made at and the current temperature of the coffee pot.
  • Water level sensor: This sensor will allow the coffee maker to report to the user via the website that the water level is low. This is useful because the user will be able to know when he/she needs to refill the coffee maker with water in order to carry out the brewing.


Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.

thumb‎ Embedded Linux Class by Mark A. Yoder