Innovating in Quality Control

Here at SparkFun, we have long prided ourselves on implementing uncommon solutions to common problems. Our hotplate reflow skillet method is one (in)famous example. Another is our pogo bed test jigs that we use to test every one of our designs.

alt text

An array of pogo test jigs.

Which brings us to today’s post - how does SparkFun work to ensure quality control on our unique designs? Well - in this tutorial from QC Guru Pete Lewis, you’ll learn how SparkFun is constantly trying to innovate to keep the performance of our designs at peak levels. Check it out! What else could we be doing differently? What do you think is a great idea? Let us know in the comments section below!

Comments 18 comments

  • I know I’m late, but I didn’t see anything on equipment calibration. Keeping equipment like digital volt meter (DVM), oscilloscope, function generators, etc. calibrated is important. Adjustable power supplies are typically “no calibration required” since you can adjust them using a calibrated DVM (never trust the power supply meter).

    Another trick for bed-of-nails I’ve used is with compressed air rather than a vacuum. If the board has mounting holes you could use them as a guide for your fixture. Place guide pins on the fixture and have the compressed air raise or lower a plate that will hold the board against the pogos.

  • “This slight difference effects the way the solder flows.”

    I think you mean “Affects”. Your english checker needs some tweaking. Proofreading is qc for words.

    • Thanks tz. Fixed! We do our best to have a few people proofread our articles before we post, but occasionally some grammar or spelling mistakes slip through. I haven’t heard of a good checker to catch these sorts of errors. Do you know of one?

      I suppose I’m part of the generation that greatly relies on checker tools, but I am doing my best to remember the rules as I write. A couple articles from The Oatmeal have helped me improve.

      I will shoot an email to our IT guys and see what they think. If I was going to design a tool, I might have something that finds all the commonly misspelled words in the entire article and then requires a human approval for each one. This would really just be a double check, but I think it could help. Thanks again!

      • I wish I knew of one. The best I can think of is something to highlight correctly spelled but often wrong words. Loose for lose is probably the worst offender. I should note I’m probably exceptionally good at proofreading. And finding errors in code and designs just on paper.

        It would probably take something like google translate with a large contextual knowledge. Affect v.s. effect is particularly hard since the meaning is similar but the grammar and part of speech is different.

        The other problem is engineering terms and usage will create a lot of false positives.

  • A PCB was being calibrated on a pogo-pin vacuum tester, but was not repeatable and passed PCBs failed in system. It turned out unequal forces on the (large) board could generate piezoelectric currents in a high-impedance node, sufficient to swamp the cal. This could show up today testing designs using modern accelerometers or cap sensors. (The solution at the time was foam pads under the unsupported areas).

    • Hey Geoff, That’s amazing that slight flexing of the PCB could cause and error like that! What amount of current was being created? How did you eventually pinpoint the problem and were you able to measure it?

      I suppose the majority of our products do not deal with high-impedance nodes, so it would be unlikely for us come across a situation like that. It’s still a good idea to keep the possibility in mind though. Strange things happen on the production floor! It sounds like some sort of foam below the board under test is necessary with the vacuum approach. When we prototype this method, we will definitely include it.

  • I would suggest that a time-proven technique for holding boards (especially larger ones – say more than a couple inches across) against pogo-pins (aka “bed-of-nails”) is a vacuum system. It does include a few engineering challenges, but hey, that puts the “fun” in SparkFun!

    Briefly, you’ll need to provide an air seal between the board being tested – some thin foam is good for this – and enclose the volume between it at lower boards (though be sure to be able to disassemble it for access). You’ll also need to provide a mild vacuum (when starting out, a shop vac could suffice), and a quick way to “turn the vacuum off and on” – think a valve (or valves) that can switch between the vacuum source and open air.

    The real advantage of vacuum is that it can provide an even pressure over anything from a tiny board less than an inch across to a board is better measured in feet than inches across.

    Also, using receptacles instead of soldering pogo-pins directly into your test fixtures can greatly ease replacing worn out pogo-pins. see, for instance the following from the Allied Electronics catalog: (Be sure to look at the datasheet!)

    • Thanks for the suggestions! We’re going to have to give this a shot using our vaccum pump.

      The next thing to research is a valve that can control airflow. Do you know if a liquid solenoid valve like ours would work for air?

      Also, I’m thinking the air chamber below the “middle layer” may be difficult to design and seal. Do you know of any websites or images that might show a similar apparatus?

      Last summer a few of us from SparkFun got to check out the IPC expo in San Diego. It was really inspiring to see all the super sophisticated test jigs. I remember seeing some impressive “waffle tops” using hinges and hydraulics, but I don’t remember seeing any test jigs that used vacuum. Is this a pretty common thing?

      • The vacuum needs to be fairly “mild” – you don’t want to be distorting things, just pushing down – but having it be able to deal with a high volume helps both with the speed at which it pulls down the unit under test (UUT) as well as any leakage in the system. I’d be a lot more inclined to use something like a shop-vac, though you also need to provide an adjustable valve to atmosphere to allow a “throttling” on the vacuum. As for valves, I’d be more inclined to get a couple of solenoid-actuated butterfly valves and control them with a “not” on between them – one is open whenever the other closed – one connects the vacuum pump to the chamber, and the other connects the chamber to open air (to dissipate the vacuum).

        I was thinking about it after writing my original message above, and the thought came to me that if you put a larger “top layer” and standardize that size across the test jigs, you could use one vacuum setup for many different test jigs. There would be some issues about getting the buttons and LEDs outside the chamber, but that’s basically a wiring issue. As for the chamber itself, you can think of four flat panels (plastic?) that are thick enough to not distort significantly under the pressure differential that are held together with screws. One of them has a hole and adapter for the hose to the vacuum system (could put the “relief” valve on the opposite side, but that’s a nuance). If your vacuum pump has enough volume capacity, you don’t have to worry a lot about the seal – some weatherstripping can do the trick.

        As for examples, I don’t have any off hand. I’m a semi-retired engineer who designed general-purpose testers as a career, and know that some of mine were occasionally used with vacuum jigs to hold the UUTs. If you chat with some of the larger Contract Manufacturing houses, they likely have some examples. (If you need CM contacts, talk to your Arrow, Earle, or other distributor reps. I know that Arrow has a big one out in the greater Los Angeles area, and I’ve heard from people who have visited them that they have testers that include vacuum rigs.)

        • Well, I’m feeling the irresistible compulsion to build one of these vacuum beds. I think that our vacuum pump would do the trick for small panels. I totally dig this concept of having a vacuum box designed for swappable beds, I think that is exactly what this ATE-001-Vacuum Fixture is, but the website is kinda vague.

          • I’m not sure they’re going for a “swappable” fixture, based on the pictures, and based on all those wires running from the board below up to what apparently is the contactor board. But it does seem to be similar in construction to what I have in mind. Given the size of the SF boards, it might be more practical to have the whole swappable part be attached to the underside of the “flip up” portion of the vacuum fixture, with wires (via a standardized scheme of connectors) for the “control lines” being the only flex wires like that harness they show. They also have some interesting variants on the “push down the waffle board” on their site.

            I assume that you’re doing pick-and-place and reflow on the still panelized boards. (This is customary at most CMs I’ve seen.) If you’re doing many-up testers anyway, I’d advocate testing panel-at-a-time rather than separating before the test as you go to higher volumes. Down side to this is that you’re going to need to have a way of testing separated boards, too, to account for reworked and repaired boards. (One approach might be a “filler” that blocks off all but one position of what would be occupied by the full panel – say a piece of particle board with a cutout for the “live” position. Another approach would be to have a toggle or pneumatic “outer jig” for the single board, with the vacuum (outer) jig being used for full panels, with the unused positions ignored.)

    • Correct me if I’m wrong, but wouldn’t this possibly introduce heat issues? Things that can take time to program (think bitbanging at low speed) would heat up to unnecessary temperatures in a vacuum, wouldn’t they? Plus, I think the time it would take to develop a vacuum system, and test it would be far more time/resource intensive than shaving a few mils off of a PCB, not to mention the vacuum sealing, opening, and resealing. Seems a little wasteful to me.

      • OK, I’ll correct you. No, as we’re only talking a fairly mild vacuum. You can easily get more of a vacuum by traveling to somewhere a few thousand feet higher altitude. (If we were talking about a hard vacuum, I’d agree.) And as long as the pump can deal with a large volume, you can tolerate a fairly leaky system. My approach would be to start with a shop-vac that runs continuously and have three valves on the system: one that is NOT solenoid control and adjusts the amount of air being allowed in (to limit the vacuum), one that opens or closes to apply vacuum to the chamber, and one that closes when the previous valve opens and vice-versa and allows air into the chamber to dissipate the vacuum. (These last two need to be fairly large – think diameter of the hoses on the aforementioned shop-vac.)

  • Not sure if you do this, but equally important is the regular testing and validation of your test equipment. We make low risk medical products, all test jigs etc are serialized, and a log made of their testing regime. At least, a test fixture must be tested yearly, unless it is classified as “obvious to user when not working”, such as a mouse or keyboard. This regular testing, as well as your production batch logs, would then provide traceability, if you discovered during regular testing of a jig, that it was out of tolerance, or had a fault that meant that a faulty board could pass. The length of time between validation or a test fixture, must be less than expected failures, or for parts to go out of tolerance. All fixtures get a tag indication when they were last tested, and date of next testing, and any user should check them before use.

    • Hi Andy, This is a really smart idea. I believe we are getting to the size now that a system like you are suggesting will soon be necessary. Luckily, most of our test equipment would fall under the category of “obvious to user when not working”. I’m not sure about some of the really old test equipment, but with our more recent designs, we always include some sort of indication (an LED or status message) that the jig is alive and working properly. But self-tests only go so far, and I agree that a regular schedule of re-testing would be a smart thing for us to do.

      We currently have over 400 pieces of test equipment, and I imagine it would take at least 15 minutes to test each one. So we’re looking at about 100 hours of work to test them all. I think we could justify doing this every 6-12 months. How often do you guys re-test your equipment?

      Last March we implemented a system to track any testing problems on the production floor, and this has helped us to see reoccurring failures and/or problematic test equipment. When a technician has a problem during a build, we usually hear about it quickly. If the problematic equipment is old enough (6 months or more), then this usually leads to redesigning the equipment to include all of our recent innovations. This is the trouble with coming up with new ideas: eventually, you have to go back and update the old designs too :)

      • I’ll chime in here, too: A simple way to “test the tester” is to have a “known good” (sometimes referred to as a “golden”) unit (better to have a few, as sometimes they do die) and verify that it (they) still pass. Also, keep an assortment of “known bad” units and make sure they still fail. Some folks will run a few “known” examples (good and bad) at the start of each “batch”.

        I should also mention that if you were doing “high-reliability” stuff (e.g., medical or flight-certified) you’d have to have much more rigorous (pronounce “expensive”) verifications, but for the “hobbyist” market, verifying a few “known” examples is fine.

  • A toggle clamp is a handy tool for these sorts of fixtures; here are some examples from McMaster-Carr:

    • Thanks for the tip! Those clamps look like some smart pieces of hardware. We’re gonna have to order a few and try ‘em out.

This Week

This Month


Happy Arduino Day!