Pi Chef Design Challenge: Bake Mate #1 - Introduction
This project aims to solve a couple of real world problems (and inconveniences) associated with baking. This blog post summarizes my application:
The problems people currently face:
- Need to keep referring to the recipe on the cookbook or computer.
- All those different units from different systems(metric, imperial):
- Weights in grams, ounces or pounds
- Volumes in ml, pints, quarts, gallons, cups or tablespoons
- Temperature in Fahrenheit, Centigrade or Gas Mark
- People tend to make mistakes when converting units, which leads to wildly varying ingredient proportions and this doesn’t end well. Even if you do remember to convert, converting units is too much of a hassle.
- Setting the wrong oven temperature either due to incorrect unit conversion, or by mistake.
- Letting something cook for too long by forgetting to take it out of the bake.
- Forgetting to add an ingredient.
- Measuring volumes: Recipes often ingredients like water, oil and milk by volume (even flour in cups). You need to first find a measuring cup, measure the ingredient in it and later transfer it to the main mixing bowl.
- Scaling: Ever needed to bake 1.5x or 2x the quantity? Scaling the ingredients (eg. by doubling) isn’t difficult, but is a hassle.
My solution to all these problems is the Bake Mate:
It consists of a Raspberry Pi 3 connected to the 2.4" Touch Screen Hat and the other components. The Pi will run an application (which I currently plan on building using Python & tkinter) that will display the recipe. A load cell connected to the Pi will allow it to weigh the mixing bowl and automatically detect how much of an ingredient has been added, and notify the user how much more needs to be added.
The recipes will be stored in formatted JSON files that will allow the application to parse the data. Each ingredient will have the associated value, and unit (mass, volume or temperature).
For example, if the original recipe uses pounds or cups of flour, the application will automatically convert it to the desired unit (eg. grams or ounces). Since the weighing scale is connected to the Pi, it will automatically detect the weight of the mixing bowl at easy step and inform the user how much more of the ingredient needs to be added.
I think that will greatly simplify the process of mixing ingredients when baking:
- The user will need to select the recipe and place the empty mixing bowl on the scale.
- The Pi will parse the recipe file and show the ingredient that needs to be added: let's go with flour. The original recipe called for 4 cups of flour, but the application automatically converts it and simply shows the user how much more needs to be added: as a percentage of the required amount and a bar graph that fills.
- The recipe now needs 2 cups of oil. Instead of measuring 2 cups separately and transferring it to the bowl, all the user will need to do is pour it in directly. The program converts the volume of oil required to a weight which can be measured using the load cell (using the known density value which will be stored in a lookup table). The user can simply pour the oil in directly into the mixing bowl (which is on the load cell).
- When it's time to bake, the Pi will set an alarm for the required time. At the end, it'll notify the user.
The parts, and how they'll be used:
Raspberry Pi 3: It will host a program that stores recipes and guides the user through the process of cooking. It'll parse recipe data (ingredients & steps) from the stored file, and display them on the screen.
2.4" Touch Screen Hat: It will display the GUI of the main application.
Sense Hat: As a stretch goal, the LED matrix could be used to build an indicator that tells the user how much more of an ingredient to add: the matrix slowly fills and turns green when the required amount is
reached.
While HATs aren't meant to be stacked, I hope that I'll get this to work. Schematics indicate that the LED matrix is driven by a ST LED2472G, which is controlled by an ATTINY88 that communicates over I2C (which can be daisy chained).
Load Cell & HX711 Amplifier: I will use this to build the weighing scale. The HX711 is a precision ADC that is used to measure the changes across the Wheatstone bridge of the load cell strain gauges.
Type K thermocouple & MAX31855 ADC: The MAX31855 converts the data from the thermocouple to a digital form.
Top Comments