I've ordered fabrication and assembly of small PCB batches (~100) a couple of times already. Each time, the assembly factory asked me if I wanted to do testing on the boards. Since I'm not a professional, I didn't know what to do about it, so I tested the boards myself when I got them back... finding unacceptable percentages (>10~20%) of soldering problems. Although my boards were fairy complex (+100 components), I hadn't designed any testing procedures on them or even know how to do it. So I'm wondering, what are the usual test capabilities for a low volume production like this, and what kinds of test can be asked to the factory without going overboard? Is that usually costly? I'm talking about testing the assembled board, not the bare PCB. Thanks in advance.
I am working for such a company but am mainly situated in the development, so I have some insight but there are probably people out there who know much more:
When it comes to testing, we follow various approaches. Basically we start with AOI (Automated Optical Inspection). This is rather cheap and reveals many errors before any further steps are done which require the board to be powered.
The next step is checking electrical connections. We do this in a few different ways, it usually depends on the amount of test points available and if the board was designed for testing (yes, usually no one cares for that in advance). The methods we use most are:
- Flying Probe (basically an automated way of contacting pins and checking if the resistance meets expected values). This also comes relatively cheap since the programs can be created from netlists which have to be specified by the customer.
- Boundary Scan: The Flying Probe can mainly contact test points or larger points such as resistors, ... if there is no available point to touch it on the PCB, the Flying Probe is of no use. To test Inter-IC connections we mainly rely on Boundary Scan Tests if the Controller supports these. But they have their limits as well. Also, programs can be "written" automatically but need to be adapted.
- In-Circuit-Tests: This is probably the most extensive test method we use (and also the most expensive). Basically we build an adapter which will host the DUT and contacts the various testpoints. Using integrated Boundary Scan techniques and stimulating digital and analog signals nearly every mode of testing is possible. E.g. it is also possible to boot the board to some bootloader and execute tests available in the bootloader, test Ethernet connections, test USB connections, ... No need to say that this comes at a cost.
I am sure there are even more possibilites of testing available but these cover the requirements we get from our customers quite well. Still, 100% testing is not possible.
There are a few things to consider ...
Cost Of Testing
- Initial cost of test fixtures.
- Possible PCB changes to make this easier.
- Cost of test (Usually the cost of the person doing the test is the largest factor)
All these are affected by what the tests are. In this case you have production faults after assembly then functional tests would be needed.
The choice is Manual testing, Fully automated or a mixture of both.
Manual testing is more expensive in time but cheap in initial costs normally (Meters and a bag of wires)
Fully automated is expensive on initial costs but usually cheap in production (Test fixtures connecting to automated test equipment + writing the test programs).
In exstrem cases Manual test time could be 8 hours, Automated test time could be 10 minutes
For the production of 100's per year a simple manual fixture can save a huge amount of time. The sort of thing I thinking is where you have 30 wires to connect by hand. Replace that with a plug in connector and you will get quicker test time and the screwdriver hand doesn't get worn out. This can make testing unpleasant for the person testing. (100 x 30 wires x 2 seconds per wire = 100 minutes)
If your testing digital then connecting to a buffer chip with LED's in the test equipment makes visual comparisons easy.
For Analogue signals (Any Voltage , current or waveform) I check at 2 input values unless there is a reason for 3 or more values.
How far you go in to detail testing depends on what's critical. An output needs to be +/- 0.001V then test it with a meter. If it is +/- 0.1V and your high volume you might use comparators.
Often I test broadly and coarsely and refine tests when they are critical and when failures are not caught. Of course if the circuit is critical in some manor you spend more time ensuring it functions as required.
Also remember some connectors wear out quickly. Look for 10,000 cycle connectors for test equipment and not the 500 or 1000 cycle connectors used on the product if they are compatible. If you can only use low cycle connectors then add then to the cost of test.