Hayden Geiger

// Shipped · 2026

Reflow oven controller

Converted a toaster oven into a controlled reflow oven driven by an ESP32, with a thermocouple, local LCD and encoder, and a web interface for profile control. Brought board assembly in-house instead of waiting a week on an assembly house.

ESP32thermocoupleLCD + encoderweb UI
A Black & Decker Toast-R-Oven Plus with NO FOOD written on the glass door, wired to a black 3D-printed controller box whose LCD reads 126.2 degrees, stage HEAT, on the Leaded profile.
Shipped 2026

What it is

A Black & Decker Toast-R-Oven Plus that no longer makes toast. It runs solder reflow profiles under closed-loop control from an ESP32, and the words NO FOOD are written on the glass in marker so nobody in the lab makes a mistake about that.

The team designs its own boards. Without reflow, every assembly is either hand-soldered or sent out, and a design change costs a week of waiting. This puts board bring-up back inside our own schedule.

How it works

The controller lives in a printed enclosure beside the oven. It carries an ESP32, a colour LCD, a rotary encoder and a rocker switch, with screw terminals for the heater and thermocouple lines and a strain-relieved mains cable.

The LCD shows what matters mid-run and nothing else: the active profile, measured temperature, setpoint, and which stage the run is in. In the photo above it is sitting at 126.2 °C in HEAT, part-way into the Leaded profile.

There are two ways to drive it. The encoder and LCD work standing at the oven with gloves on. The ESP32 also serves a web interface on the local network, which is where profiles get created and edited — a profile graph, the current stage and setpoint, and controls for run, stop, clear error and heater test. Editing a curve is much easier on a tablet than on a rotary encoder, and being able to watch a run from the bench across the room is genuinely useful.

Thermocouple placement

The thermocouple comes through the rear wall of the oven and is held with Kapton tape so the bead sits just above the rack, in the air the boards are actually in, rather than against a wall or touching metal. Where this sensor sits changes every number the controller sees, so it is the part of the build that most affects whether a profile means anything.

TODO(hayden): which thermocouple and which amplifier — MAX6675, MAX31855, something else? And is the control loop PID or staged bang-bang? The page describes what it does but not how it decides.

What went wrong

TODO(hayden): the honest bits. Overshoot on the ramp to peak? Sensor placement you moved? Anything you had to retune between January and March — the file dates say roughly two months of iteration, so something changed.

Results

TODO(hayden): a logged run is the artifact here — setpoint against measured temperature through preheat, soak, reflow and cooling. You clearly log it, since the web UI plots a curve. Export one run and it can be plotted properly. Also worth stating how many boards it has actually reflowed.
TODO(hayden): the brief mentions a custom power-regulation PCB. I cannot see one in these photos — the controller looks like an ESP32 module on a carrier. If there is a custom board, a photo of it belongs here; if there isn't, that claim should come out of the brief.

All projects