Whenever I have a project that I’m working on that involves custom hardware, personal or professional, I have typically assembled PCBs by hand. It takes time, and can be tedious. In low volumes (<5 pcs.) it isn’t too bad. I could send them out to have them populated but this can get expensive, especially for low volumes. If you research reflow ovens or hot air baths, they can be quite costly and I couldn’t justify purchasing one without doing it all the time. But, there are other options.
I had heard about people converting toaster ovens into cheap reflow ovens, so I decided this would be the way to go. I did a bit of research and stumbled upon a few videos showing how it’s done. First from The Ben Heck Show:
That one was a little more complex than I really wanted to get, but the basic principle is the same. I also found the following video from R&TPreppers:
This one was a bit simpler, so I decided to follow it as a baseline for the build. I went ahead and got the RocketScream Reflow Oven Controller Shield, the solid state relay, and various other build materials like the fiberglass weave, pop riveter, hardware etc. (all from McMaster Carr.) I already had a thermocouple that I was planning on using in a temperature controller for my smoker. It turns out that the one I had was actually problematic, but more on that later. I eventually got one from Adafruit.
I also purchased the toaster oven from Amazon. I’m not sure why the price has gone up so much since, but I bought it at $28.00. It’s a fairly cheap one with quartz elements. Below are a few photos of its unboxing.
Black and Decker Toaster Oven
Unpacking the oven.
Unpacking the oven.
Getting everything together, I would try to emulate the R&T build as much as I could. I knew I didn’t want the electronics inside the enclosure because I didn’t want to deal with cutting display holes in the front panel. I decided to mount the electronics on the outside of the unit, with the understanding that I would need to protect the live terminals on the SSR. I have yet to do that, but I could easily make a plastic guard or something similar. For now I just leave it unplugged when I’m not using it.
Solid State Relay
Arduino Uno + RocketScream Reflow Oven Shield + SSR
The RocketScream Shield required adding headers, as a lot of shields do. I ordered the headers from Mouser in the correct pin count. I always hated cutting the breakaway headers – they end up not cutting very well.
Assembling the RocketScream Shield
Next I gutted the oven. B&D used anti-tamper torx screws on the bottom of the case. I have torx, just not the ones with the pin hole in the middle. Nothing a pair of pliers can’t remedy. I’ve already voided this warranty so I don’t particularly care at this point.
Disassembling the oven.
Disassembling the oven.
Taking out the guts.
Stripping it down.
Once I had the oven dismantled, the next step was to test the shield. I snagged the MAX31855 library, the PID library, and once I loaded up the example sketch from the repo provided by RocketScream, the thermocouple registered the correct temp on the display. I first had it hooked up in reverse and heating it up caused the reading to decrease. This would have been very bad in the oven, causing it to just continue heating.
Testing on the bench.
Then I made patterns on the outside of the case for the Arduino and SSR hole patterns and drilled some holes in the enclosure. I also added a hole for a grommet, to safely guide the wiring in and out of the unit.
I made an internal hole for mounting the original thermocouple, which was threaded with a nut. I wasn’t sure how it would perform compared to the example projects I’ve seen from others. What I found was that because the shell of the thermocouple is electrically connected to the case, when I first tested the unit – the SSR switching on and off caused a lot of noise in the thermocouple measurement. The conclusion was that one side of the thermocouple must be electrically connected to the shell. Testing with a DMM confirmed this. Rather than trying to make this one work, I just got the glass-bead type and shoved it through the hole I already made.
Installing the thermocouple.
Next I installed a fiberglass blanket on the inside around the perimeter of the heating case. I bought a riveter to do this, and I don’t know why I never had one before – it’s an awesome tool. I’ve used them in the past but forgot how useful they are. Rivets are cheap. The tool was a little pricey but I feel like I’ll use it a lot. I had to cut holes in the fiberglass to accommodate the components and wiring, which was really easy because of the nature of the fiberglass weave. I riveted it in four spots on each side, and it stayed pretty snug.
Installing the fiberglass.
Riveting the fiberglass.
Next came the wiring. The elements are in parallel, and I had to make a couple patch wires, but I ended up using just wire nuts for the connections (with the exception of one which I soldered.) I included the original light from the front panel in the wiring because – why not? The thermocouple leads and the broken hot side were fished through the grommet on the outside, where I connected them to the shield and SSR, respectively. I made a short jumper from the shield to the SSR and the wiring was done.
I only had an external DC wall-wart for the Arduino power, which I just plugged in separately.
Rewiring the heating elements.
Installing the SSR and Arduino + RocketScream.
Ready for first test.
Finally, I tested it. After replacing the thermocouple it ran great! The Arduino will output data points as it’s running, but I haven’t looked at the curve data yet. Watching it, however, the temp ramp and values seemed to be correct. The cool-down period does take a while, and I have heard of others opening the door at a specific point in the cycle to better mimic the JEDEC curve.
Testing the oven.
I have already done a single board for the Wireless RH/Temp Sensors in this oven that I will post about later. For now there are some changes that I will probably make to the system including:
- Putting aluminum foil on the inside of the door with a viewing slit, to retain the heat better.
- Making a guard for the SSR to prevent anyone from getting shocked.
- Installing a dedicated DC supply in the unit for the Arduino.