what is the actual temperature of your oven? how to cook reliably with an expensive but inaccurate oven

My household can’t be the only one that burns the food. The dial on this shiny, expensive Smeg oven not only gives a wrong temperature, the temperature varies over a wide range. I replaced the oven thermostat (twice) but the set temperature was still wrong, and the cooking temperature varied by 40’C as the thermostat clicks on and off.

My initial solution is to have a better idea of the actual oven temperature. On this page I’ll show how to fit the oven with a thermocouple connected to a wi-fi enabled ESP32. The ESP32 sends the oven temperatures to Home Assistant and displays them on a ‘history graph’. The readings are also sent to a small OLED screen near the oven such that the actual temperature can be seen and adjusted while cooking.

the experiment: what is the actual temperature of the oven?

dial set temperaturemeasured temperaturedial set temperaturemeasured temperature
100133150185
125164200230
These are the temperatures achieved at different oven dial settings. Three different measuring devices were used with the probe being set

Oven temperatures can be measured using a K-type thermocouple (see below) or by one of those meat thermometers with a pointy metal probe. The oven’s thermostat is also controlled by a thermocouple near the top of the oven. I used three of each type of measuring device and was disheartened by how much their temperatures differ. Not only this, the graph shows a set oven temperature drops by 40 degrees before the oven heats up again and the process repeats.

BTW how long does an oven take to reach cooking temperature?

This Smeg oven takes 20-25 minutes to reach a typical cooking temperature of 180 degrees Celsius. It takes 25-30 minutes to reach 200′. A small microwave combination oven takes 8 minutes to reach 180′.

fit the oven with a MAX6675 K-type thermocouple with an ESP32 dev board running ESPHome

Two thermocouple tips peek into the top of the oven

These erroneous temperatures led me to find a way to know the oven temperature. The thermocouple illustrated (forked screw terminals) was swapped for one with spade terminals – although they needed a cut to fit the terminals. The Max6675 is connected to an ESP32 board using female Dupont wires which are often supplied with it. Connect GND to GND and VCC to 3.3V on both the sensor and the board. MISO (on the sensor) is connected to pin 12 on the ESP32, CS on the sensor is connected to pin 13 and CLOCK (or CLK) on the sensor is for pin 15 on the ESP32.

The fitting required removing the back panel of the oven so that the thermocouple could be fitted at the top of the oven. The oven was of course disconnected from the mains and care was taken to route the wires away from hot surfaces and many sharp metal edges inside.

MAX6675 K-type Thermocouple temperature sensor kit. I swapped the bolted thermocouple for a two bare wire thermocouple as my readings were ‘off’. You could be luckier with the supplied bolt thermocouple. Choose a K-type with a temperature range that suits your use.

Go to ESPhome in Home Assistant and add this configuration to your ESP32 dev board

Actually this step is best done on a test bench before the thermocouple is fixed in the oven. The following code is added to a new node, followed by selecting COMPILE and DOWNLOAD BINARY. Connect the ESP32 with a FTDI unit to upload the ‘binary’ file to the ESP32 board.

# Create a new node in ESPHome. Add these lines to the yaml file 
substitutions:
  devicename: oven
esphome:
  name: ${devicename}
  platform: ESP32
  board: esp32dev

spi:
   miso_pin: GPIO12
   clk_pin: GPIO15

sensor:
  - platform: max6675 
    name: ${devicename} 
    temperature cs_pin: GPIO13 
    update_interval: 5s 
    accuracy_decimals: 0 filters: offset: -1
    sliding_window_moving_average:
     window_size: 10
     send_every: 1
  
 logger:
 api:
   password: ""
ota:
captive_portal:

wifi:
  ssid: ""
  password: ""
  manual_ip:
    static_ip: 192.168.1.18
    gateway: 192.168.1.1
    subnet: 255.255.255.0
ap:
    ssid: ${devicename} fallback hotspot
    password: ""
   # in case wifi connection fails
 
switch:
  - platform: restart
    name: ${devicename} restart 

now go to Home Assistant > Integrations to add another ESPhome node, then find your oven temperature sensor entity

  • Go to the Home Assistant frontend or Overview. In the top corner find Configure UI
  • Add a History graph card and or a Sensor card. That’s it.

As it’s a good policy to double check your devices, I fitted two temperature measuring thermocouples to the oven.

Next project: display the oven temperature on a mini- OLED screen near the cooker

Now this was really useful: get a TTGO OLED T-display to display the temperature readings.

The display was stuck to the back of black glass cupboard door

Leave a Reply

Your email address will not be published. Required fields are marked *