DIY Reflow Oven w/ Exhaust Build – Part 2

The design for version 2 of this project required the PCB to double as a panel replacement for the toaster oven, so board quality was an important consideration. Luckily, the folks at PCBWay kindly offered to sponsor the manufacturing. The end result was a perfect white silkscreen and accurate cut-out dimensions, which is why they have been my PCB vendor of choice even before this partnership. They have also streamlined the process by providing a KiCad plugin that automatically packages your board design, opens a browser, and adds it to your shopping cart. Combine this with their responsive support engineers and real-time production status on their website, and you are basically guaranteed a fast turnaround with no errors.

The previous build used a Raspberry Pi, because that’s what I had at the time. Unfortunately, I needed it during the great Raspberry Pi chip shortage and that left my oven unusable. This time I decided to rebuilt it with an ESP32S3 to try out the graphics library LVGL. It’s open source and has a free (with limitations) tool called Square Line Studio to build GUIs with. I decided to give NXPs GUI Guider a try instead, which has no limitations. It work like most GUI editors and generates code for all of your UI screens, events, animations, etc. It even converts your asset files into C structs. This greatly reduced the boilerplate code you need to write.

Currently, only the Reflow and Heat screens are functional. Reflow runs a temperature controlled heat profile to reflow solder boards. Heat allows manual control of the oven. Dehydrate will bake parts, 3D printer filament or anything else at low temperatures to remove moisture. Settings will let you set the WiFi credentials.

The board has the following specs:

  • 2.8 inch capacitive LCD from Adafruit
  • ESP32S3
  • Micro SD slot
  • ULN2003A stepper motor driver
  • Piezo buzzer
  • LM35 temperature over heat sensor
  • RGB LED
  • Rotary encoder
  • Low side Mosfet switch x2

Finally, I switched from a stepper to a servo to control the exhaust door. This makes it easier to know the exact position of the door after power on. Next up will be finishing the dehydrate functionality.

DIY Reflow Oven w/ Exhaust Build – Part 1

Yet another toaster oven build. I know…

There is a lot of debate if a DIY reflow oven even needs a PID controller. The argument goes, either spend the money and buy a professional machine for a few thousand or build your own and just eyeball the temperature with a manual on/off switch. Anything in between isn’t worth it because of the large temperature variations due to the nature of the heating elements, etc, etc. There is probably some truth to this, but who doesn’t love over engineering workshop tools?

Side note: This post isn’t meant to be a guide (read: I am not responsible if you burn your house down). I suggest purchasing a kit from whizoo or someone similar because this probably isn’t worth the time investment.

There are two problems I was hoping the addition of an exhaust fan would solve.

  1. PID tuning difficulties: The internal temperature of an oven is difficult to control if there is no way to remove heat due to thermal inertia. It takes a few seconds for the temperature to increase after the heating elements turn on and many seconds to stop increasing after they turn off. This makes tuning difficult and usually requires hard coding difficult parts of the reflow process.
  2. Rapid cooling: Most reflow profiles required rapid cooling after reaching maximum temperature (see below), which isn’t possible without some way of removing heat. Opening the oven door is one workaround that is probably good enough for most people, but an automated solution would be nice.

Hardware

I bought a broken Breville BOV450XL because it has 4 heats quartz heaters.

After disassembling the oven, I cut out the bulge in the back to make room for the exhaust.

Added some JB weld to attach some sheet metal. I should have cut a hole in the back before I did this.

Attached a 4 inch duct with a stepper motor to control the air damper. The air isn’t that hot when it reaches the PC fan so I’m hoping it holds up. I’ve also attach some insulation to the air damper to keep in as much heat when it’s closed.

I used DEI Floor & Tunnel Shield to insulate the inside as whizoo has suggested in their build guide. I opted for the non-adhesive version because I didn’t like the idea of glue inside of the oven even if it’s temperature rated. The outside of the oven was painted with some left over high temperature paint I had and insulated with a ceramic fiber blanket.

I cut a section in the control panel to make room for an Adafruit 2.8 inch LCD. The bottom two holes were filled in with old automotive fiberglass filler I had. The controller is a Raspberry Pi Zero W. A motor driver and solid state relay control the fan and heating elements. They are monitored by a temperature sensor to make sure they don’t get too hot.

The mostly finished product can bee seen in the video linked in the post.

Software

The software is very basic so far. It allows manual control of the oven for testing purposes and displays the temperature on a graph with the current reflow profile. It was more difficult to cross compile Qt than it was to build the application.

Surprisingly, I was able to get away with only using proportional control with the addition of the exhaust fan!

First test

The first test was a success. I was able to solder a couple of fine pitch components like the BMP280 and the SGP40 for another home automation project I’m working on. This board will track home water usage, water leaks and air quality. More details on that soon.

Future Improvements

  1. The oven is so air tight, I still need to open the door a bit to move enough air through through the exhaust during the final cooling phase. Maybe I should add some kind of air intake valve.
  2. The PID controller needs to be tuned a bit more to reduce overshoot so the fan doesn’t come on so much.