Bake Smarter with Bake Mate

Need a little bit of help in the kitchen? Here's how to build a Bake Mate—a baking assistant that weighs your ingredients, tells you how much of each you will need, and performs several other handy functions.

This project was one of the winners of the Pi Chef Design Challenge sponsored by

CLICK HERE to download a fully detailed PDF of the Bake Mate build instructions with more graphics, photos, and full coding examples.

Here are a few reasons baking can be a hassle:

  • You need to keep referring to the recipe on the cookbook or computer.

  • It's easy to make errors when converting different units of measure (grams, ounces, pounds, pints, quarts, gallons, etc.), leading to all sorts of errors, such as setting the wrong oven temperature or using the wrong ingredient proportions.

  • You let something cook for too long.

  • Forgetting to add an ingredient.

  • Scaling: Ever needed to bake 1.5x or 2x the quantity? Scaling the ingredients (e.g., by doubling) isn’t difficult, but it is a hassle.

My solution to these problems is Bake Mate:

It consists of a Raspberry Pi 3, a 2.4" touchscreen PiTFT HAT, a load cell, and a thermocouple.

The Pi runs an application (built using Python & Tkinter) that displays the recipe. The load cell connected to the Pi weighs the mixing bowl and automatically detects how much of an ingredient has been added and notifies the user how much more is needed.

The recipes are formatted as JSON files that allow the application to parse data like the ingredients, instructions, baking time, etc.

The device also does automatic unit conversion. If the original recipe uses pounds or cups of flour, the application will automatically convert it to the desired unit (e.g., grams or ounces). Because the weighing scale is connected to the Pi, it will automatically detect the weight of the mixing bowl in an easy step and inform the user how much more of the ingredient needs to be added.

A typical ‘Bake Mate’ session would look something like:

  1. The user selects the recipe and places the empty mixing bowl on the scale.

  2. The Pi parses the recipe file and displays 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 (in text and as a bar graph).

  3. 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 directly into the mixing bowl (which is on the load cell).

  4. When it's time to bake, the Pi will set an alarm for the required time. At the end, it'll notify the user.


Qty.  Part Digi Key#
1 Raspberry Pi 3 1690-1000-ND
1 2.4" Touchscreen HAT (320x240 - 4DPi-24-HAT)  
1 Load Cell & HX711 Amplifier 1568-1436-ND
1 HC-12 wireless communication module  1597-1229-ND
1 Type K thermocouple & MAX31855 ADC MAX31855KASA+TCT-ND
1 Sense HAT  
1 Pi GPIO Breakout (optional)5V Cap  



1.) Setting up the Raspberry Pi 3:

  • Insert the microSD card that's been preloaded with NOOBS.

  • Plug in a USB mouse and USB keyboard and connect the Pi to a display via HDMI.

  • Connect the power supply to the Raspberry Pi 3.

  • Enter WiFi credentials and install Raspbian using NOOBS.

  • To get the Display HAT to work, install the manufacturer-provided kernel patch (since the display uses SPI instead of the native display connector).

Comments (1)

Please log in or to post comments.
  • Oldest First
  • Newest First
Loading Comments...