Building PCB programming / test jigs

I’ve written an article about 3 simple jigs I built with spring-loaded pogo pins, for rapid testing of assembled PCBs, and flashing production firmware:

the article includes my very first video :astonished: which was fun, but took so much work even just for 1 minute runtime, learning how to do simple editing, etc. I can’t see myself becoming a YouTube ‘personality’ and churning out hours of videos each month! :laughing:

Hope you like the article & video. Feedback very welcome, thanks.


Very nice. I’m working towards a test jig setup and this gives me some ideas.

How do those toggle clamps work for you? They seem a bit too heavy duty to me.

1 Like

Thanks! Yes, you could definitely get away with smaller/weaker clamps, but those were the cheapest I could find and they work fine for me. It shouldn’t really matter what you use, as long as you set the clamps limit point so they don’t fully depress the pogo pins (which could damage them and put stress on the solder joints.) I’ve also got the plastic hex spacers that give a hard limit to the travel.

Hard limit makes sense. I use those clamps for woodworking jigs so am familiar with them.

I was thinking of a cam style lid which presses the board down onto the pogos as well as a microswitch that starts the test running. So the test process is:

  1. place board in jig
  2. close lid
  3. test runs
  4. Go or NoGo LED lights
  5. lift lid and remove board

The idea here is to make it so a low skilled worker could test a batch of boards with minimal board manipulation.

1 Like

Sounds good. You might not need a microswitch if the test starts running as soon as the microcontroller boots (if self-test) or when there is activity on the serial/I2C/whatever port (if the tests run from a PC or external controller) ?

The board that I will be testing is passive (the user plugs a Teensy into it later) so I want to be sure to start the test once it is firmly seated on the pogo pins. The microswitch will be closed by the last mm or so of the lid’s travel (I will make it adjustable). There may need to be a short delay to allow settling.

@phil_from_seattle just chiming in to say that if you intend on using this for any reasonable quantity of units that the micro-switch will die sooner than you expect and at the most inopportune time. If it’s just a convenience jig for home development it’s fine though.

For production jigs I always set it up with an embedded hall effect switch for that reason.

Another simple option is to test for continuity between two pogo pins through the board (ie. put a pogo pin on 2 separate GND connections, one for actually delivering GND from the jig, the other to read the value). A nice side benefit is that you can have this ‘sense’ pogo pin slightly shorter so you get a bit of mechanical delay like you’re describing.

source: I design and setup manufacturing test equipment (mainly FCT testing) for a job and am putting together an online automated test fixture ordering system at the moment.

Thanks. The microswitches I’m looking at have contacts rated to 10^7 operations. Derating by an order of magnitude, it should be good for a million ops. Or are you talking about physical wear on the contact lever?

I expect the lifetime would be up to 5000 boards. Any more than that would mean wild success and probably a completely revamped production and test set up.

Not sure how I would use an HE sensor - make contact and have current flow? Displace a magnet?


A mechanical component of any kind will have a lot more failure modes than something solid state. Granted an industrial use micro-switch will be a lot better than any kind of user interface button, but it will still be prone to having something stick the switch in or out of place, having the lever bent so you need to re-adjust etc. If you’re just using it at home and you’re not burning money if the fixture stops for a day - it doesn’t matter, you know how it’s made, it’s not even such a huge deal to replace the switch.

A hall effect sensor is just solid state, the only moving component is the thing you’re measuring. I personally stick a magnet on the cradle of my fixtures and when it’s engaged, the magnet activates a hall-effect sensor on the pogo-pin PCB below.

I know some people that have done wacky things like routing power to the pogo pins through a mechanical switch to delay it until all pins engaged and it was fine for >1000pcs. I also know someone who used a mechanical switch in their factory test fixture and it forced them to fly to China at a moment’s notice because the fixture just stopped working one day (though that was probably a series of poor decisions rather than just the one).

If you’re handing the fixture off to a manufacturer and it takes you hours to get someone there to troubleshoot things then small reliability decisions start having big impacts.

A hall effect switch sounds neat- do you have a link to one you recommend?

The ‘common’ strategy for low cost/effort buttons that we normally use in China for low volume (<10k piece productions) are panel mount:

I’ve seen them break during shipping (mostly on the way back to us), but they’re straightfoward to replace. I usually put an SMD pushbutton in parallel with the header for them on test PCB, both for debugging and as a worst-case scenario backup.

For the volumes we do, our CMs usually populate the board first, run it through AOI, then through our test/programming jigs, so in our case a test jig failure is normally something they can work around. We did have the advantage of only being a half day travel from the factory, though, and also having a native engineer for clear communications.

This is for in-house but I get your reliability points.

@Matt I generally design an SMT part into the board that I solder onto the pogo-pins to route them to a socket and then embed the magnet in the cradle.

So I just use whatever generic digital HE sensor I’ve used most recently. Latest I used was the DRV5033AJQDBZ but there’s nothing special about it other than being hysteretic so you don’t get bouncing or flutter etc.