I’ve been spending a decent bit of my free time lately on my binary watch project.  I have a full writeup that I added to the projects section (which goes into more detail about the hardware and software used, and contains information about my github and storefront), but I figured I’d also do a post on the production flow I’ve been using, since I think that’s kind of cool (thus reaffirming that I am an embedded systems nerd : )

To start with, I made the conscious decision at the design phase of the project to use a QFN package for the microcontroller in order to save space and force myself to improve my soldering skills and tools.  This package has two big hurdles to overcome.  For one, it does not have leads extending from the package like I’m used to with, say, a TSSOP part.

w_TSSOP

Instead, the exterior of the package has exposed pieces of metal on the outside and underside of the package that the solder must adhere to.  The second big hurdle is that the package has a very large ground pad in the center.  Since the ground pad is not exposed, it is nearly impossible to get solder to flow on it without using either a hot air rework station or a reflow oven.

w_QFN

To overcome these hurdles, I ordered a stencil along with my circuit board when sending the files off to China for fabrication.  The stencil is basically just a 13 x 15 cm piece of metal that has holes cut to align with the exposed solder pads on the board.  The stencil allows you to very quickly put solder paste on the entire board, by using a spatula like piece of metal to spread paste over all the pads on the board at once.  At only $20, this was a very good deal in terms of money spent to time saved.  For my first attempt (while waiting for the boards and stencils to arrive), I picked up a stencil for just the QFN part and used a toothpick to apply solder paste to the remaining pads.  I had an older version of the PCB sitting around that worked well for practice.  The process took about 45 minutes, and it was very obvious at the end which paste was applied by the stencil and which was applied by hand.

w_Trial1_nostencil

It’s important to note here that it’s perfectly fine if the solder paste is all over the place.  The circuit board is covered with a solder resistant mask, so when the board heats up, the solder will flow to the nearest exposed pad.  Once the board was covered in paste, it took another half hour or so to manually place all of the components.  I was worried at first about making sure that all of the (very tiny) pins on the QFN package were aligned with the solder pads, but it turns out that the ground pad is so large that once the solder paste gets hot and liquefies, it exerts enough force on the part to pull it into the right orientation (assuming it’s not off too horribly to start).

Once the board was covered in solder paste and the parts were placed, it was time to get the board hot enough to flow the solder.  To do this, I picked up a few new toys.  From craigslist, I found a toaster oven that needed a new home.  From Amazon, I picked up a  PID Controller that will read the temperature in the oven via Type K themocouple and carefully pulse the oven off and on to achieve and maintain a stable temperature.  I then picked up a relay and heat sink that were rated high enough to handle the high amperage that the heating coils of the toaster oven pull.  Put these together, and you have a basic reflow oven for under $75 that you can put together in about an hour.

Oven running and carefully controlled, it was time to drop the board in and see how it handled the heat.

w_Trial1_bake

I dropped the board onto the rack, then shot for a target temperature of 180 degrees celsius.  Once I observed the paste start to flow on the pins of the QFN part, I started a two minute timer.  At first, I pulled out the board immediately, not realizing that the paste that was sandwiched between the board and the QFN’s center ground pad would need much more time to heat up before it would flow, hence the additional two minutes.

The board looked pretty good, but I wanted to be certain that nothing went wrong with those tiny QFN pads.  I plugged in a USB microscope that I got off ebay for ~$15, and was able to get a closer look at the pads.

w_zoom_bridge

I don’t think those are supposed to be bridged like that…

w_zoom_bad_cap

Neither should those… and that capacitor is probably supposed to be touching that pad.

Easy fixes to make, but important fixes to make.  Fire up the soldering iron with a tiny tip attached, and reflow the pads.

Once the components were all in place, it was time to solder the back of the board.  Since there were just a few 0603 components on the back, I just soldered everything by hand.

w_Trial1_back

By the end of the night, I had a fully working watch that took me about three hours to assemble.  Nice for a oneoff, but not so great if you’re looking at making, say, eight of them at once.

 

Flash forward about a month and a half, and I had received my batch of boards and real stencil.  I quickly found that it took an unpleasant amount of time to get the stencil perfectly aligned to the board, and it was difficult to keep that alignment when swiping the spatula and solder paste across the stencil.  Fortunately, I’ve been playing around with a CNC router lately, so I made a very simple mount for them.

w_Assembly_1_stencil

With this, the board and stencil are automatically aligned, allowing me to very quickly apply paste to multiple boards.  I settled on 8 boards for my trial run, which took me about 45 minutes to get paste and parts on.  Next, into the oven

w_Assembly_3_baking

I still had to do some manual cleanup on the pins (especially the ones near the RTC crystal… for the next batch, I’m definitely going to use less paste on that section to try and prevent bridges).  After cleanup, it was time to program the boards.  I’m using a PIC micro controller here, so I was able to utilize the programmer to go functionality of the pickit 3 to just power the programmer and hit the button to load firmware to a new board.

w_Assembly_5_programming

All told, it took me about an hour and a half to get eight boards done.  This is not including the bottom of the board, which will probably add an extra half hour to the process.

Overall, I am pretty happy with my process flow.  This is the first time I’ve tried to do this many boards with parts this small out of my garage, and I’m happy with the quality and time commitment required to do batches of ~10 boards.  Plus, I got to take apart a toaster oven, and that’s always fun :)

w_Trial1_station