Aim

saving space which is normally occupied by ICSP pins/pads

How to solve the problem

By deploying the pogo pin technique to an exisiting HVQFN-32 footprint.

Steps

Here's what I tried (and succeeded) with version one.

Creating the HVQFN-32 + ICSP footprint

I took the included footprint (KiCAD 5)

and modified it to have extra pads for the ICSP-pins:

I also rounded the pads and made one middle pad out of the four pads. The center pad isn't strictly necessary in super low power situations (like my loggers), but is good for noise immunity (GND) and stability.

The yellow holes are guide-holes to keep the pogo pins on their respective pads.

This is what the real thing looks like on a board:

Creating the pogo pin adapter

I copied the created footprint and modified it to be able to fit the 1mm diameter pogo pins:

Some pads have copper only on one side, so the pads won't touch and create a short. This is how the adapter looks on the top side:

And this is the bottom side:

I added a LED and a jumper to turn programming voltage on/off. The R_vcc_limit resistor can be changed, so I can still feed a circuit voltage, even if it has e.g. a button cell connected. It's just so the programmer doesn't charge the cell with too much current when programming :)

The 4 holes are 2,5mm diameter so I can cut M3 threads directly into the PCB.

The result

The programming adapter looks like this:

Does it work?

Yes it does work. Centering works OK, programming fuses and sketches is no problem at all.

Improvements?

Yes:

  • making the holes for pogo pins and centering pins smaller, so they fit in tight
  • modifying the board so it is more comfortable to hold while programming
  • using smaller pogo pins in Rev.2