by Brian_K_White | 2025-10-26 19:56:38+00:00
Right, plated through holes, but with almost no exposed anular ring. As little as I can get away with without getting mask sprayed down into the hole.

For 100 mil pitch, 25 mil square pins: 36 mil holes, 6 mil off center, 12 mil hole to hole.

The short side of a generic pin header is the side that goes in the holes, so the long side is free to accept dupont sockets and shunts the same as if you had the same pins soldered in the pcb. So the cable is just ordinary programmer fly wires with female dupont ends. You don't even need to make an actual cable.

If space is tight on the pcb then it does use up more pcb than pads that leave the other side free. And pogo pins are going to be a lot faster for producing something in numbers.

I don't mind buying nice stuff like a fancy purpose made good-working tool for myself but I'm always making open source projects and one design goal is to require as little as possible, and as generic and universal as possible from the user. So I avoid fancy special things where possible. It's not designing for commercial production runs nor designing for one-off for myself, it's designing to a kind of a platonic ideal to strip away anything unnecessary and yet try to meet 2 opposing goals at the same time as much as possible: Don't require special tools that make things work reliably because of how fancy the tool is, and don't require the user to be a zen master craftsman that can attain a successful result with rocks and nails. Try to make the process reliable and repeatable while still only requiring basic materials and supplies. As much as possible anyway.

Pogo pins are pretty common these days and not exactly exotic or expensive any more so maybe I can start using them.

Then again, the through holes do 2 extra things besides make the connection.

With pads you need to aim/register the pins to land on the pads, and you need to hold them there. That means aiming with your eyes and holding with at least one hand, or it means adding some kind of extra registration and grabbing features to both the pcb and the cable, like extra drill holes or slots and extra plastic shapes on a special cable-end etc. Or no extra features on the board and instead a whole clamping jig that holds both the board and the pins.

Since these are holes that pins go in to, you don't need any other form of registration to aim the pins at the pads. The pins go in the holes.

And they hold onto the pins themselves, so you don't need any other form of retention.

It's just like plugging a plug into a socket where the socket provides all that naturally.

I have one board that needs two different connections like that, one for jtag and one for power and to temporarily close a jumper to write-enable the cpld. So a 4-pin and a 6-pin, 2 different cables in 2 different places. The entire board is slightly smaller than a DIP-28 so no room for any real connectors. You just stick the cables in and two different cables hold themselves with zero hands while you operate the flashing software. The wires are all plain dupont wires stuck on the pins, no solder, and 2 of the pins just have a generic jumper on them. It's completely basic and not-special and works perfect.

I have another board that needs 28 pins in a small space. For that one I used 2.0mm pitch pins in straight rows not staggered, but with the holes only 1.7mm apart. In that case it's the long side of the pins that goes into the holes, and the short side is soldered into a programming adapter pcb that goes into a programmer. The pins are in 2 sets of 2x7. Each set of 2x7 has 2 straight rows of 0.72mm holes 1.7mm apart. What happens there is, as the pins start to lean over, the top of the pins hit the opposite side of the hole on the top of the pcb, and don't want to go any further. The pins wedge solid and make 4 points of contact, 2 on bottom and 2 on top, and the board won't go any further even though the pins only just poke out the top and there is still almost 2mm of travel left. So you have a lot of remaining travel to just push a little more if you get a bad connection. It works great and no special parts anywhere.