Update: I no longer roast with my bread machine. My second heat gun went out with a real bang, setting itself on fire and melting; the fan must have failed. I moved on from the machine because I was tired of the relatively loud noise levels it made and the difficulty of smoke control. However I still think the Bread Machine + Heat Gun setup is a viable option for roasting; just perhaps not the most elegant.

I roast coffee with a stripped-down bread machine. The bread pan serves as the roasting chamber with the dough hook agitating the beans. This machine came with a lid for rice cooking so I use that to retain heat and contain the chaff.

What’s in the Box?

Here’s a schematic diagram of the roaster,

and here’s a photo of the exterior.

I cut out the middle of the old control panel and bolted on a piece of aluminum to serve as the new faceplate. To this I added the PID controller, main on/off switch, mixer switch, and the heat gun switch. On the left side of the unit the thermocouple banana jacks are visible.

To make room for the SSR and heatsink I removed bread machine’s ventilation squirrel cage fan.

When using a SSR it’s a good idea to either mount it to a thick piece of metal or to use a heatsink – they get pretty warm. If you look closely you can see how its label has peeled up and warped; this is from when I ran the SSR bare on a different project.

The wall outlet is where I plug in the heat gun. The wiring on this is really bad/unsafe. I used the ground connector for the AC common and the main contacts for separately powering the heatgun fan & heating element. If anyone ever plugs the heat gun into a normal outlet I think the element would turn on without the fan thus burning it out. Also this would be putting about 10A through the ground conduit which is probably bad. At the big box hardware stores I looked for custom 3-contact plugs but I couldn’t find any – my next McMaster order will include something like this.

I used a bus bar to try and keep the wiring tidy. A note about wire gauges: I used 14 gauge stranded for everything leading into the heating element because it should draw about 10 amps. otherwise I used 18 gauge stranded. The DC stuff used 22 gauge solid core.

Fun fact: the heat gun switch (far right) is the switch off the heat gun.

Note that I don’t use the PID in the above photo anymore, I use the Auber SYL-2352P.

Thermocouple

I got a bayonet-style thermocouple because it’s easily removable from the pan.

Here’s the inside of the pan with 8oz of beans. This is the lowest I could mount the thermocouple without the probe hitting the mixing arm. While it’s not immersed in the beans at rest, once they’re agitated they go over the top if it just fine. In the end I feel that I’m getting a good, consistent read on the external temperature of my beans.

Heat Gun

I’m using a $10 Harbor Freight heat gun with separate power control for the fan and the heating element. I separated them because I felt rapidly cycling the fan motor on/off would shorten its life. So the fan motor is directly powered by heat gun switch while the heater has the SSR acting as a secondary switch on top of the heat gun switch. I always run the heat gun in “high” mode because the low mode wouldn’t heat fast enough.

I replaced the two prong cord with an old computer power supply cord, this gave me three wires to work with. The ground became the neutral lead for the gun while the old hot/neutral wires became the “hot” wires for the independently-controlled fan motor and heating element.

Mixer Arm

I cut off about 1/8″ of the mixer arm because its normal length was causing excessive bean binding between the probe and the arm. Now when it runs I don’t hear any the loud pops caused by beans getting jammed.

Chaff Collector

Below is how I used the rice cooking lid to both retain heat and collect chaff. On the left is a hole where the heat gun snout is inserted. On the right I riveted in a pipe onto which the chaff collection pipe is clamped.

Usage

This is what my setup looks like in operation.

The Auber PID is programmable, letting you set temperature points over lengths of time; here’s my sequence:

85 over 1 minute

330 over 8 minutes

430 over 5 minutes

The Auber has a program pause feature which holds pauses the timer and attempts to stabilize the operation at the current set temperature. I use this hold the temperature ramp when first crack starts, and to let it ramp again after a few minutes.

Post cooling I dump the beans into a metal screen colander and cool them with my bean cooler.

Parts List