Surface mount PCBs (Part 2 – BGAs)
In my first post I described the process of reliably soldering surface mount components to create sophisticated and high density PCBs. Many of the really exciting components are only available in a Ball Grid Array (BGA) package. Think of ARM processors, high density memory, and Field Programmable Gate Arrays (FPGA). These complex devices can have too many connections to the silicon to use a traditional Small Outline Package (SOP) or Quad Flat Pack (QFP). On high pin count QFPs the pins are so narrowly spaced that solder bridges are common and pins are far to easy to bend and damage. Ironically BGAs are easier to work with in this regard as they are intrinsically far more resistant to damage prior to mounting.
The ‘pins’ are tiny solder balls on the bottom of the device, attached by the manufacturer. Unlike QFP pins, these resist bending and breaking and usually have a bigger pitch making misalignment and bridging less likely. This robustness does come at the cost of a more complex PCB and a multi layer PCB is almost a requirement. There are large areas of research dedicated to ‘escape routing’ to find the most effective way of routing these pins from under the device to their destination. A BGA with 256 pins needs about 4 layers to escape every pin. Even then, the central 16 mins are unreachable. The BGA manufacturers try to help by grouping power supply and ground pins together so that they can be routed by a single signal, such as Ground or VCCINT, reducing the number of signals you need to get to the inner pins. With systematic routing and a thoughtful manufacturer every pin on a 256-pin device can be routed out from under the device. While 0.5mm or even 0.4mm pin spacing is common on QFPs, many BGA devices are available in 1.27mm, 1.0mm or 0.8mm. I won’t cover BGA escape routing in this post, as it’s fairly complex. We’ll look at that for a future post.
First BGA attempt
My first BGA attempt was surprisingly successful. I’d designed a fairly simple board that linked an Atmel SAM4S device to a Spansion NAND Flash device, both of these devices were in a BGA package. I used a paste stencil from the excellent OSH Stencils to get the solder paste on the board using the screen printing method. While this works well for most surface mount board, on BGAs it’s a little trickier. I learned later that solder pastes have a minimum screen printing size included in their specifications and as the solder paste goes off, it’s viscosity increases and this makes it harder to get the paste squeezed through the tiny holes of the stencil. Here’s my board prepared and lined up for the screen printing process.
You can see the coper colour of the pads through the holes in the stencil. The black L-shapes are jigs purchased from OSH Stencils to hold the board rigidly in place while the screen printing process takes place. Even on the larger image it’s difficult to see the copper pads of the BGA through the stencil. These holes are 0.35mm in diameter. Despite slow and steady dragging of the paste across the stencil, I could not seem to get any solder paste through the holes onto the pads. Partly, I suspect my solder paste was nearing the end of it’s shelf life and partly I didn’t have a proper tool to spread the paste (I was using an old 3.5″ floppy disk as a squeegee!). However, something got through as we’ll see later. I resisted the urge to push the past back and forth across the stencil as this can smear the paste outside the pad area.
After placing the components on the board I baked the board in an Infra Red oven. This is a wonderfully simple bit of equipment, but can make the process to much more reliable and stress free. Like a toaster oven, this device will heat the contents but in a very controlled manner, based on the recommended profile for your type of solder paste or your device manufacturers recommendation. As with hot air soldering, the solder melts and pulls the components and BGAs into place on the pads. With the larger pitch, assuming you’re accurately placing the device within less than half of the pin pitch, it will self center on the pins.
My board had components on both sides, so I hand soldered the back with hot air soldering as this just had simple capacitors and resistors. The finished board is shown below, not to shabby for a first attempt.
If you click on the image for a larger view, you can see some solder spatter on the board. I attribute this to ageing and contaminated solder paste, a failure to remember to clean the board with alcohol and a ‘bleed’ from repeated poor quality screen printing. Note the devices are perfectly centered over their printed legends, indicated that there was some solder movement under the device during baking.
I plugged the device in and with some minor adjustments (you’ll notice a patch cable in later images), managed to get the device recognized by the Atmel programmer. SUCCESS! I tested the connection between the Atmel device and the NAND Flash. Bit 2 of the flash was consistently reading as 0. Obviously a fault somewhere, but not a bad result.
Second BGA attempt
With the relative success of the first attempt still fresh, I immediately went onto building a second board with the intent of trying to address the suspected problems of the first. This time, I did not use the stencil, figuring that the solder paste was too difficult to get through the small diameter holes and smearing may be causing a short between bit 2 and ground. I used copious liquid flux and hoped that the solder balls on the new devices were enough to bridge the gap between the package and the PCB.
This was not successful and I could not even get the device recognized by the Atmel programmer, meaning the power supply balls or the JTAG balls were not connected properly. Extensive testing, probing and manipulation of the board eventually pried the Atmel chip free from the board. It was clear that baking with just liquid flux was not sufficient to secure the devices to the board. Later attempts showed me that the solder balls can all be slightly different heights with the taller balls keeping the shorter balls from reaching the PCB surface. If the PCB is slightly warped, then this can also contribute to this effect.
Clearly solder paste is essential to this process.
Third BGA attempt
The BGA itself was not visibly damaged by it first trip into the oven, and figuring that I had nothing to lose by attempting to ‘repair’ the board with hot air, I attempted to replace the BGA by manual means. I placed brand new solder paste on the bga pads with a fine nozzle. The nozzle was about 3-5 time the size of each pad, so naturally it spread paste across several pads at once. Using a scalpel to lightly scrape paste from between the rows of pads gave me a reasonable placement of solder paste on each pad. There were still some bridging between pads, but the paste was spread really thin, so I figured the greater pitch of the BGA would clean up the bridging during heating.
Once again, I set the hot air flow to 350C and minimum flow. Holding the handset 6-8cm from the chip and pointing directly down, I heated the back of the Atmel chip with a circular motion. After about 20 seconds, I noticed the familiar squirming of the device as the solder balls went molten. I held the air for another 3-5 seconds before removing an allowing to cool naturally.
Incredibly, upon testing this repaired device, it was recognized immediately by the Atmel programmer, indicating that my crude repair had indeed worked. Emboldened by my success, I replaced the NAND flash using the same mechanism and was rewarded by a second working prototype, without the Bit 2 error of the first! Below is a picture of the solder paste slopped on the board.
You can see from this picture, that the paste does not have to be perfectly neat, but I did run a scalpel along the lines of the pads. This demonstrated to me that a BGA repair is definitely possible with hand tools.
I inspected the board with a USB microscope to look at how the balls were affixed. Below are some key images.
As it turns out, my fear was unrealised once I’d understood that solder paste is essential to the mounting process. To reliably solder BGAs:
- Make sure the board is clean and dry and oil from your fingers is removed with alcohol
- Dab paste across the general BGA board area and score with a knife to separate the rows and columns
- Mount the device centrally over the pads
- Bake in an IR oven or heat with hot air until it ‘settles’
- Wash the board with flux cleaner to remove the flux and any stray solder spatter.
The larger pitch of BGAs makes these devices more reliable and surprisingly easy to work with. So be brave and give it a go. I was highly sceptical that this would work for me, but desperation to use the more sophisticated FPGAs and Atmel devices pushed me to try and work out a process. I’m now confident enough to spend $100 on a 256-pin BGA from Altera and build my own FPGA board. Look out for this story in a future post.