Testing PCBA in production - how much should you test? - Page 1
Forum section: electronics / general

author: Saimoun
author_rank: Frequent Contributor
timestamp: November 15, 2022, 02:00:59 pm
content: Hey thereI'm about to start production of a device I made (first batch of 1500). The final PCB has a test connector, and my plan is to design a testing board which the assembly house can use to test each device quickly in production.Because the test connector has limited amount of pins, there are a few things that I will not test, for example the USB data lines and a few buttons. Would you say this is risky? Should I test every single port?Just FYI the ones I do not test are one simple PCB trace connected straight from MCU to port/button. So the only cases of failure would be wrong PCB, or bad MCU soldering (I'm assuming failure to solder a TH connector or TH button is near to impossible... ?)Thank you all - this forum is by far the biggest reason I could even make this device

author: wraper
author_rank: Unknown
timestamp: November 15, 2022, 02:32:59 pm
content: Quote from: simonlasnier on November 15, 2022, 02:00:59 pmQuite common. For example when inserting USB connector one of the pins misses the hole and gets bent. TH switch may be inserted leaning sideways. In fact issues with SMT parts are way less common if process is tuned properly.I can tell you my experience with repairing hundreds of returned Raspberry pi which apparently were tested only in a test jig without checking connectors. Plenty of USB A connectors not sitting flat, bent pin which missed a hole, pin without solder (USB, header), micro USB (PWR in) with TH mounting pins misaligned with holes and leaning sideways, thus SMT pins not touching the pads.Here is a is a video from Gigabyte manufacturing where workers touch up TH soldering at 7:30. A lot of Raspberry pi which I mentioned also have some pins hand soldered, which is apparent from flux residues and appearance of solder joints. And this comes from a Sony factory in UK, not some random Chinese fab.

author: Saimoun
author_rank: Frequent Contributor
timestamp: November 15, 2022, 03:56:04 pm
content: Wow, ok, scary stuff!So you would suggest dropping the test connector and simply connecting to the actually external connectors? That would increase the test time by quite a lot but if it pays off in amount of returns then I guess it's worth it?

author: wraper
author_rank: Unknown
timestamp: November 15, 2022, 04:21:38 pm
content: Unless the circuit is really simple where almost any problem will become immediately apparent in functionality, you should do both. Some testing can be done internally by firmware. For example you can generate/read some voltages by MCU. Can use some otherwise unused pins for that. Testing connectors may be done after final assembly of device. You can do testing only in a jig too, it's just about how much DOA is acceptable to you and how you will deal with that, how mature/stable is assembly process. If dealing with DOA is prohibitively difficult, expensive or ruins your reputation, you sure should do extensive testing.

author: wraper
author_rank: Unknown
timestamp: November 15, 2022, 04:35:39 pm
content: Forgot to mention, if you use wave soldering for TH, be sure to design PCB properly for that, using appropriate pad size and thieving pads in proper direction. PCB fab most likely will manufacture them anyway, but it will greatly impact the defect rate.

author: Saimoun
author_rank: Frequent Contributor
timestamp: November 15, 2022, 04:53:05 pm
content: Thanks wraper. I am not sure what DOA means? Is that returns?I guess a good middle ground would using a combination then:* the test jig, connecting to both a test connector and the USB plug* then manually pressing a few buttons, looking at the display and LEDs to check they workThat should be still quite fast and only require to plug two things per board.The only thing that will not be tested is a few of the big TH connectors - I drew a trace from the connector's pin to the test connector to check the whole thing but it will not verify the connector's actual pin is soldered to the PCB.

author: Saimoun
author_rank: Frequent Contributor
timestamp: November 15, 2022, 04:56:11 pm
content: Quote from: wraper on November 15, 2022, 04:35:39 pmBut that is only for SMD (as in thieving for the SMD pads), isn't it?The board has SMD on one side and TH on both sides. Speaking to the manufacturer it seems they will try to wave solder the TH on both sides - which means at some point one side of the board with a bunch of SMD and TH will be swimming in the solder wave... I find it hard to see how that can happen?

author: wraper
author_rank: Unknown
timestamp: November 15, 2022, 05:11:13 pm
content: Quote from: simonlasnier on November 15, 2022, 04:56:11 pmNope, if you have closely located TH pads they prevent from solder bridging too. Selective soldering should be fine without them, but for usual wave soldering PCB should be optimized to avoid troubles.

author: wraper
author_rank: Unknown
timestamp: November 15, 2022, 05:14:37 pm
content: Quote from: simonlasnier on November 15, 2022, 04:53:05 pmDead on arrival. Found defective when received by customer.

author: Saimoun
author_rank: Frequent Contributor
timestamp: November 15, 2022, 05:20:36 pm
content: Ha ha ok I seeAwesome to know about the thieving, I will make sure to keep an eye on that, thank you.Regarding the test of the connectors, I can also add as part of the testing process: "look at these 4 big connectors to see if they are soldered properly", right? I mean from what you mentioned it seems it would be pretty obvious if something bad happened like a bent pin or no solder around the pin?

author: wraper
author_rank: Unknown
timestamp: November 15, 2022, 05:35:39 pm
content: Quote from: simonlasnier on November 15, 2022, 05:20:36 pmNot really. I've seen hair thin solder strands between the pins on like 5% of PCBs from a batch of PCBs assembled in China. Really hard to catch even under microscope. Not to say on a brief glance human eye often does not catch even obvious problems. I suggest at least testing in device firmware if nearby pins are not shorted. For example enable pull-up/down on odd pins. Set even pins low/high. Read odd pins. do again in opposite order. Reading back pins configured as output is also possibility on many MCU, so you can see if pin actually sets to correct output state and is not shorted to something.

author: Saimoun
author_rank: Frequent Contributor
timestamp: November 16, 2022, 12:59:15 pm
content: That's an awesome idea wraper and can easily be done by the automatic testI'll definitely add thoseCheersSimon

author: Saimoun
author_rank: Frequent Contributor
timestamp: March 05, 2023, 02:33:59 pm
content: Hey there - just wanted to update this in case someone goes through itI ended up having quite a strong automatic test IMO - the biggest takeaway is the fact the test board is also programming the device over SWD, which not only is great for production (very fast) but also gives amazing possibilities for the automatic test (huge thanks to Alex Taradov for his help and code - see here:https://www.eevblog.com/forum/microcontrollers/flash-an-mcu-from-another-mcu-(over-swd)/)For example on one of my tests I simulate a user action using one of the pins and then read the variables in RAM on the device directly using SWD.Another advantage is before I upload the device's firmware, I upload a "self-test" firmware, based on wraper's idea: basically a short firmware that will test all sorts of things directly from the device's MCU (pin shorts, communication interfaces, etc.), and then write a report in the RAM which the test board can read over SWD. Then the test board erases the Flash and uploads the correct firmware.And - just to be sure - I made the board able to do 2 types of tests:"normal" tests - using the 10 pins of the test connector only (very quick to connect but will not test the actual device's connectors)"extended" tests - using the actual device's connectorsThe plan is to perform both types of tests on the first 50 units (out of 2000) to be able to see if the normal tests are good enough.

author: Kean
author_rank: Unknown
timestamp: March 08, 2023, 07:10:10 pm
content: Sounds similar to what I've implemented a number of times. I usually have a UART interface of some sort available on header or test pad, so I haven't had to resort to the reading of RAM via SWD/JTAG but that is something I'll keep in mind.