element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Pi Chef Design Challenge
  • Challenges & Projects
  • Design Challenges
  • Pi Chef Design Challenge
  • More
  • Cancel
Pi Chef Design Challenge
Blog Bake Mate - Pi Chef Blog #1 - Introduction
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: avnrdf
  • Date Created: 21 Jan 2018 3:36 PM Date Created
  • Views 1003 views
  • Likes 8 likes
  • Comments 10 comments
  • pi_chef
  • bakemate
  • pi chef - bake mate
  • pi chef design challenge
  • pi chef
Related
Recommended

Bake Mate - Pi Chef Blog #1 - Introduction

avnrdf
avnrdf
21 Jan 2018

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:

 

 

image

 

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.

image

 

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.

image

 

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.

  • Sign in to reply

Top Comments

  • beacon_dave
    beacon_dave over 7 years ago in reply to genebren +3
    I think that some of the pre-weighing is done because it is easier to remove some of the ingredient from a separate bowl if you overdo it, before it goes into the mix rather than after. Also for some ingredients…
  • shabaz
    shabaz over 7 years ago +3
    Great project : ) In theory, there could be an "Apple mode" where no superfluous information like cups/grams/oz is presented, i.e. it says "add eggs" or "add flour" with no quantities/weights, perhaps…
  • genebren
    genebren over 7 years ago +1
    Avner, Very interesting concept. On a lot of the cooking shows that I watch, the bakers always weigh out the ingredients. It does seem to make sense that you would directly add each item to the mixing…
  • shabaz
    shabaz over 7 years ago

    Great project : )

    In theory, there could be an "Apple mode" where no superfluous information like cups/grams/oz is presented, i.e. it says "add eggs" or "add flour" with no quantities/weights, perhaps just a progress bar or round pie : ) chart. Or even just a picture of the item : ) It just says "Done" when it knows you've placed enough, and moves on to the next ingredient : )

    To flesh out the project, maybe workflows need creating for example recipes (e.g. randomly pick a dozen recipes from a dozen books, and see what the workflow would be with your project), maybe a "speed mode" where you optimise for less time by skipping sifting etc : ) or a "quality mode" where you optimise for taste, and not for amount of dishes to be washed up.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • avnrdf
    avnrdf over 7 years ago in reply to beacon_dave

    This should be pretty straightforward to add because the ingredients (and their amounts) will be in the recipe file. It's just a matter of adding a lookup table with the nutritional values.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • avnrdf
    avnrdf over 7 years ago in reply to genebren

    I'll work on the actual program for search & displaying a list of recipes a little later, but I'm already working on the format for a recipe.

    I plan of using JSON, and the format (as of now) will include:

     

    • Recipe name
    • Recipe description
    • Servings
    • Total number of steps (which I initially planned on using to help me parse the JSON, though I might be able to get away without including it)
    • Step: Each step will have a text description, the ingredient, the ingredient unit and a few more parameters.

     

    'm still working on the format, and trying to consider all the different options & parameters that I'll need to include.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • avnrdf
    avnrdf over 7 years ago in reply to beacon_dave

    True, flour is usually sifted first. I could add a mode where it can simultaneously keep track of multiple bowls if I get the time.

    So it would be something along the lines of:

     

    -Place empty bowl. Add flour. Sift

    -Place empty bowl. Add butter, sugar... which becomes the 'primary' mixing bowl.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • e14phil
    e14phil over 7 years ago

    Exciting, I think I could use this in my own house!

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube