High Level Design
High Level Design for
“Fill ‘Er Up”
Submitted By:
David Finnell, dfinnell@nd.edu
Eric Hawkins, ehawkin3@nd.edu
Richard McManus, rmcmanu2@nd.edu
Mike Slusarczyk, mslusarc@nd.edu
December 12th, 2023
Senior Design
EE 41430
Department Of Electrical Engineering
Notre Dame, Indiana
Table of Contents
No. |
Title |
1 | Introduction |
2 | Problem Statement and Proposed Solution |
3 | System Requirements |
4 | System Block Diagram |
4a | Overall System |
4b | Subsystem 1: Cup Sensing |
4c | Subsystem 2: Main Board |
4d | Subsystem 3: Coffee Pour Tracking |
4e | Subsystem 4: User Interaction |
4f | Future Enhancement Requirements |
5 | High Level Design Decisions |
6 | Open Questions |
7 | Major Component Costs |
8 | Conclusions |
9 | References |
1. Introduction
In the ever-evolving landscape of convenience and precision, the design and implementation of smart and adaptable systems have become imperative. The focus on enhancing user experience is particularly seen in everyday appliances where small yet impactful innovations can significantly elevate user satisfaction. Our senior design project endeavors to address this need through the creation of an intelligent system for a single-cup coffee maker, revolutionizing the way users enjoy their favorite brews.
The primary goal of this project is to develop a cutting-edge system capable of autonomously sensing the size of a cup placed beneath it and dispensing the ideal amount of coffee to achieve a perfect brew. This innovation seeks to eliminate the guesswork involved in the coffee-making process, ensuring consistency and customization in every cup. Through the seamless integration of various sensor technologies and precision control mechanisms, our system strives to enhance the overall user experience with their coffee machines. Through careful design and implementation, our team aims to strike a balance between technological sophistication and user-friendliness, providing a product that not only meets the functional requirements but also resonates with the end-users.
This document outlines the high-level design of our innovative coffee maker system, detailing the architecture, components, and interactions that contribute to its overall functionality. As we delve into the specifics, we will explore the sensor technologies employed, the control algorithms governing cup size detection and coffee dispensing, and the overall system architecture that ties these elements together. With a focus on precision, adaptability, and simplicity, our coffee dispensing system aims to redefine the morning ritual for coffee enthusiasts, offering a personalized and consistent brewing experience. As we embark on this design journey, we are committed to pushing the boundaries of conventional coffee maker functionalities, setting new standards for user satisfaction in the realm of automated beverage preparation.
2. Problem Statement and Proposed Solution
Currently-used common at-home single-use coffee makers lack both consistency and versatility in pouring a good cup of coffee for any type of cup that is being used. Most of these coffee-makers have a very small range of pre-defined pour sizes, which don’t provide any indication of the amount of coffee being poured to the common user. Most users often place their cup under their machine, take a guess at how big their cup is, and hope the pre-defined number of ounces they selected will fill the cup enough but not bring it too close to overflowing. Given the wide variety of coffee mugs made today, rarely does the hope of the common user become a reality. Oftentimes the cup is left with lots of open space and the amount of coffee poured is underwhelming, or the cup was filled so close to the brim that any movement of the cup will risk a spill. In addition, coffee makers are often inaccurate in actually pouring their predefined sizes, adding more uncertainty to the process.
The common user does not consider their coffee intake in terms of ounces, rather they think of it in terms of cups, based on the cup they commonly use. In addition, mugs are rarely purchased for their specific size or alignment to a specific preset for an at-home coffee maker, rather they are purchased for their style or thermal capabilities, giving further indication of the versatility pitfalls of current single-use coffee makers.
Our proposed solution is to make a coffee maker that takes the guesswork, standardization, and user input out of the coffee making process by having it pour the perfect cup of coffee, no matter the size or shape of the single-use cup that is placed under the machine. In doing this, we are removing the dissatisfaction and frustration that comes from too little or too much coffee being poured. Through the use of sensors, we propose a system capable of measuring cup and fill height and aim to leave the user satisfied with their fill of morning brew no matter their cup of choice. The height of the cup will be measured along with the changing height of the liquid to determine how long the machine should fill. Our system will also commence multiple brew cycles for larger cups that require it. Whether users currently use a single-use coffee maker, or a drip coffee pot, our system will be an improvement from both as it will automate the process of figuring out the right amount of coffee for a certain cup. We also aim to utilize existing technologies that will allow remote control of the coffee maker from a smartphone through a web server or app. With a fully loaded machine, our remote control will reduce user intervention even more. Our solution will establish a perfectly poured cup of coffee as the standard for at home coffee making.
3. System Requirements
Our solution that aims to correct inconsistencies in current at-home coffee making has a number of feature requirements. It must 1) detect the cup placed underneath the nozzle, 2) determine the height of the cup, 3) receive user input to initiate brewing 4) brew and dispense coffee, 5) periodically measure the height of the liquid in the cup, 6) determine when to stop pouring the coffee through comparison of cup and liquid heights, 7) stop brewing and pouring coffee and prepare for further use.
Logistically, the system is intended for use in an American household. Therefore, it is required that power be provided via a wall outlet (120 V, 60 Hz). The brewing of coffee will necessitate a heating element absorbing a large amount of power to generate high temperatures. Proper safety precautions including but not limited to insulators and fuses will be necessary to mitigate the risks presented by such a heating element. The system should be capable of holding enough water to brew multiple cups of coffee before requiring a refill. The team intends to utilize a pre-existing coffee maker to inherently satisfy many of these logistical requirements.
Our mechanical design should not be any larger than a standard single-cup coffee maker of comparable size. This would be no larger than approximately 12-14 in tall by 6-8 in wide, with the ability to fill cups as tall as 8 in tall and 4 in diameter. The user interface needs to be simple and easy to understand with no prior knowledge of the system. The features of the system must be easily understood by the user based solely on the user interface and the display.
As far as safety is concerned, we will ensure proper safety protocols are followed during testing to mitigate the risk of burn-related issues. If we develop our own coffee dispensing system, we must ensure that all the electronics of the system are properly heat-insulated. In addition, the nozzle and liquid flow system must be food-safe as to not affect the taste or quality of the coffee poured.
4. System Block Diagram
4a. Overall System:
This block diagram serves as an overview of the system the team aims to design. A deeper dive into the required functionality of these blocks can be found below in the “subsystems” sections.
4b. Subsystem 1: Cup Sensing
The cup sensing subsystem is required to 1) determine when a cup has been placed under the nozzle and 2) measure the height of the cup. The system is required to accommodate cylindrical cups as large as 10 inches in height and 4 inches in diameter. The system must also accommodate cups of various colors, materials, and textures including translucent cups. The subsystem should also be robust against external factors such as ambient light and sound. This system must not present safety hazards to the user including but not limited to the possibility of laser exposure. Additionally, the system should provide the user with immediate feedback regarding the detection of a cup and its corresponding height. This data must also be provided as inputs to the main board to be used in the pouring of the liquid
4c. Subsystem 2: Mainboard
This subsystem consists of a custom circuit focused on control and connectivity. At the heart of the board will sit our main processor. In terms of processing, the board is responsible for all of the I/O of the coffee. That is, the mainboard will take in data from the Time-Of-Flight (TOF) sensor, the Ultrasonic sensor, and the touchscreen. The processor is required to interpret this data (i.e. cup height, user preferences, amount of coffee poured) and then use this data to control the output devices in this system. Those devices include the external PSU, water pump, heating unit, temp sensors, indicator lights, and speaker. In addition, the board’s onboard wifi will be utilized to connect wirelessly to a smartphone through a web or app interface. For the coffee machine to work, it is vital that the board is able to process the inputs and control the outputs in real-time; meaning, this machine relies on being able to quickly sense how filled the cup is and control the pouring of coffee instantly.
4d. Subsystem 3: Coffee Pour Tracking
The coffee pour tracking subsystem must periodically measure the height of the liquid inside the cup. This measurement system must accommodate distances between one and ten inches. The system must also be capable of measuring distances to both solids (the bottom of the cup) and liquids and must accommodate a variety of colors and transparencies. The tracking subsystem should be unimpeded by the cup walls, the stream of coffee being poured, the inherent steam produced from brewing hot drinks. The subsystem should also be robust against external factors such as ambient light and sound.
4e. Subsystem 4: User Interaction
The user interaction subsystem requires the ability for users to interact both physically and remotely to begin the brewing process. Regardless of the method, brewing will not commence in the absence of a cup as determined by the cup sensing subsystem. Physically, a button will be implemented to initiate brewing. Remotely, the system should allow a user to initiate brewing from a mobile device. The range of wireless connectivity should allow for remote brew initiation from anywhere within a moderately sized household. The system should also provide visual feedback to the user on the brewing and pouring status and alert the user when the water tank requires refilling.
4f. Future Enhancement Requirements
There are numerous features we’d like to add to our product down the road if we were to enhance it and make it better. Our initial release would be compatible to add on with these features once we’ve been able to implement them
- Cup Memory: By integrating a mass sensor into our system that would be placed under the cup, this enhancement would be required to provide a mass measurement for a perfectly filled cup and save it into a memory system. This enhancement would also require this memory system to be able to store multiple cups so that the user could be able to choose a particular cup that they use often and have the coffee maker be able to make a repeatedly perfect cup. This system shall be able to have a tolerance of about 0.25-0.5 ounces when pouring the coffee to match a specific saved mass. This enhancement shall also be able to pour the perfect cup of coffee for a saved cup more accurately than the conventional methods of our system, making it more efficient for the user if they have a known cup they use on a daily basis.
- Automated Pod Replacement: To further automate the process of pouring coffee, a mechanism can be designed to help replace coffee pods without user interaction. This enhancement would both automate the process for the user and provide a means for the Fill ‘Er Up to pour coffee for large travel mugs that will require brews of more than one pod of K-Cup. This system shall be able to be in communication with the Coffee Pour Tracking subsystem to sense how many ounces have been poured so that it can know when a particular pod is “spent” and needs to be replaced to provide a fresh brew of coffee. This system shall also be able to sense if a pod is available to insert into the system, and it shall be able to mechanically insert the pod into the coffee maker without much issue. This system shall also be able to alert the user before the brew if there is not enough water to complete a larger brew, or if there are no more pods in the machine for the automated replacer to use. This system shall also be able to communicate with our app interface to be able to communicate the same messages as noted before. This enhancement is very mechanically heavy with regard to engineering, which is why it’s something worth looking into in the future.
- Cold Brew/Iced Coffee Setting: Given our plan to hack into current coffee makers and make a completely new board of our own to control the coffee-making process, we’d like to integrate our technology into systems that have iced coffee or cold brew-making capabilities. This system shall be a spin-off of what our system currently does for hot coffee. This system shall have a mathematical calculation with it that takes a good portion of the pour amount out of the actual pour to account for a meaningful amount of ice in the iced coffee cup. This enhancement shall also be able to be differentiated on the user interface so the Fill ‘Er Up can have control of whether the coffee is hot or iced. With regards to that, this system shall also be able to have one board that’s able to do both hot coffee and iced coffee pours.
- Coffee Pot Monitoring: For the Fill ‘Er Up technology to be compelling and beneficial to more large-scale customers, such as families and offices, an enhancement can be done to integrate our technology with coffee pots to monitor their levels and allow for programmability based on certain tendencies. This system shall be able to fill a coffee pot perfectly similar to our single-use technology. This system shall also be able to maintain the coffee in the coffee pot at a certain level at different portions of the day. This enhancement would require a user interface that can allow the user to pick certain time periods in which the coffee pot needs to be filled to the brim such as upon the office opening or during lunch time when there’s higher demand for coffee. This enhancement would also be reliant upon our automated pod replacement subsystem enhancement in order to work for bigger coffee pots, unless this enhancement was applied to an older-style coffee pot brewer.
5. High Level Design Decisions
Subsystem 1: Cup Sensing
The sensing of the cup and its height is handled entirely by the stack of Time-of-Flight sensors installed into the body of the coffee maker. Specifically, the VL6180X. In a nutshell, these TOF sensors will act as distance sensors to detect the cup’s presence at different heights. There are a number of other sensor types that are designed to detect distance such as lasers and ultrasonic sensors. However, the TOF was decided to be the superior choice due to its principal functionality. Instead of relying on the amount of light bounced, this sensor pulses light through a very narrow light source that will only measure the distance of the surface directly in front rather than any reflections. This is vital for the design of this machine, as a sensor accidentally picking up reflections will lead to inaccurate height measurements.
To handle this vast input of data from numerous sensors, a multiplexor will likely be used to send the data to be read on the ESP32. The ESP will then take the data on which sensors are detecting the cup and turn on the relevant LEDs (see “User Interaction”). In addition, using the data collected from the TOF, there must be logic integrated to prevent pouring in the situation when no cup is detected.
Subsystem 2: Mainboard
Our processor of choice is the ESP32. This processor is affordable, widely available and has integrated Wi-Fi + Bluetooth capabilities needed for our phone connectivity. This processor was chosen instead of the Raspberry Pi 4’s processor, the ARM Cortex A72. While this processor is more powerful, the group does not anticipate the need for heavy processing, and its higher price and low availability make it a less appealing choice. In addition, the ESP32 will have sufficient ports to act as inputs and outputs for the devices that comprise the coffee maker.
This subsystem does not have any significant features to mention; rather, it is the job of the ESP32 to quickly data inputs and control outputs of all the other subsystems for this project. For wifi functionality, see “User Interaction.”
Subsystem 3: Coffee Pour Tracking
The coffee pour tracking will be controlled by the ultrasonic sensor facing downwards into the cup. This sensor was chosen over the TOF used in height sensing due to their better range sensing at a distance and better sensing for liquids. The ultrasonic will be expected to sense for a much wider range of distances; however, it is important to note that the precision of these devices is not as high as the TOF. Testing will be required if the ultrasonic is sensitive enough to detect liquid height in the cup. If the ultrasonic sensor is deemed insufficient, then the sensor will either be replaced or a combination of sensors will be used to accurately detect liquid height.
It is the job of the sensor to detect liquid height and relay that information back to the ESP32. From there, the ESP32 must be able to quickly toggle the flow of water through the nozzle for a precise pour.
Subsystem 4: User Interaction
There are two main functions in this subsystem: remote control and interactive touchscreen display. To implement the remote control, the device will use the onboard wifi of the ESP32 to connect to the local network. Then, once the device is on the network, the user will be able to connect to the coffee maker through an app or web interface. For security and safety reasons, the coffee maker will only be made accessible through the internet with validated devices. That is, the user will have to input login credentials in order to activate the coffee maker. The details on how this connection between a coffee maker and a phone is still to be fully flushed out, but the team’s implementation will use communication protocols such as MQTT.
In terms of the interactive display, the coffee maker will use a dead-front display with interactive buttons. A technology often found in car dashboards, this type of display is composed of icons instead of pixels; these icons appear when in use, but are invisible when not in use. The dead front display lacks any tactility as all the buttons are flush with the body. Rather, the display will utilize capacitive touch that utilizes the electronic properties of the human body to detect when a button has been touched. This display is chosen over other displays because of its streamlined integration into the device and its general simplicity. A coffee maker does not have much data to display; power status, brewing, and fill status. Instead of attempting to program a display on a pixel level, using simple, elegant icons will go a long way in this design. The deadfront display has three main components: backlight, icon cutouts, and capacitive touch layer. As the icons used on this coffee maker are unique, the icon cutouts (and therefore the entire display) will have to be custom-made. For this coffee maker display, the icons used will include but will not be limited to a power button, brew button, heating/brewing indicator, fill height toggle, and percent (%) filled icon (displayed as a filling coffee cup). This requirement of custom cutouts is a trade-off compared to a standard LCD, but from a design perspective, as well as power requirements, it is a worthy trade-off.
Similarly, the LED indicators for the cup’s height will also be implemented behind a dead front display. LEDs will light up reactively when the TOF sensors at that level detect the cup’s presence. That is, the lights will turn on when the cup is placed and immediately turn off when the cup is removed. In order for this to work, it is important that the sensors are constantly scanning, even when the brewing cycle is off. This raises some concerns from a power consumption perspective. However, the device can be programmed such that the TOF sensors go into a low power state; specifically, if idle for a long time, shut off all TOF sensors except for a single sensor at the bottom, only turning the rest on once the sensor detects something.
6. Open Questions
A major open question for us is whether we will be able to integrate our system into an existing coffee maker or if we will need to develop our own coffee dispensing system. We would prefer to integrate into an existing system, but it may be necessary to develop our own. We are also not sure how accurate the distance sensors will be when tracking the height of the coffee. It will be measuring the distance from a changing and moving liquid which will likely affect the efficacy of the sensor. The major question is how much will it affect the sensor and how much effect will our tolerances allow. We anticipate that there also may be issues getting consistent and quality Wi-Fi connection to the device. Another outstanding question is whether we create an app that connects to the system just a website. We will likely look into and begin trying both of these options to help us determine which one better serves the needs of the user and the system itself.
7. Major Component Costs
Coffee Maker - $30
Custom PCB - $20
10 x VL6180XV0NR Time of Flight (ToF) Sensor - $50
Ultrasonic sensor components - $5
Speaker - $5
Deadfront Display - $50
Individually Addressable LEDs - $30
Water Level Sensor - $10
Recirculating Pump + Control Valve - $30
Total - $230
8. Conclusions
Our team intends to remove the guesswork from current at-home coffee-making methods. By comparing the heights of the cup being used and the level of the poured liquid, our system aims to pour the perfect amount of coffee every time. This document has placed a number of requirements on the system we propose, outlining the features, logistics, and safety concerns we intend to address. While the team expects to utilize a preexisting coffee maker to outsource the brewing of coffee, the other subsystems, including those for measuring height and pour progress and user interaction, must be engineered from the ground up. Our initial estimate for the fixed cost of this project is $230; however, further time-allowing enhancements may cause this to increase. By Demonstration Day this spring, the team intends to have designed and fabricated a system capable of pouring the perfect cup of coffee. Multiple cups of various sizes, colors, and shapes will be filled near the brim, demonstrating the success of our design.
9. References
Ultrasonic Sensor (Not to be used, rather as an example)
Finnell, Hawkins,
McManus, and Slusarczyk EE Senior Design