Let's automate an electric range

My wife mentioned that she wished she had a Wi-Fi oven like one of her friends, I thought this seemed like an interesting project.

The project so far:

RPI Pico W running a micropython script with mqtt discovery. prairiesnpr/smart_oven (github.com)

Using the Pico to drive 4 signal relays which simulate button presses.

This is all working well.

Things left to do:

  • Need feedback on the state of the oven, would like to know if the oven is on or off. The first thought was to read the state of the Bake and Broil LEDs with an optocoupler in parallel, but the voltage is too low to drive the opto. Does anyone have other ideas? One option would be to monitor the relay, but that would only work well when the oven is heating.
  • Need to sense the state of the up and down physical temperature buttons so I can keep the assumed state in line with the actual state. Still working on this one. They are using a resistance ladder between two pins of the microcontroller, haven’t come up with a way to detect the state yet,
  • Need to read the internal thermistor so we can feed the actual state back to HA, haven’t looked at this yet, don’t expect it to be too difficult once I understand the circuit.

Anyways, so far so good and way less expensive than a new oven. Apologies for the lack of pictures, it was dinner time so had to get everything back together and neglected to take them.

1 Like

Can you get to the dropper resistor driving the LED and measure the voltage across that. See if it’s enough to drive an opto.
It probably drops more volts than the led itself, and will just make the original LED a bit brighter.

That’s a good thought, still trying to get my head wrapped around the circuit, I need to get another picture of the back of the control board, didn’t realize the glare on the top right when I took it.

I haven’t identified Q9, it’s top pin is 9v from T8 then R52, then to pin 23 on the microcontroller.
So, it looks like R28 and R26 are the resistors in question.

Control Back

Control Front

Power Front

Power Back

HA UI Card:

Oven reacting:

Made more progress, found out that there is a safety relay in the oven that is pulled in whenever the oven is on. Tied my optocoupler to the relay coil and that’s working great.

Also wired in the analog input to the oven’s temp sensor. Ran it through a cycle and it seems to be tracking the temp well, the oven’s temp control on the other hand seems less than good.


Just need to get the up and down buttons so I can keep track of manual changes and we should be there.

You might want to add a rolling average filter and a bandpass filter to that data to take care of some of the noise.
The element kicking on and off will spike things like that and the bandpass will ignore that data.
The rolling average will smooth the mainline down.

1 Like

Ok, think we are there, Added the filter to the temp output, changed from button presses on the relay to timed holds, allows it to get to the desired set point faster and with less wear on the relays. It’s officially in production, my wife used it today to set the oven on the way home from the grocery store, she’s also a huge fan of seeing the actual temp, since that’s not shown on the oven and prior to adding it to HA, she would never hear the preheat complete beep or have any feedback on how close the oven is to temp. So, I think WAF is there, which is always good.

Temp with smoothing applied.