The ProtoProg is a small open source hardware pogo pin programming solution. The ProtoProg does not need a physical connector on the board, it uses surface-mount pads for signals and thru-holes for alignment. Two standard footprints are available, the smallest of which takes up very little space–only 7.6mm x 1.2mm!
The ProtoProg was originally designed for use with AVR microcontroller programming (using 6 pins), but this design can easily be repurposed for other programmers. Several footprints are available for this programming connector as shown on the test PCB above, but only two are recommended for real-world use:
- J1 (ProtoProg Standard) – Small pads with alignment holes (8 pins required)
- J4 (ProtoProg Micro) – Small pads with alignment vias (6 pins required)
Choose the micro footprint for small size
J4 does not include any dedicated alignment holes and instead uses two of the signal lines with vias for pin alignment. The pogo pins do not go through the vias, they rest on top of the vias and “snap” into place for alignment. This footprint is very compact.
Choose the standard footprint for easier alignment
The standard footprint includes dedicated alignment holes, and requires 8 pins to be populated on the ProtoProg programming adapter. This connector takes up more lateral room, but allows for easier insertion and likely more reliable long-term use.
Assembling the ProtoProg
To begin, make sure you have these components:
- 6 or 8 pogo pins (depending on which footprint you want to use) [ebay]
- 2 ProtoProg PCBs (one is used for alignment) [gerbers provided below]
- Vise (recommended)
- Soldering iron and solder
First, take one of the ProtoProg adapter PCBs and solder a 6×2 pin header on the top side.
If you are using an AVR programmer, I recommend soldering the VCC solderjumper on the top of the PCB. This allows your programmer to detect target voltage and power the target (if your programmer supports this feature). You can also solder on an optional LED and current limiting resistor, which is placed on the AVR ISP VCC pin.
Next, take your ProtoProg board with the 6×2 pin header and a blank ProtoProg board and place them in your vise (see photo above). Carefully insert pogo pins into each hole before you completely tighten the vise. This will align the pins before you solder them.
Next, align the pins so that the two outside pins stick out about 3mm past the other pins. These pins will make contact with the alignment holes on the footprint before the rest of the signal pins.
Finally, solder each pin to the PCB. Make sure each pin makes a good solder joint with the pads, as these joints form both an electrical and mechanical connection.
Finally, attach your programming adapter to your programmer. If your programmer is configured to power your target board, the ProtoProg LED will illuminate. If the target is self-powered, the LED will illuminate when you plug the ProtoProg into your target board.
When programming, carefully press the ProtoProg adapter on your footprint. If you are using the micro connector, make sure the two outer pins “snap” into the alignment vias before fully pressing down the connector.
If you are using the standard connector, make sure the two outer alignment pins go into the outer alignment holes before completely pressing down the connector.
Note: This project was recently renamed, but the PCBs and photos above still bear the old name.
- Protofusion Eagle Library (footprints for your own PCBs)
- ProtoProgAdapter v1.0 (ready-to-fab gerbers for OSH Park)
- ProtoProg Adapter v1.0 (Eagle design files)
If you have any questions or suggestions, leave a comment below or send a message through our contact page.