One of the interesting things about making something from the ground-up is that sometimes the tools you need to perform a task don’t actually exist and also need to be created.
This is fairly obvious in terms of tooling for PCBs, injection moulding, etc. But less obvious is the tooling you need for things such as programming firmware onto your devices in production.
There’s a concept referred to as “zero-cost connector” that we adopted for our firmware programming and debugging jig. A zero-cost connector is basically a PCB footprint that mates with an external connector with the idea being that it’s worth spending time, money and effort on the programmer connector (of which there are likely very few) instead of spending the considerable amount of time, money and effort in putting thousands of connectors on your devices.
Inspired by Sparkfun, we chose to build a programming jig that uses pogo-pins (spring-loaded contacts that really do function like miniature pogo sticks) that mate with plated holes on our PCBs. Because the pogo-pins are aligned with these holes, and because they’re “springy”, they create a solid electrical connection when the Wimoto is gently pushed down on top. We affectionately named our programmer the Super-Duper Programmer™.
Some pictures are below with the top guide PCB removed (it’s just for assisting to centre the Wimoto over the pogo-pins sticking up from the bottom of the programmer).