Thursday, April 19, 2012

PCB fab characterization - undercut in DorkbotPDX batch order

Most of the time people making PCB simply design the board exactly as they want it to look, send it off to the fab, and trust that they'll get back a board that matches what's on the gerbers. Unfortunately this is not actually the case! The gerbers are used to create a photomask, which is then exposed onto a photoresist-covered panel and etched.

Most PCBs are patterned using a ferric chloride or copper chloride based etch which is almost perfectly isotropic - it etches equally in all directions. This results in the mask being undercut by approximately the thickness of the copper layer (35 μm for 1oz copper).

PCB cross section showing sloped sidewalls from undercut (homemade board)

Ever since I did my first BGA board and noticed some of the pads looked a bit small I've wanted to do a formal study of mask undercut on this process so that I can design future boards with this in mind.

While the undercut is small and insignificant for many applications, it can become a significant issue when working with fine-pitch BGAs, 0201 sized passives, and other very small components!

This was my first time imaging PCBs at high magnifications (more than the 30x of my inspection microscope) so I fooled around a little bit with techniques. Somewhat surprisingly I found that darkfield illumination gave better results than brightfield - brightfield images tended to be far too bright due to reflections from the soldermask.

My first test was one of the leftover boards from my BGA test in January. In darkfield the pads stood out very well and were easy to measure to within a few μm. All dimensions were taken with the focal plane at the top of the trace. At some point in the future I plan to cross-section a board and measure edge profiles.

200 μm nominal diameter BGA pads (darkfield image). The circles below and to the left of the pads are damage to the soldermask from a misaligned BGA reflow attempt.
The pads are on 500 μm centers and are nominally 200 μm diameter with 300 μm space between them. A quick inspection shows that the pad size is much smaller than the space! Actual measurements show that the left-hand pad is 85 μm in diameter and the right is 67 μm, for undercut of 115 μm and 133 μm respectively!

Further inspection showed that one of the isolated pads (not connected to a trace) had been etched away entirely.

Brightfield image showing empty hole in soldermask where a pad was etched away. Note strong glare from soldermask in brightfield mode.
It is also interesting to note that the soldermask apertures are almost exactly 200 μm in diameter despite the gerbers including some clearance around the pad.

A higher magnification image allowed me to measure trace and pad sizes more precisely.

Higher magnification image of same area
The 200 μm nominal pad is actually 89.5 μm in diameter and the 152 μm trace is actually 57.9 μm. The undercut was over 50% in this case - 110.5 μm on the pad and 94.1 μm on the trace.

In order to verify that the undercut was not specific to this one board I tried a more recent one - my 0201 passive test panel from last week.

0201 capacitor footprint
Both pads are nominally 250 μm wide. Actual measured dimensions are 187 μm and 190 μm for undercut of 63 and 60 μm respectively.


Higher magnification view of a single pad
This pad measured 189 μm wide. Edge roughness was very small and hard to measure but it looks to be under 5 μm.

The same board also contained an 0.8mm BGA footprint. Pads are nominally 400 μm on 800 μm centers.

0.8mm BGA footprint
The results were consistent with previous measurements - actual pad sizes are (clockwise from top left) 329 μm, 329 μm, 331 μm, and 332 μm. Undercut values are 71 μm, 71 μm, 69 μm, and 68 μm.

In conclusion, the fabricator used by the DorkbotPDX batch order exhibits nontrivial undercut on small features. Observed undercut values ranged from 68 to 133 μm and were fairly consistent within a single board but varied from board to board. The 0.5mm BGA test board exhibited an average undercut of 113.5 ± 19.5 μm and the 0201 test board exhibited an average undercut of 67 ± 4 μm.

Saturday, April 14, 2012

Fab screwups, then taming the 0201 passive

Since I've already developed a reliable process for reflowing 0402 surface mount components, as well as 1mm pitch BGA, the next logical step was 0201 passives.

I made a 1x1 inch test board with a bunch of 0201 footprints plus several other test structures (I hope to fool with homebrew filled vias at some point so I included an 0.8mm BGA with drilled-out pads on the same dummy board) on DorkbotPDX's batch order. When I eagerly opened my purple envelope late last month I was quite annoyed to discover that my soldermask pattern was completely wrong!

Soldermask bugs

The component values on the silkscreen were a screwup on my part but the fab had totally borked the mask. The correct pattern had the via fence unmasked and all of the areas around components masked.

After emailing back and forth with Laen we figured out the problem - my soldermask polygon had gone slightly outside the board outline and a bug in his panelization script resulted in the offending vertex being deleted, rather than clamped to the board outline. He offered to make me a new batch of boards at no cost.

The new boards arrived today and I inspected them briefly under the microscope. As usual they were superb quality, with near-perfect registration between layers.

Pre-assembly inspection of 0201 footprints
My first attempt at applying solder paste using a 22 gauge needle was a complete failure. There was as much paste between the pads as on them.

Somehow I don't think this will work...
I tried scraping the paste around with a scalpel blade and managed to get something halfway decent, but it still wasn't nearly as clean as I wanted. After thinking for a bit I decided to try squirting paste onto a microscope slide, then picking up a tiny blob with the blade and touching it to the component pads. This actually worked out surprisingly well!

Paste applied with scalpel blade
I wasn't expecting to get any better than this (for scale, the traces between the pads are only 150 μm wide) so the next step was to place components.

After component placement
This took a few tries but my super-fine-point tweezers were a huge help. The pitch I used seems to be about the sweet spot - pretty dense, but not so close that my tweezers bang into the next component in line while placing one.

I ran the board through my standard reflow profile in a toaster oven, then inspected.

Post-reflow inspection looks good!
Everything looked good, there were no visible shorts (confirmed by electrical testing) and all connections seemed solid and low resistance. I took a few more photos at varying angles and magnifications to verify.

Angled view of a single component. Note the size of the component in relation to the 35 μm thickness of the 1-ounce copper trace!
One of these days I need to try using stencils for paste application. In the meantime, it looks like 0201 passives are labor-intensive but definitely within reach for high-density designs.