The CPC2 daughter board described in my last post arrived quicker than expected, but dry assembling the board revealed some unforeseen problems. So this post contains another lesson learned.
Let’s start with a picture the two boards mated, click or touch for a large version:
Before I desoldered the headers on the bottom of the CPC2, I thought I’d check the alignment of the pin headers on the daughter board against the mating pads on the bottom of the CPC2. One of my spare CPC2 boards aligned perfectly, but revealed an issue that I hadn’t considered.
You may spot a slight bowing of the board in the top image. It’s a little more apparent on this side-on image (click for large image):
The pogo pins on the daughter board are sprung to ensure a good mating with the its partner. While the force provided by each spring doesn’t feel significant, adding the combined spring force from 20 pins is enough to deform the board by about a millimeter.
A millimeter might not seem like much and for most PCBs with flexible chip package legs, it isn’t – they can withstand a millimeter of flexing. However, it can be terminal for a BGA. The balls on the FPGA are only 0.5mm in diameter, so across the 22mm of the chip it’s possible that the balls at the edge of the chip will be under a significant pull force when the board is bending 1mm across it’s length.
This flexing is unlikely to be fatal for one or two matings, but for repeated mating, it will be a source of stress and likely a failure point. For a one-off production upload, this would have been fine. However, I’ve decided to stick with the pin headers for now.
For future boards using programming headers, I now know that it is important to have sufficient support posts holding the mating surfaces together. I should have added hex stand-offs at directly to either side of the pogo pins to add some rigidity to the connection. Alternatively, I could ensure that only components with flexible legs are mounted on the board around the pogo pins and work around the flexing.
Fortunately, the daughter board was only a two layer board and so fairly inexpensive. So while I won’t be using it for now, it’s another lesson learned. It was also good to prove that Kicad is both easy to use and natively works with the file upload at OshPark.
On a final note, compare the OSH Park PCBs with the KiCad render. Spooky how similar they are, right?
Previous Post <====> Next Post