Hack a Toaster Oven for Reflow Soldering

FeaturedContest Winner
Picture of Hack a Toaster Oven for Reflow Soldering
As I get more serious into my electronics hobby, I need to work with more SMD components. Some component packages are very difficult or impossible to solder with a traditional soldering iron. To solve this problem, I decided to hack a toaster oven to become a reflow soldering oven.

Basically, to perform reflow soldering, solder paste is placed on a printed circuit board, and the components to be soldered is placed on top of the solder paste. When the oven heats the solder paste past the melting temperature, the solder paste melts and solders the component to the circuit board.

To control the oven's temperature, I created my own reflow toaster oven controller circuit. This circuit uses an ATmega32U4 microcontroller to monitor the oven's temperature using a thermocouple and AD595AQ, and then control the oven's heating element using a solid state relay. The controller features USB logging/debugging, USB bootloading, a graphic LCD display, and 3 buttons. The firmware features tweaking for all settings, manual temperature control, manual heating element control, and automatic temperature profile control (with a nice temperature history graph display). This circuit will plug into a wall outlet, and the oven will plug into this circuit, while the solid state relay basically acts as a switch between the wall outlet and the oven's heating element. Safety is the main design objective (but some things were limited by cost), and ease of use is the second objective.

Here is a demonstration video:

Some more key features:
  • The thermocouple is rated to over 500 degrees Celcius. Soldering using my solder paste requires only up to maybe 250 degrees Celcius.
  • The solid state relay is used because they can provide better control than mechanical relays, and they are more reliable. Mechanical relays can wear out because of their mechanical nature, and from internal sparks that occur during switching. I plan on switching the relay at 1 Hz, so this is important.
  • The relay is rated for 240V and 25A so it should work with any typical toaster oven in any part of the world. The relay is cooled with a custom made aluminum heat sink and a small cooling fan.
  • Everything on this circuit is powered from the wall outlet because I'm using a tiny USB charger as a built-in AC-to-DC converter. This is good since one cable powers everything. A computer is not required to operate it.
  • A plastic cover is created to protect the circuit from things touching it accidentally. I can safely handle the circuit without getting shocked.

Included here (see bottom of this step) are all of the project files. This package contains the CadSoft EAGLE 5.11 schematic and PCB files, the PCB gerber files, the source code for the microcontroller firmware (including the bootloader), and some mechanical drawings for the heat sink and plastic shielding.

Remove these adsRemove these ads by Signing Up
1-40 of 53Next »
bwetman3 months ago

Like the foil on the inside of the window looking in to the toaster oven.

It would be nice to have a bluetooth interface and program from an android device.

Kapton stencils here in 24 hrs for only $50.00 going down to 0.8mm pitch.

markyparky5 months ago

Hello mate, thanks for this your great project. Well done!!! I've buid a copy and struggling with one thing I can't get Manual temp mode working. I set any temterature and see PWM 65535/65535 but relay doesn't switch the heating element. Please note that auto mode and manual PWM mode works pretty well so relay wiring and heating element is ok. Any idea anybody?


Already sorted out. If someone of you experiences such issue there is possible solution:

It seems that "heat_set(cur_pwm);" is missing in the "void menu_manual_temp_ctrl()" part of "menus.c" => this causes that this particular part of the code works fine and calculates required PWM value but it actually doesn't say to heater hey mate turn on and this is your pwm value. Instead of this calculated cur_pwm is used just for writing on display.

Another issue I experienced is that when you are cooling down in final phase of auto curve too slowly (slower that expected temperature calculated using cooling step per sec set in the presets and time) you can pretty easily get this expected temperature value to negative numbers which causes that heater element is turned on even if you are actually trying to cool down.

I think I found a solution as well (not yet tried as I'm already off my workshop)

There is a upper limit to the duty cycle to avoid accidentally heating instead of cooling as a part of "RaflowToasterOven.c" but probably accidently this part of the code is commented.

I'll remove \\ from the beginning of the line and compile all the code again. Hopefully it will resolve this issue.



qpalmz1 year ago
Could you advise me on how to use an arduino as an ISP for this project? I can't seem to get it to play nice. So far, I've hooked up the SPI lines between the arduino and the board. I connected the arduino to the computer, and loaded ArduinoISP onto the arduino. Thanks!
frank26080115 (author)  qpalmz1 year ago
What errors are you getting?

What about the reset line?

Also, what SPI speed are you using? It needs to be about 125 KHz until you write all the fuses.
AMB_21 year ago
It you are interested in reflow soldering, for stencils in Europe, Eurocircuits ( can supply them with the pcbs. Also they have the ec-stencil-fix option which is not bad as you don't need an expensive machine to fix the stencil and apply the solder paste
For the controllers for your home oven there is one quite interesting in There are others also from drotek,
Ugifer1 year ago are a Chinese firm making PCBs and stencils. Their SS stencils start at 20USD plus shipping. I have not used their stencils but their PCBs are very good.
alex101 year ago
here is a good stencil supplier u.k based
ok1cdj1 year ago
If anyone need PCB and plastic cover (laser made) you can get it:
I stumbled upon this post because I was using the AD595 for another application and was surprised by the degenerate square wave output. It turns out that the square wave disappears when you ground the positive terminal of the thermocouple. This may sound strange, but you can see the connection if you look closely at figure 1 in the AD595 Datasheet.
frank26080115 (author)  hillaryryan1 year ago
huh, I did not see that before, or did not realize it meant a connection is required because the line is dotted without the dot that indicates a junction
kd1s2 years ago
One thing that could change is you could take the 125VAC into a 1:1 isolation transformer, then through a step-down transformer into a rectifier and filter capacitor to get the 5V using just one cord. Granted the bulk of the transformers would be barrier to making it light and easy to use.

The only reason I know about this trick is because I'm building a controller for a Western Electric 1D2 pay phone and it requires 5VDC for the logic and 130VDC for the coin relay.
I'm not sure why you would do that instead of using the 5v switching supply. You could always integrate the charger into the one cord.
I'm not sure why you would do that instead of using the 5v switching supply. You could always integrate the charger into the one cord.
skrubol2 years ago
iteadstudio has framed stainless stencils starting at $45. Probably overkill for most, but if you're making enough boards to justify having a jig to hold the frame, or durability comes into play, probably unbeatable.
ohararp2 years ago
Great instructable and thanks for the great presentation on how to use our stencils! I love seeing ingenuity like this! Ryan O'Hara
Zenock2 years ago
Do you think you could get the same vibrating action from an electric toothbrush?
wespow12 years ago
this may sound like a dumb question but did you have the size of this board 5cm by 5cm or 10 cm by 10 cm
wespow1 wespow12 years ago
I mean 5cm by 10 cm lol i don't think speed studio has that size.
wespow12 years ago
could i just make the pcb for a cheaper price?
frank26080115 (author)  wespow12 years ago
My design has hidden vias, so if you can plate through vias yourself, then yes, if not, then no
okay thanks.
wespow12 years ago
on the button switch would something like this work?
frank26080115 (author)  wespow12 years ago
yes it will work

it'll look kind of ugly though
charlieb0002 years ago
if i build one its going to be with ole fashioned bits and peices, rather than bits and bytes!! step 15: you do realise the brick acts as a heatsink? if its at the bottom then i guess its ok. but the aluminium is a nice thought, though it may work better if the whole inside were coated. you have a "minute" typo here
frank26080115 (author)  charlieb0002 years ago
the brick is acting like a heat capacitor, it will absorb heat while the air is hotter and release heat if the air is cooler, but it also reduces the amount of air inside the oven. Air also acts as a heat capacitor, and also a heat resistor.

it doesn't help heat dissipation to the outside of the oven that much, if at all, so it's a net benefit.

In the end, it does help the oven heat faster, but the oven also cools slower. opening the oven door slightly will help it cool faster so that's not a problem
I think you did a great job, and so what if you have typos? - Celsius and aluminum ( I still knew what you meant )... :)

BTW, I am trying to repurpose 2 small appliances. I have a working coffee maker and a working toaster oven (both replaced with newer gifts). I like your project, but It's really not that useful for my needs. Just out of curiosity, do you have any other suggestions for reusing these appliances (or just taking out useful parts)?

If I can't come up with anything, I will donate them to either the Salvation Army or someone who wants them (and is willing to pay for shipping) - I posted this in the Q & A section the other day.

Would love to hear your ideas/feedback if you have any to share.
frank26080115 (author)  canucksgirl2 years ago

I can't really come up with any other projects with those things, if they are working, personally I would just keep using them, or donate them. Just don't trash them.
if it were a simple mispellling i would have left it, it ought to have said "second". btw, the spelling/pronunciation of aluminium/aluminum depends on where you are from.
frank26080115 (author)  charlieb0002 years ago
oh I was looking for the mistake but spell check didn't pick anything up, now I fixed it since you pointed out it was supposed to be seconds, thanks.
lolito20112 years ago
hi i like your proyect am in mexico idon't now nathing abaut electronic and i like to ask if you have one for sell i am rely interested .
and sorry i try to speck ingles thank's
First off, I like your project very much. I strongly suspect I'll borrow several elements of it when I build my own oven.

In your schematic I see the signals SCL and SDA on the cable connector and the processor. Do they go anywhere else? I'm asking because I can't find the pull-up resistors that are specified in the LCD and ATMEGA data sheets. If they aren't hiding on the page somewhere (this is why I really dislike 'disjoint' schematics), their absence may be why your I2C runs slowly.

frank26080115 (author)  garyacrowellsr2 years ago
Hi Gary

My code activates the internal pull-up resistors of the ATmega, but maybe that is not enough? It's worked for other projects flawlessly before though.
I wondered about internal pull-ups, but quit looking when I saw that the data sheet explicitly recommended them.

Googling around suggests that internal pull-ups are generally too weak for high speed operation:
That should say: ... the data sheet explicitly recommended external pull-ups.
good work and good presentation in instructables .....:->
elmesito2 years ago
Grounding all metal parts is safer than not grounding them. By this I mean that the ground should be earth ground, not the low voltage circuit ground.

The relay heatsink surface is always insulated from any of its contacts (just imagine how it would end if it was not).

Again, please, please, for your own safety and of anyone attempting the project, connect all touchable metal parts, to the earth ground.

by doing this, if there was any connection or insulation failure, the leak would be detected by the RCD (I hope you have one) and save your life.
keithisit2 years ago
Was there any particular reason that you left the USB socket and AC prong panel attached?
frank26080115 (author)  keithisit2 years ago
I didn't leave the prong panel attached

The USB socket wasn't bothering anything, it was wrapped up in tape in the end anyway. There are much taller things on that assembly so the USB socket didn't matter.
kmpres2 years ago
Fabulous! Things have changed since I went to an electrical engineering college about 35 years ago. Much more reliance on microcontrollers now - my old textbooks only talk about transistors and TTL circuits. I was building stereo amps and 8-bit computers back then. You've made a very complete instructible. Thanks for the high detail and good luck with your studies.
1-40 of 53Next »

Get More Out of Instructables

Already have an Account?


PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!