Introduction: DIY Reflow Oven With Reflowduino
The Reflowduino is an all-in-one Arduino-compatible controller board that I personally designed and built, and it can easily transform a toaster oven into a PCB reflow oven! It sports a versatile ATmega32u4 microprocessor with micro USB programming interface, an integrated MAX31855 K-type thermocouple interface with noise filtering, Bluetooth Low Energy (BLE 4.0) for easy communication with a mobile device, LiPo battery charging and status indication, an optional solid-state relay, and a piezo buzzer for playing your favorite theme songs. Better yet, I've released all of this as completely open-source for everyone to enjoy, including EAGLE PCB files, Arduino IDE example code, sample Android app for Bluetooth control, and full tutorials on how to modify a toaster oven to start cookin’!
If you would like to order a Reflowduino or the Sidekick Relay Module please visit my website!
For full documentation, source files, schematics, and more comprehensive information about the Reflowduino, please visit the official Github page here.
Now let's get started!
Step 1: Gather Your Parts
Parts List
- Reflowduino Pro ORReflowduino Basic + solid-state relay (I'll be using the Sidekick relay module)
- K-type thermocouple (included with the Reflowduino)
- Reflowduino power source: LiPo battery, 5V micro USB (from a laptop or adapter), or both!
- Toaster oven OR hot plate (I used this 1100W toaster oven when it was about $20)
- Screwdriver (for taking the toaster oven apart)
- Small flat head screwdriver (for the screw terminals)
- Smartphone or Bluetooth-enabled device. Currently only an Android version of the app is available
- Optional: a laptop to collect and graph data in real time via Excel! You will need to connect the Reflowduino to the laptop via micro USB for this to work.
The following items are needed only if you want to do lots of customization to your reflow oven build (not needed in most cases):
- Wire cutters
- Soldering iron and solder
- 14-18 AWG wire (stranded wire is easier to deal with)
- Appropriately-sized heat shrink tubing for insulating wires. Depends on your setup.
- Safety glasses (stay safe, we're dealing with mains voltages here!)
- Gloves (the sheet metal of toaster ovens can be sharp and ridden with screws poking out everywhere!)
Safety Disclaimer: If you are a beginner in electronics or don't have the proper experience to work with mains voltage, I would suggest that you either don't mess with it, consult a professional, or keep learning until you're proficient enough! I am not liable for any mishaps that may occur due to misuse of the Reflowduino PCB's or its associated components and electrical system (including mains power, breaker panels, etc). Take all safety precautions as necessary. Moreover, it is not recommended that you use the same appliance to reflow PCB's as to cook food for consumption. This may result in food poisoning, especially if you use leaded solder for your PCB's. You are fully responsible for your actions, and perform them at your own risk!
That being said, DIY away my friends... have fun and stay safe!
Reflowduino & the Sidekick
NOTE: There is now also an add-on module called "Reflowduino32" for an ESP32 development board to also wirelessly control a reflow oven. Please see the Reflowduino Github page for full documentation, as well as this ESP32 reflow oven tutorial!
First of all, there are two versions of the Reflowduino: Basic and Pro, and depending on your particular application you may want to choose one or the other. Next, I made a handy solid-state relay module called the Solid-State Sidekick that handles all the mains wiring for you and completely eliminates the need to solder anything. Simply plug the appliance directly into the Sidekick as well as the two relay input wires from the Reflowduino and you're all set!
Below is a summary of your available options:
- Reflowduino Pro
- Reflowduino Basic + Solid-State Sidekick
- Reflowduino Basic + other solid-state relay (choose your own)
- Other Arduino-compatible board + thermocouple interface + thermocouple + Bluetooth module + Solid-State Sidekick (or other relay) + LiPo battery "backpack" (optional)
The first option comes with the relay already mounted on-board the Reflowduino. This is an all-around good option for controlling any generic toaster oven or hot plate, especially if you want to solder the wires yourself and save some cash.
The second option is by far the easiest (and safest) option and doesn't require any soldering or tweaking of the appliance unless you really want to because the Sidekick relay module has the solid-state relay as well as all the provisions for you to simply connect things to it by plugging them in. Yes, you heard me right! This means you can control any toaster oven without even opening it!
The third option is if you would rather choose your own solid-state relay, maybe with a higher current capacity or for some other reason like custom mounting configuration (who knows?).
The last option is for those who might already have a lot of parts lying around and want to put something together quickly without buying something new, which is perfectly fine too! You can use Arduino along with something like this thermocouple breakout board and of course, the thermocouple itself. In order to use the demo app you will also need an HM-10 Bluetooth module unless you want to leave out the wireless communication and stick to graphing the data on Excel via a computer. Note that depending on what parts you choose you may have to change the demo code to suit your needs.
Resources:
Solid-State Relay
If you're using the Reflowduino Pro you can skip this section, but if you're using the Reflowduino Basic you will either need to get the Sidekick or choose your own relay module. When choosing your own, check for the following:
- Relay Type: needs to be solid-state, not just a conventional contact relay. You MAY be able to get away with a conventional relay for our particular application (since we will be using time proportioning control, not continuous PWM) but it's not guaranteed or recommended. Also, you will hear the relay "click" every time it switches, which can be annoying.
- Opto-isolation: look for one that is optically-isolated for safety. This means you can be sure that your Arduino won't be zapped by 120V/240VAC!
- Control Voltage: needs to be 3.3V or 5V compatible
- Output Rating: needs to handle the amount of current that your appliance will be using. for any US appliance (being used legally), 15A/120VAC is all you'll ever need since the breakers trip at 15A.
The Reflowduino Pro's opto-isolated solid-state relay has a control voltage of 3-15VDC and can handle up to 25A/240VAC with proper convection cooling. Under normal circumstances it can handle 10A/240VAC, or 20A/120VAC which will be good enough for all US appliances and should be adequate for most 240VAC appliances.
Resources:
- Reflowduino's solid-state relay PF240D25R spec sheet
Toaster Oven or Hot Plate
When choosing a toaster oven it is important to choose one that is the right size for your application since smaller equals higher efficiency in terms of heating up! However, larger ones will also work, just check the reviews to make sure it's not complete rubbish. I personally bought this one from Walmart for about $21 including tax when it was on sale.
It's also a good idea to make sure you will have a flat metal tray for the PCB to sit on. Many toaster ovens (including the one I bought!) come with trays that have bumps and grill patterns on them, and this is definitely not ideal for PCB reflow because it causes thermal nonuniformities across the PCB. However, I lucked out because the drip tray was perfect for what I needed, so I just tossed out the metal grill and cooking pan that it came with.
For hot plates it's equally important to choose one with a flat surface. Most hot plates have a recessed circular area in the middle of the plate that isn't desirable, so try to minimize this area so that you have the most usable space to place your PCB's. Also, choose a hot plate that has only a single knob (temperature control) because this way you won't need to even open it up to tweak the wiring!
For more info about this topic, please see the Github wiki page.
Step 2: Wire It Up!
Now that you have the parts, it's time to wire it all up! There are many way to skin a toaster oven, so listen up and be sure to read the safety disclaimer stated earlier!
Hot Plates
For any appliance the main principle is to switch the live wire of the power cord by placing the relay in series with the live wire and bypass the appliance control knobs if needed. For hot plates with a single temperature control knob you don't even need to tweak the hot plate itself; you can simply turn the knob to HIGH (max setting) and you're good to go! This ensures that the hot plate will be powered (the contact inside the hot plate will be closed) when the relay is switched on.
For permanent installations you can either cut the power cord and splice it up, or you can do it from the power cord contacts. Again, always be sure to properly insulate all connections. Follow the general schematic in the first image and you should be ready to reflow!
Please note that I used alligator clips and another power cord (with alligator clips on the ends) just to test. This is not recommended and should only be used for temporary testing. For more permanent installations you should solder and insulate everything or use the Sidekick to plug everything in.
Toaster Ovens
Toaster ovens are controlled using the exact same concept as the hot plate in that you can usually control them without even touching the wiring by simply maxing out the temperature knob, turning the setting to "Bake" so that both heating filaments are on, and maxing out the timer. Depending on the toaster you might also have a "Stay On" feature so you don't have to worry about the timer running out!
However, if you still want to take it apart, tweak the wiring to bypass the knobs and add custom controls in the name of science, you still can! Fortunately even if you do want to take it apart the general principle is still very simple: you have to disconnect all knobs that are connected to the live wire and attach all the heating filaments to the live wire so that they turn on at full strength right when you plug the power cord into the wall.
In this Instructable I will not take the time to go through this, but you can see how I tweaked my toaster oven on my Github wiki.
Step 3: Software Setup
Now that you have all the hardware set up, let's go through how to set up the software.
App Setup
See these instructions on how to get the Reflowduino demo app installed and how to import saved data to Excel from the app.
Brief Summary:
- The app is currently only for Android and is completely open-source!
- The app displays the temperature in real time and graphs it once the reflow process is initiated.
- The app also saves data after the reflow process is complete or aborted and the data can be imported to Excel for analysis!
Arduino IDE Setup
See these instructions for setting up Arduino IDE and installing the necessary libraries.
Brief Summary:
- Load the "Reflowduino_Demo" code, select "Adafruit Feather 32u4" under Tools -> Boards in Arduino IDE.
- Compile it just to make sure you have all the libraries installed correctly.
- Upload the code to the Reflowduino, and keep in mind you might have to press the reset button on the Reflowduino if the Arduino IDE starts searching for the port.
Reflowduino Demo
See these instructions on how to use the Reflowduino Demo code.
Brief Summary:
- The Reflowduino Demo sketch allows your Reflowduino to work together with the demo app via Bluetooth.
- The Reflowduino reads the temperature from the thermocouple and sends the data to the app via Bluetooth every 2s.
- The Reflowduino uses PID time proportioning control to control the solid-state relay during the reflow process.
- For standalone operation, comment out the line that has "while (!Serial) delay(1);" which waits for a serial connection to be established before running the actual code.
- You can make the Reflowduino act as a keyboard by setting the variable "enableKeyboard" to true near the top of the sketch for use with this Excel demo file. This will make the Reflowduino "type" the data into Excel in real time when it's connected via USB. Just make sure that when you start the reflow process your cursor is in the first available cell (A2) in Excel!
Demo Videos
- This video shows data being entered into Excel by the Reflowduino.
- This video shows the general operation of the app and hardware setup with a toaster oven.
- This video shows what happens at the end of the reflow process.
Resources
- You can always find the latest Arduino code and Excel demo file for real-time data entry on Github
- You can also find the latest Android app files on Github
Step 4: Results & Conclusions
Results
Attached are a couple closeups of a board I reflowed using the Reflowduino and some low-temperature solder paste with the reflow temperature set to 155°C (this particular solder paste seems to reflow at a lower temperature than the typical 165°C recommended, and I observed that reflow movement started to occur at around 125°C rather than at the advertised 138°C "melting temperature"). The solder joints were perfect, and I couldn't have asked for anything better!
Making Your Own Boards!
PCB Design: For designing PCB's I personally use Autodesk EAGLE which is a free but powerful tool that allows you to quickly create quality PCB's! It also has some really cool features like syncing 3D models of your PCB to and from Fusion 360.
PCB Prototypes: For quick and affordable prototypes I've found OSH Park to offer the best quality. They use a lead-free process called ENIG that actually gold-plates the contacts so they'll look great for a very long time!
PCB Assembly: Use your Reflowduino to assemble the boards!
Conclusions
Overall the Reflowduino is the perfect hardware for controlling any toaster oven or hot plate! With the Reflowduino Pro you can make a fully-functional reflow oven with all the bells and whistles for a little over $100 (with a $20 toaster oven). You can see some more technical remarks here.
If you liked this project, please comment below and don't hesitate to ask questions, provide suggestions, or give constructive feedback! If you would like to see something made, please first reference the to-do list for improvements that are already being considered. I'm currently in the process of getting things together to start an Indiegogo campaign so please spread the word!
Again, thanks for all the support, and I couldn't have done this without all those who have put shared their own efforts with everyone!
- If you liked this project, please share, add a heart, and vote for Reflowduino!
- If you replicate this project, please share your results and any tips others might find useful!
- You might also be interested in this follow-up tutorial I made about using an ESP32 and a new Reflowduino32 add-on module instead!
- If you have any questions, comments or concerns, don't hesitate to ask or share them!
~Tim