We’ve been brewing an electronic project for some time now. Ever since we entered the SMD prototyping phase, there has been many questions about making an effective test/programming setup as the size of our prototypes was getting smaller and smaller. There wasn’t much real estate left to place test LEDs or things like extra screw holes.
We had heard about bed of nails but it seemed like a fancy industrial setup only accessible to large factories. After much experimentation, we decided that it was time to update our process and get into easily reproducible precision.
Note: You’ll find our design files for the pogo pin setup at the end of this post, anyone can use it and make his/her own precision pogo jigs.
pogo pins with spear heads. The notch in the middle of the shaft is typical of that sort of pins. Photo courtesy of Tindie
Pogo pins have been around for a while, they are neat , small needles with a spring. Pogo pins are great resources, just with one drawback: they are relatively fragile.
Pogo pin bent while trying too hard (by hand) to insert them in a jig
If you aren’t already familiar with them, check out these blog entries. Most of the tutorials about pogo pins show more or less the same basic structure: 1 PCB board (pogo bed) is attached with sets of pogo pins, then a board (the one to be tested/programmed) placed on top of the pogo pins. 2 boards are joined by screws and counterscrews. Sometimes a toggle clamp is used.
This is a pogo jig of an arduino and a arduino shield (image courtesy of Adafruit)
Oftentimes, the layout of pogo pins has to be regular, following a grid or straight lines on the PCB. We’d like to benefit from the size of pogo pins to free up design, and allow different arrangements for pogo pins.
In addition, alignment between pins and PCBs is done either by hand or by screwing the boards together. Not very fast or repeatable :(
No matter how good these tutorials are (and they are), there is an intense manual process of soldering pogo pins at right angle and they often don’t quite precisely align to all the contacts.
For all these reasons we decided to look for a safer method.
After much experimentation, we decided to use an inexpensive 3D printer¹ to design our precision pogo jig.
This mini architecture functions like a sandwich with the 3D printed structure in the middle with pogo pins inserted.
The 3D print serves 4 tasks:
An exploded view of the precision pogo jig. The space on the left is for a toggle clamp that is not represented in this image
The assembly is really 3 steps. The steps are :
Drop in a test board and clamp the test board. The test board is ready to be connected. It looks like this in the real world :
Pogo Jig in action! Note that the wire is our customized setup that isn’t required.
The pogo pins we used for our board were as close as 0.091" (2.3 mm). Our printer could go to a minimum distance of 0.055" (1.4mm). The limiting factor here is the printer nozzle. We kept the standard 0.4mm nozzle but with a better printer or simply one that can change its nozzle, you might get even better results.
You don’t have to worry anymore about the placement of the pins, they don’t need to be spread evenly across the plane or aligned. The support afforded by the 3D printed holder doesn’t constrain the placement of your test pads on your board.
The pogo pins can be inserted by hand through the print. We left a small space (a tolerance) in each hole so that it fits snug.
Close-up of the pogo pins on the jig. The black marks were there to help us see the pogo holes :)
We wanted the pogo pins to stay in their position and remain flushed to the soldering point on the test board. But how should we align them together?
Simply push a pin until you see the golden part emerge from the holder. We included tolerances so this operation doesn’t have to be precise. In fact, if you look at the picture above, you’ll see that one of our pins is not aligned well. That’s ok, with a 1mm travel for each pin, they will still all touch their target.
When a pogo pin is in position, its head is exposed beyond the 3D printed support. It’s held just right so that each pogo can’t fall out or tilt when the jig is moved. This adequate tightness is essential since in order to solder the pogo pins, we needed to flip the jig around.
The pogo bed is a PCB that‘s soldered with all the pogo pins. In order to get the holder and the bed tightly together, we created anchor points on the holder and holes in the PCB (see red arrow in the image below). This way the two fit really well even before any soldering takes place. The tolerance for the hole-anchor gap is 0.004" (0.1mm).
On the pogo bed, there are vias (plated holes, indicated by the purple arrow) made to fit the pogo pins. On the image below, only some of the vias have pogo pins, and you can see (orange arrow on the image) these are located flushed to the surface, they are designed to leave a small gap for soldering.
There is no heat issues with the printed holder during soldering, since the point of solder is far away from where the print is and the pogo pins themselves are upside down avoiding most of the heat conduction.
Blue pins (pointed by red arrows) are the anchor points to lock the 3D printed pogo holder. Yellow vias are for pogo pins, here are some already inserted (orange arrow) and waiting to be soldered, some aren’t yet inserted (purple arrow).
After soldering all the pins to the pogo bed, it is virtually inseparable from the holder. The strength surprised us as we thought this would be the weakest point of the system. The strength of solder combined with locking anchors on the holder makes it a robust setup.
Mounting a toggle clamp is useful for long programming/testing sessions. You could use your hand to press and hold your board down as it is being connected (we tried, that was fun) but it’s only going to be good for testing boards quickly.
We added a medium toggle clamp that presses 0.039" (1mm) down from the middle of the test board. With that, we can communicate and upload programs for hours. You can even shake the board if you have a motion sensor, it won’t go away!
toggle action on the jig. The total board motion is only 1 mm
This travel motion of 0.039" (1mm) is essential to avoid issues with boards placed at an angle. Longer travel would open the possibility for misalignment of the pins with their corresponding pads.
A shorter travel is also possible (0.5mm) but it would make alignment of the pogo pins more difficult and board placement fiddly. We stayed conservative here but we’d love to hear from others’ experiments.
Before powering up our board, we clamped it as above and um-clamped it to examine the test pads: we found small punches on each pogo pads, with most of them right in the middle!
test pads with scratch traces from pogo pins. Most are quite bang on
The test pads we used have a diameter between 0.031" (0.8mm) and 0.055"(1.4mm). If you are concerned that the scratches from the pogo pins on the test pads may cause reliability issues with repeated use, pogo pins with flat or rounded heads are available.
When we powered up the jig and tested the board, it all worked. Including the tiny pads. Success! Right after the first working jig, we printed more so everyone around the studio can have their own within a few hours.
The 3D model on the left, and the physical pogo jig on the right.
We were quite happy to see how it turned out. As you can tell from the picture above, there wasn’t too much difference between the planned setup and the one made. You can use any 3D modeling software to design your jig (We used Rhino). The system is quite resilient and 3D printed holder protects the pins even when the jig is dropped.
Ultimately, we replaced manual work by design work. That way we can make many jigs quickly, modify and share easily modules that are generic enough that anyone would be able to use them for their own jigs.
So here it is,
Precision pogo pin jig module
A module to get your pogo pins going. It includes:
The picture shown above has all the tolerance work done. Sometimes the printer smears the pogo pin entry point, so we included a rim to be used at the beginning and the end of the pogo support. Other times, your pogo bed board has its own thickness. If so, the placement of the via can be moved/scaled accordingly. Complete instructions are included in the summary section of the download page, so you can make changes according to your needs.
We feel that methods brought by 3D modeling/printing are opening up Electronic design and engineering to interesting solutions. We can truly work cross-discipline: It’s an exciting time to make things.
Some of the constraints of the PCB world (grid, 2D, screws…) are disappearing: That’s quite liberating. More freedom in our design is achieved by associating support functions and electronic functions while keeping them separate.
This also means that we can use less, cheaper, recyclable material and fulfill the same tasks. All of this in just a few hours.
We hope that others will enrich what we’ve shared. We’d like to hear back from you if you make your own. Enjoy!
Notes
1: The 3D print for this jig was made with an FDM 3D printer with standard 0.4 mm nozzle. Our jig was printed with PLA (filament size: 1.75 mm) with nozzle temperature at 210C and bed temperature at 41C. The design was printed with a 0.2 layer height. At this point in time, almost any 3D printer on the market should be able to produce such print. We tested with a Da Vinci Pro.