First Gyro’clock board assembled!

Since I have finished building my home made reflow oven, now I can use it to assemble parts in the Gyro’clock boards.

The first step is to ensure that I have all the parts for the board. Since ideally you would only want to reflow the board once. I organized this in my project book as shown below. This makes it easier to find all the parts when it is time to place them on the board. Also the parts will not get mixed up! (The 0.1 uF, 22 pF and 4.7 uF caps all look the same!)


Making sure all the surface mount parts I need for the board are there before starting

Then I realized that I am missing a key component: 3.3 V Zener diode. Ordering just a single part from Digikey is quite expensive and I will have to postpone the board assembly yet again. Luckily I had a through hole 3.3 V Zener in my parts inventory. So I made a choice to do the reflow without the Zener, and then afterwards solder in the through hole Zener to the surface mount pads.

The next step is to put solder paste on the pads. I am using Chip Quick no clean lead free solder paste (SMD291SNL-ND). The solder paste came with a syringe and a nozzle. Ideally to put solder paste on a board you have to make a stencil first. Getting a professionally made stencil for a board can be quite expensive. So I decided to do it the hard way by putting solder paste manually on the pads using the syringe.

I had no idea how difficult it is to put solder paste onto a pad with a syringe. The paste didn’t really stick at all. You have to make sure not to put too much solder paste on a pad. If you do then you run the risk of making solder bridges. Too little solder paste and it won’t make a good connection. Having never done this before, I had a high risk of making one of or both of those two errors. Solder bridges on pins can easily be corrected later so I wasn’t too worried except for two components: The ADXL345 accelerometer and the HSMF-C165 bi-color LED. All the pads of these chips are located underneath the component. I only had one chance to get it right with these two.

With care and patience I put solder paste on all of the surface mount pads.


Solder paste applied to surface mount pads on the board

Once solder paste is applied to the pads it is time to place the components on the board. I must say this part is quite fun. Specially putting the resistors and capacitors. Once placed on the pads the solder paste holds the component in its place. The ATmega328p took a little aligning and the ADXL needed quite a bit of nudging to get it in place. Once all the components are placed on the correct pads (also in their correct orientations; watch out for those polarized caps!)


Once all the components are placed on the pads the board is ready for the reflow oven

Once all the components are placed in the pads I put the board carefully in the reflow oven and ran a previously prepared custom reflow profile. After about 10 minutes the board was ready to be taken out of the oven.


Gyro’clock board out of the reflow oven

Initial inspection showed that there were no solder bridges! All the resistors and capacitors showed solid connections with their pads. The only issue was the 3PDT switch, and this could have been totally avoided. The heat caused the plastic parts of the switch to melt. The switch was unusable.

So I removed the switch and manually soldered in another one in its place. After that I soldered in the Zener diode, the seven square LEDs that go on the edge, and the 150 mAh liPo battery. And then the moment of truth; Did the accelerometer and the bi-color LED make it? Did all the parts survived the heat inside the reflow oven?

They did! I was able to upload the bootloader to the ATmega328p and program it. The bi-color LED was working, which also meant that the LiPo battery charge circuit was also working.


A fully assembled Gyro’clock board (left) next to a bear Gyro’clock board (right)

I am very happy that the first try on my home made reflow oven was a success. The next step for the Gyro’clock project is to make a case for it. That is another completely new avenue for me to explore. Until next time!

Reflow Oven Build – Part 3

In the first part of the Reflow Oven Build series of posts I explained how I transformed a regular toaster oven into a reflow oven. The second part was dedicated for the Reflow Oven Controller (ROC). And now the third and  final part will focus on the Reflow Oven Manager (ROM). The ROM’s job is to talk to the controller, upload new temperature profiles, receive profile data from the controller, and display current status of the oven and a running profile to the user.

In short it looks like this…


Reflow Oven Manager (ROM) user interface

I decided to use Python to write the ROM program simply because I like programming in Python and making a graphical user interface with Python is easy.

Creating a new reflow profile

A reflow profile is list of target temperature values to be achieved by a reflow oven at certain times after starting a profile. Recommended reflow profiles can be found in the device datasheet for certain devices. A typical reflow profile can be broken down into five stages as shown in the diagram below:


Stages of a typical lead-free reflow profile

A custom reflow profile must be created for each board by consulting the device datasheets of the components to ensure the temperature in the oven does not exceed the specifications. If none of the devices have recommended reflow profiles then standard reflow profiles must be followed. The reflow profile will also depend on the type of solder paste used. Typically Lead-free solder paste require a higher temperature than lead solder.

Creating a reflow profile with the ROM is simple, as it asks the user for all the necessary temperature and time values to create a profile (see figure below). Once a profile is created it can be viewed and edited. The program automatically saves each new profile that is created so it is available the next time the program is used.


Creating a reflow profile using the reflow oven manager is as easy as entering a few temperature and time values

The ROC (Arduino) does not store any reflow profiles. So each time the controller is power cycled a profile must be uploaded using the ROM. Once a profile is successfully uploaded to the controller, it can be started; The status of the active profile will be displayed on the GUI. Profile data sent by the controller will be saved in a file so it can be viewed later on.

A complete program listing of the ROM is available here.

Now the reflow oven build is complete. All that is left to do is to test it by running a profile. Figure below shows the result of the first test run with the oven.


First test of the reflow oven. The actual oven temperature lags the target temperature

The results in the plot above shows the oven temperature is not able to follow the target temperature very accurately, specially at higher temperatures. The oven takes too long to heat up and as a result the actual temperature lags the target temperature.

The reason why the oven takes too long to heat up is because it doesn’t do a good job of retaining the heat. This was built after all from a $20 toaster oven from Walmart. I found that most of the heat is escaping through the glass door (which gets really hot!). After some searching around the internet I found a simple and a cheap solution to the problem: Just wrap the glass door with some aluminum foil! After wrapping the glass door with aluminum foil I ran the test again. This time the results were much better


Reflow oven test after adding the aluminum foil to prevent heat from escaping through the glass door

It takes a bit more time for it to cool down after about 160°C, but this is not an issue. At the end I can always open the door to allow more heat to escape if necessary.

Now the reflow oven is ready to take on a real job; That is to assemble the components on my Gyro’clock boards. This is the reason why I wanted to build this thing in the first place. I will cover that in my next post.

Reflow Oven Build – Part 2

In Reflow oven build – part 1 I showed how I modified a simple toaster oven to function as a reflow oven. In this part I will explain the reflow oven controller. The purpose of the reflow oven controller is to control the temperature inside the oven to follow a standard reflow temperature profile. The controller must have the ability to do the following tasks:

  1. Be able to turn on and off the heating elements of the oven
  2. Measure the temperature inside the oven
  3. Ability to modify the existing profile or upload a new reflow temperature profile
  4. Report current status and temperature data from the reflow oven to a user interface (the user interface will be covered in part 3)

This job is made for a microcontroller. For my reflow oven I am using an Arduino Micro. The diagram below shows the schematic of the controller:

Schematic of the reflow oven controller

Schematic of the reflow oven controller

I assembled the circuit inside a small first aid case, and made two openings on the side to connect a USB cable to the Micro and a +12 V adapter to power the CPU fan of the reflow oven. On the opposite side I made another hole to run the wires that connect to the reflow oven (thermocouple, GND, +12 V for fan, and signal to solid state relay).

The controller circuit assembled in a small box

The controller circuit assembled inside a small box

The reflow oven and the controller

The reflow oven and the controller

The next thing to do is to write code for the controller. Inside the controller a reflow profile is stored as time-temperature value pairs. These are target temperature values that need to be achieved at the specified times after starting a profile. The controller has only a single reflow profile at a time. A new profile can be uploaded to the controller using a separate program on a computer (reflow oven manager), which will be discussed in part 3. The controller also sends profile status and temperature data to the reflow oven manager so that it can be monitored in real time. The following flow chart shows the basic structure of the program that controls the reflow oven:

Basic flow chart of the reflow oven controller program

Basic flow chart of the reflow oven controller program

A complete program listing for the controller can be found here. On the next post I will discuss the reflow oven manager program that talks to the controller.