Every day, there is something new to learn. And having problems is always a good learning opportunity :-). Yesterday we were able to find a strange problem with our tinyK20 prototypes, just before we were about to send the design for manufacturing.
Some of the prototype boards did not work properly: the external 32 kHz oscillator was not starting. Resoldering the oscillator or MCU sometimes solved the problem, but not always. Until the problem was found by [Christian B.] (thanks!) :-)).
For the tinyK20 board we are using a Kintis K20 (ARM Cortex-M4) in a QFN48 package. The picture shows the device with the bottom ground plane:
The following picture shows the placement of the package on the board:
Question: can you spot a layout problems in above image? 😉
The QFN48 package looks like this:
What is not obvious right away: On the package of the Freescale Kinetis K20 (MK20DX128VFT5) there is a connection on the outside:
Yup, looking carefully at the data sheet again, it is here:
That connection has no real purpose. I believe these pads are from the manufacturing/packaging process. I believe these are just the remainders of something holding the package with the die during manufacturing and then are cut off. The metal contacts are present twice on each side of the package, and are connected to GND (not documented, but easily to verify).
The problem is that in our design we have traces under that ‘edge pad’:
It happened that there was some solder on that trace, reaching high enough to connect to the ‘edge pad’ above to make a short cut to GND :-(.
Solder was flowing from the ‘real’ pad to the ‘outside’, and was able to get high enough in some cases to make contact with that ‘edge pad’. And because these ‘edge pads’ were nt easily visible by the naked eye, the problem was not obvious :-(.
Once the problem was identified, it was easy to check/verify the boards :-).
It is easy to miss tiny and hidden connection points on such small packages. Having traces under the ‘edge pads’ can be a problem, especially with prototype boards without solder mask. The problem is less likely to happen with a solder mask on that trace/pin, but still a potential problem. So we need to change the trace to make sure we do not run into that problem for the boards to be manufactured. And yeah, after the fact things are easy and obvious ;-). I hope that publishing this article might safe someone lots of hours to find the same problem.
Maybe you had a similar problem too? I want to hear about it :-).
Happy Cornering 🙂
PS: thanks again to Christian for his ‘Eagle Eyes’ and for sharing the problem with me.
- Freescale MK20DX128VFT5 Data sheet: http://cache.freescale.com/files/32bit/doc/data_sheet/K20P48M50SF0.pdf
- Freescale QFN48 Package Data Sheet: http://cache.freescale.com/files/shared/doc/package_info/98ARH99048A.pdf
- tiny K20 project: https://mcuoneclipse.com/tinyK20