Reballing tiny 1.5x1.0mm BGA with 6x0.4mm pitch pins

Search for a command to run...

No comments yet. Be the first to comment.
Ever wondered how update-ca-certificates on Debian/Ubuntu, and update-ca-trust on Fedora/RHEL-based Linux systems works? If you take the time to read through the respective man pages, you will find that they already do a quite decent job at explainin...
For all the PCB designers out there that use AISLER's fabrication service... Today (as of 08.06.2023) I sat down to specify a set of Design Rules for Altium Designer for the AISLER Simple and Complex fabrication rules. Go to the GitHub page to downl...
In general, I like the way that ST handles code generation by their device configurator, CubeMX. The generated files contain sections that are entirely controlled by the framework, interspersed with blocks intended for user code that is preserved in ...
TLDR; I'm lazy and want to start all open Python scripts by hitting F5 and expect absolute and relative imports to work fine, no matter where the script resides within the folder structure. Skip to the end to access a ready-made launch.json configura...
This is a classic situation that "should never happen in the first place," but here we are. In my Master thesis project, we were given the specification that a stretchable PCB shall be fitted with a Texas Instruments TMP117 ball grid array (BGA). Since this was my first serious PCB design job, I had no clue what kind of problems this would get us into, so I had no objections to complying with the request and going ahead with the design as requested.
Here's what makes this a worst-case scenario in terms of handling and solderability:
In the picture, you see the stretch PCB with its pads for the TMP117 temperature sensor:

After days of tinkering, we found a solution to reball the BGA with low-temperature solder balls that melt at 137°C instead of the standard 217°C.
Prerequisites
Overview of the whole procedure
Starting out, here's the original device:


First, we apply flux to the device's bottom:

Using the soldering iron and repeated application of flux, gradually remove the solder balls by briefly touching them with the soldering iron (which will bind some of the solder) and then cleaning the soldering iron tip.

This step is crucial so that the new low-temperature solder balls have it easier to melt to the pads in the next step of the process.
Apply low-temperature solder paste to the bottom of the BGA:

Using the soldering iron, wiggle a bit around on the pad, thus replacing the remaining high-temperature solder with low-temperature solder. Most of the solder paste will just adhere to the iron tip; that's fine.

Using again repeated application of flux and brushing the pads with the soldering iron, you should be able to clean off most of the low-temperature solder. The reason is that you don't want it to bulge upwards on the pads or the solder balls tend to resist placement in the center of the pads.

Now, in a final substep, clean the device using alcohol until no flux residue remains.
(The one in the picture turned out to be a bit problematic because the low-temperature solder remains on the pad were a bit too much. Especially for the pad to the bottom right.)

Now, place the device on a piece of sheet metal. In this example, we're using 2 mm Aluminum.
You can see the placed solder balls on the BGA here:

Now, carefully place the sheet metal on the heat plate and heat it to just below the melting point of the solder (130°C). The heat will activate the flux and make it much less viscous. You might see the solder balls move a little bit on their pads. If any of them swim to their neighbor: bad luck. Clean off the BGA and repeat step 3.
Finally, increase the heat to slightly above the melting temperature of the solder (140°C). You should see all solder balls melting (getting shinier), some moving around on their pads, but not necessarily melting to their respective pads. Don't worry. Take some flux and touch any of the BGA's bottom edges with it. The flux will instantly "melt" and spread on the BGA's bottom, helping the balls to melt to their pads.
All that's left now is to take the sheet metal off the heat plate and let it cool down a bit. The BGA now might stick quite well to the sheet metal. That is fine - just begin cleaning the BGA for the last time using alcohol. It will start dissolving the sticky flux below the device, and eventually, you can gently push it off (in a sliding motion - don't try to lift it!) onto a puddle of alcohol.
Congratulation! You made it! Just for comparison - reballing the first BGA took me a whole afternoon, then a morning for two, then two hours for four. So take your time, don't rush!
Here's what the finished device looks like after cleaning:

EDIT 1:
Remember what I said about the risk of the solder balls getting sucked towards each other? Well, that happened to me the day after writing this post when I tried to process 12 devices at once. I ended up using too much flux below the components which allowed them to clump together and the flux to creep up, allowing the solder balls to clump as well.
This is what it looked like before firing up the heat plate:

And this is after I took the ones that had clumping solder balls off the heat bed. Luckily, the temperature was only 130°C, meaning that the solder balls hadn't melted. So I "only" lost half a day of work.

EDIT 2:
Turns out that the two available solder fluxes behave quite differently in terms of surface tension. The other day I tried using a different flux type than what I used when I originally wrote this post. Here are my findings.