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.

1-40 of 57Next »
Leroy2 months ago


Great project! Thanks for publishing this project.

What USA product do you recommend to program the Atmega32U4-AU ? I will be using Debian linux.


baecker036 months ago

arduino is really no different than a programmer. programmers run 40-80 $ or cheaper if you get a clone off ebay like me. it just takes some patience. the chip can be easily had from a supplier. I buy tons of atmel products so i just requested a sample so i can work with this. the 1284p is very similar to this chip and can be easily bootloaded (comes in dip 40). adapting the chip takes only a little extra time rearranging the connections.

also forgot to mention that the author mentioned using an atmel328p in place of the atmega32u4

SugarCluster7 months ago

Why every single tutorials here does NOT use Arduino as a controller for the oven? They all seem to be using customized circuits and non-Arduino-compatible chips (or those things I cannot program easily). Of course this tutorial is great, and I liked it!

(but I sadly cannot make one because I don't have access to the chip and cannot solder SMD parts with any of available methods without burning either my hand, the board, the chip or nearby components)

I need to get the code working for Arduino (Mega, UNO, Nano...) so I can reflow solder on my board without burning the chip or toasting the board.

p.s. If you can help me, can I get some help? (Sadly due to bad English my words can sound harsh. I really appologize)

This is what I need (don't mind the components; just make the code possible to work under UNO):

1. Switch between modes (lead paste and no-Pb paste)
2. When temperature doesn't go up or down (in 40 seconds), or if the door is opened, sound alarm (safety is a must)
3. Overcooking prevention
4. Timer function
5. Emergency shutdown button (cancels off any remaining job)

6. Warn user for inside temperature (because hot things and hands doesn't play nicely)

p.p.s. I don't know why but my FTDI USB ISP programmer does never initialize anything correctly and ends up throwing "arvdude: device not ready".

bwetman1 year 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.


markyparky1 year 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.



qpalmz2 years 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)  qpalmz2 years 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_22 years ago
It you are interested in reflow soldering, for stencils in Europe, Eurocircuits (www.eurocircuits.com) 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 www.youtube.com/watch?v=HBWtqZro_fg.
For the controllers for your home oven there is one quite interesting in www.nelectronics.org. There are others also from drotek, www.drotek.fr.
Ugifer2 years ago
sitopway.com 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.
alex102 years ago
here is a good stencil supplier u.k based stencils@smtstencil.co.uk
ok1cdj2 years ago
If anyone need PCB and plastic cover (laser made) you can get it: http://hamshop.cz/pcb-c7/pcb-reflow-controler-i199/
hillaryryan2 years ago
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)  hillaryryan2 years 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
kd1s3 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.
Kinnishian kd1s2 years ago
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.
Kinnishian kd1s2 years ago
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.
skrubol3 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.
ohararp3 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 www.ohararp.com/Stencils
Zenock3 years ago
Do you think you could get the same vibrating action from an electric toothbrush?
wespow13 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 wespow13 years ago
I mean 5cm by 10 cm lol i don't think speed studio has that size.
wespow13 years ago
could i just make the pcb for a cheaper price?
frank26080115 (author)  wespow13 years ago
My design has hidden vias, so if you can plate through vias yourself, then yes, if not, then no
okay thanks.
wespow13 years ago
on the button switch would something like this work? http://www.ebay.com/itm/120770287927?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649#ht_2766wt_1163
frank26080115 (author)  wespow13 years ago
yes it will work

it'll look kind of ugly though
charlieb0003 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)  charlieb0003 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)  canucksgirl3 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)  charlieb0003 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.
lolito20113 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)  garyacrowellsr3 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: http://wiki.nycresistor.com/wiki/Using_the_TWI/I2C_interface
That should say: ... the data sheet explicitly recommended external pull-ups.
good work and good presentation in instructables .....:->
1-40 of 57Next »