Moore’s law is the observation that the number of components (particularly transistors) we are capable of placing on an IC doubles every 2 years. A typical PCB has numerous such ICs on board as well as other, discrete, components. The upshot of this is that the number of points on a single device where failure can happen is enormous, and it’s not getting any better as time passes. How, then, are we able to use our cell phones, laptops and a myriad of other electronic devices on a day to day basis, largely without issue? Thorough testing, as it turns out and little else.

That’s before we even put the components on!

So, how do we go about testing effectively? At first, we naively assumed that the factory that assembled our products would know how, and do it for us. Surely they know how it all works, they assembled the boards after all. In hindsight this was foolish. Just because you have followed the instructions on your Lego set doesn’t mean you could do it again without them.

Testing needs to be reproducible, easy, as fast as possible and most importantly of all: bullet-proof. You have to be positive that any errors you encounter are on the head of faulty products and not faulty test apparatus or procedure. Our first attempt at testing was a simple fixture made from two PCBs sandwiched together with spring-loaded “pogo-pins” that would make connections to the various pins on our board to be tested. This fixture would connect to a computer which would run some software designed to supply stimulus and check the correctness of the response.

We had the boards manufactured and sent to us. We did all the testing after production had finished (well beyond that point we could change anything) and basically crossed our fingers in the hopes that nothing had gone terribly wrong. Scary stuff.

The test fixtures were a pain to use. The pins would often be slightly bent out of alignment and they required constant pressure to be applied which, for a test that could take a minute or two, gets old fast. An even bigger problem is that these fixtures are so exposed that after a relatively short period of time, inbound noise caused irreparable damage to the USB ports on the test computer. Clearly this solution wasn’t viable.

In 2008 Chester, our CEO, went to China to see what was possible at the factory. After some discussion, the factory manager clued into what he was talking about and showed him some test fixtures they had built for other customers. They were perfect. We had them build fixtures for every Phidget we produce. We would provide a program that would install the device firmware and then test that the programming was successful. They would run each board they produce through the same test.

Every board we have made since then has been tested this way. We still have someone on hand during this process to show the factory workers how to use our software and troubleshoot problems as they arise, but the process is mostly done for us now. The tech we send to China irons out all the kinks to start, this takes about a day in our experience. Any irregularities that crop up after are handled as needed.

One of the largest issues that remains is the quality of connection between the board’s test points, and the pins that poke up at them from the fixture. The pins that connect to the bottom side of the boards only last about 3000 cycles before needing to be replaced to maintain good contact. Even at the best of times the connection isn’t ideal. There is a not insignificant amount of resistance associated with the poor connection, and the added resistance can really cause issues with certain tests that are performed, doubly so with resistance based sensors. After each board comes off the production line, a worker thoroughly washes them with a brush and alcohol to get any residual flux from soldering off the test points. This ensures the best conditions possible, but it’s never perfect.

Typically, we design our test software at Phidgets by soldering the various test points up with wiring harnesses. Recently we have taken to building test fixtures so that we can get a better idea of how these tests are going to run on the actual fixtures in China. Hopefully, this will decrease the number of problems once testing begins, or at least the unforeseen problems. Still, issues like pin degradation are never going away.