Step 4: Circuit Assembly Part 1

Here's a shopping list for electrical components:
Qty Sch Ref Name Value Package Rating Notes
1 C3 Tantalum Capacitor 10 uF 1206 6V or Greater  
4 C4, C5, C6, C7 Ceramic Capacitor 0.1 uF 0805 or 0603 6V or Greater  
2 C8, C9 Ceramic Capacitor 22 pF 0805 or 0603 6V or Greater  
1 C10 Aluminum Caoacitor 47 uF or greater 6.6mm x 6.6mm 6V or Greater  
1 C11 Tantalum Capacitor 4.7 uF 1206 6V or Greater  
10 C1, C2, C12 to C20 Ceramic Capacitor 1 uF 0805 or 0603 6V or Greater  
1 IC1 LM1117 3.3V SOT-223    
1 JP1 Male Header 3x2 0.1" Pitch   Standard 6 Pin ISP Header for AVR
1 JP2 Screw Terminal 2 Pins, SparkFun PRT-08084 3.5mm Pitch   For thermocouple
1 Q1 Crystal 16 MHz HC49 SMD 20 pF, +/- 30 PPM  
2 R1, R2 Chip Resistor 22 Ω 0805 or 0603 1/10 W, +/- 10%  
4 R3, R4, R7, R8 Chip Resistor 10 kΩ 0805 or 0603 1/10 W, +/- 10%  
1 R6 Chip Resistor 330 Ω 0805 or 0603 1/10 W, +/- 10%  
2 S1, S2 Button Switch TL3330      
3 S3, S4, S5 Button Switch TL6120DF     Must be super tall
1 USB USB Mini-B Female Connector UX60A-MB-5ST SMD   My favorite, easy to solder, flat bottom
1 LCD LCD COG Graphic Display NHD-C160100DiZ 160x100 Pixel    
1 LCD FPC Connector A100284CT, 1-1734592-4 14 Pos, 0,5mm Pitch,
Right Angle SMD
1 U1 AVR Microcontroller ATMega32U4-AU 44 TQFP    
1 U2 Thermocouple Amplifier AD595AQ 14 DIP    
1 U2 Chip Socket 14 Pins 14 DIP    
1 Relay Solid State Relay D2425 by Crydom   240 VAC, 25 A  
1 JP2 Thermocouple,
type K
by Test Products Int
  -40 to 510 °C  
1   USB Wall Charger     120V or 240V AC to 5 V DC, 1000 mA Used as wall AC to 5V DC converter
1   Cooling Fan 5V DC 40mm x 40mm,
10mm to 17mm thick
1   AC Extension Cord   16 AWG or Thicker 300V  

Solder these components to the PCB, follow the PCB design.

To get a PCB, download the project files, and send the Gerber files to a PCB manufacture. I used Seeed Studio 's Fusion PCB Service, it'll cost you $29 for 10 pieces.

Most components are 0805 (but can be substituted with 0603), everything on the PCB can be hand soldered. Surface mount soldering is easy, as demonstrated in my video:

There are several special connections you need to make, see the diagrams in the gallery about the following:
  • You need to solder a thick extension cord to the circuit. I live in North America, so one wire is "hot" and one wire is "neutral". Your country might use a slightly different system, but if you don't mix up the wires, this circuit should also work for your country.
  • As I mentioned before, a cheap USB charger is used as 5V DC power supply that converts AC power to DC power. After you hack that charger (the instructions will be in another "Instructable Step"), the diagrams show you where to make the connection.
  • I used velcro to attach the LCD to the PCB. Connect the flat cable into the FPC connector. Solder the backlight wires to the connection for the backlight.

You need to put a lot of solder onto the wide exposed AC tracks so it can handle the large amount of electrical current.

Clean the PCB using alcohol or flux cleaner. Leaving flux on the PCB might cause inaccurate readings from the AD595AQ.

The schematic has some notes on it, I hope you read them.
<p>I tried importing the board schematic into circuitpro but something went wrong because the drill holes didn't seem to be the correct size. Does anyone know how to fix this problem?</p>
<p>I don't suppose you every made a smaller version of the PCB that you then used your oven to reflow? Do you have any assembled boards you'd be willing to sell?</p>
<p>Hi! </p><p>Excellent project! Thanks!</p><p>I have built it but I get some strange behavior regarding the serial port. When I am on the bootloader mode the usb port works fine and I can burn the firmware successfully. But on application mode the serial port won't work and I get the error message from windows that the usb plugged device is not recognized. Could you please advice on that problem?</p><p>Thanks</p>
<p>Hi again. I found the problem with the serial port. I should point a mistake of yours now. In the BOM and also in the schematic you have chose to use a 16Mhz crystal oscillator. This is wrong because you use 3.3V to power the AVR. Based on the datasheet, in order to have a stable clocking to the AVR with 3.3V Vcc you can have a maximum 8Mhz crystal. In your make file you compile with -DF_CPU=8000000UL but your calculations for USB's PLL and I2C speed is done with 16Mhz clock. If you use an 8MHz clock,add 2 4k7 pull ups to i2c lines and set these </p><p>lcd.c</p><p>TWBR = ((400000UL / SCL) - 16) / 2;</p><p>usb_serial.h</p><p>#define HW_CONFIG() (UHWCON = (1&lt;&lt;UVREGE))<br>#define PLL_CONFIG() (PLLCSR = (1&lt;&lt;PLLE))</p><p>the serial port works great and I2C speed can reach the 400khz that the screens datasheet mentions.</p><p>regards</p>
<p>Frank, </p><p>Great project! Thanks for publishing this project.</p><p>What USA product do you recommend to program the Atmega32U4-AU ? I will be using Debian linux.</p><p><br>Alan</p>
<p>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. </p>
<p>also forgot to mention that the author mentioned using an atmel328p in place of the atmega32u4</p>
<p>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!</p><p>(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)</p><p>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><p>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)</p><p>This is what I need (don't mind the components; just make the code possible to work under UNO):</p><p>1. Switch between modes (lead paste and no-Pb paste)<br>2. When temperature doesn't go up or down (in 40 seconds), or if the door is opened, sound alarm (safety is a must)<br>3. Overcooking prevention<br>4. Timer function<br>5. Emergency shutdown button (cancels off any remaining job)</p><p>6. Warn user for inside temperature (because hot things and hands doesn't play nicely)</p><p>p.p.s. I don't know why but my FTDI USB ISP programmer does never initialize anything correctly and ends up throwing &quot;arvdude: device not ready&quot;.</p>
<p>Like the foil on the inside of the window looking in to the toaster oven. </p><p>It would be nice to have a bluetooth interface and program from an android device.</p><p>Kapton stencils here in 24 hrs for only $50.00 going down to 0.8mm pitch.</p><p>http://www.soldertools.net/plastic-stencils/</p>
<p>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?</p><p>Thanks!</p>
<p>Already sorted out. If someone of you experiences such issue there is possible solution: </p><p>It seems that &quot;heat_set(cur_pwm);&quot; is missing in the &quot;void menu_manual_temp_ctrl()&quot; part of &quot;menus.c&quot; =&gt; 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.</p><p>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.</p><p>I think I found a solution as well (not yet tried as I'm already off my workshop)</p><p>There is a upper limit to the duty cycle to avoid accidentally heating instead of cooling as a part of &quot;RaflowToasterOven.c&quot; but probably accidently this part of the code is commented. </p><p>I'll remove \\ from the beginning of the line and compile all the code again. Hopefully it will resolve this issue.</p><p>Thanks,</p><p>MarkyParky</p>
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!
What errors are you getting?<br><br>What about the reset line?<br><br>Also, what SPI speed are you using? It needs to be about 125 KHz until you write all the fuses.
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. <br>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.
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.
here is a good stencil supplier u.k based stencils@smtstencil.co.uk
If anyone need PCB and plastic cover (laser made) you can get it: http://hamshop.cz/pcb-c7/pcb-reflow-controler-i199/
Howdy, <br>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. <br>Best, <br>Hill
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
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. <br><br>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.
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.
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
Do you think you could get the same vibrating action from an electric toothbrush?
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
I mean 5cm by 10 cm lol i don't think speed studio has that size.
could i just make the pcb for a cheaper price?
My design has hidden vias, so if you can plate through vias yourself, then yes, if not, then no
okay thanks.
on the button switch would something like this work? http://www.ebay.com/itm/120770287927?ssPageName=STRK:MEWNX:IT&amp;_trksid=p3984.m1439.l2649#ht_2766wt_1163
yes it will work<br><br>it'll look kind of ugly though
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 &quot;minute&quot; typo here
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.<br><br>it doesn't help heat dissipation to the outside of the oven that much, if at all, so it's a net benefit.<br><br>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 )... :)<br><br>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)?<br><br>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 &amp; A section the other day.<br><br>Would love to hear your ideas/feedback if you have any to share.
Thanks<br><br>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 &quot;second&quot;. btw, the spelling/pronunciation of aluminium/aluminum depends on where you are from.
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.
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 .<br>and sorry i try to speck ingles thank's <br>guapachoso2011@hotmail.com<br>
First off, I like your project very much. I strongly suspect I'll borrow several elements of it when I build my own oven.<br><br>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.<br><br>
Hi Gary<br><br>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. <br><br>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 .....:-&gt;
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.<br><br>The relay heatsink surface is always insulated from any of its contacts (just imagine how it would end if it was not).<br><br>Again, please, please, for your own safety and of anyone attempting the project, connect all touchable metal parts, to the earth ground.<br><br>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.
Was there any particular reason that you left the USB socket and AC prong panel attached?
I didn't leave the prong panel attached<br><br>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.
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.
It was like a complete journey through the syllabus of Electronics
its very good data:-&gt;<br>

About This Instructable




Bio: I am an electrical engineer. I graduated from U of Waterloo. I used to work for Adafruit Industries as an EE. Now I work for ... More »
More by frank26080115:LED Pocket Watch Easy Cord Wrapping Around Power Bricks Using SMD Components on Breadboards 
Add instructable to: