Reflow Oven Control

One of the first tasks I have is to build an reflow oven for soldering SMT components. I purchased a used convection toaster oven on craigslist.com. Although I'm considering using a standard bread toaster after hearing how well one performed. The controller will be based on my overall cube design including an RTOS driven CCM. Eventually it will be easy to add an ACPM and ZBM but for now power and host communication will come from the CCM serial / USB interface.


I've studied quite a few of the controllers out there. There are some good complete kits to buy, but the point of all this is to learn to "build" a reusable automation sensor / actuator platform. A platform like that is perfect for a reflow oven controller. Let me be clear, though; if you are looking for a good standalone reflow over controller, build a design dedicated for that purpose, there are several well documented designs. If, however, you are looking for a reusable automation platform, this controller is a practical base.


The reflow oven will intentionally have very few "bake" time options. Baking SMT boards is a real cookie cutter process i.e. start the PLC and let it run to completion. This really just requires a start/stop toggle. To help with troubleshooting and process tuning there will also be a local LCD display providing time, temperature, and graphs. Tuning the process will be performed through the PC interface where the complex device object model will permit configuration of all the tunable parameters.

Hardware Design

The hardware design is a mash up of various published designs.
  • Temperature sensing - a single chip K type thermocouple IC was chosen to reduce the development time at a price
  • Element control - the heater and fan control will use basic TRIAC circuits with pulse skipping
  • User interface - a cell phone LCD will provide local feedback

Software Design

The software is primarily just a standard CCM that exposes the simple and complex object models for the controller. A simple object model is exposed for each of the application module functions (i.e. LCD user interface, temperature sensor, TRIAC controller). Each of the simple functions (and hardware) can be independently used in other projects. A complex object model for a heater controller is then composed on top of the simple object models. The complex object model encompasses a software PID controller with modes that support following a segmented profile. Of course the profile in this case is a reflow solder profile. The complex object model will be reusable for other PID tasks, however this specific controller implementation will likely be specific to the solder profile.


  • Finalize the CCM hardware and software design (especially the RTOS)
  • Build the AVR development environment
    • Programmer
    • RTOS environment
    • Software development tool chain
    • Debugging tools (i.e. PC serial console)
  • Design a heater control application module (HAM)
    • Contains dual TRIAC output; thermocouple input; and phase detector
  • Finalize the CCM object model and communications protocol
  • Create the HAM object model
  • Write PC based software for monitoring and control
    • This is another opportunity to provide a reusable platform and interface

Hardware Design

CCM - Common Compute Module

Documented here: Freeduino CCM" class="wiki wiki_page">Freeduino CCM

HAM - Heater Application Module

  • Two TRIAC zero crossing outputs
  • K Type thermocouple input
  • AC Phase detector
I had originally thought about creating a TRIAC circuit that could be reused as a light dimmer. However I don't believe that the simple optoisolated phase detector used by most other implementations will accurately detect the AC zero crossing. This will make it difficult to accurately fire a TRIAC at specific phase angles. Atmel has an application note that describes a good zero crossing circuit, but it requires that the AVR be directly connected to the line side; a configuration that is not compatible with the cube design. I also found a much more complex opto-isolated version using a comparator. The simple design will work well for a pulse skipping technique appropriate for a heater. For this project I choose a zero crossing TRIAC driver. That driver will ensure that only complete half cycles are delivered to the heater greatly minimizing noise. While simple and cheap, it also makes it complete impossible to dim a light.

Reference Material


It turns out to be quite hard to select a thermocouple. Mainly because of the large range of options and prices. All I really need is a cheap K type thermocouple that has a cable that can withstand greater than 300 C.



Recently I've decided to build the zero-crossing controller myself. These are some notes and references for the circuit. The idea here is to use a zero-crossing opto-isolated triac driver to make it simpler. The design task is to select a triac (15A load), triac driver, biasing resistors, and noise snubber circuit.

Applications of Zero Voltage Crossing Optically Isolated Triac

http://www.simpleio.com/design/triacout/TriacOutSchematicNotes.asp - Controller with parts list for 4A.
Thyristors Used as AC Static Switches and Relays - Gate drive design

A Reflow Controller for Soldering With a Griddle or Toaster - Triac zero-crossing based control w/ 20A Triac
Contributors to this page: michael .
Page last modified on Monday 19 of December, 2011 17:30:00 CST by michael.