{"id":1613,"date":"2013-05-09T00:12:41","date_gmt":"2013-05-09T04:12:41","guid":{"rendered":"http:\/\/protofusion.org\/wordpress\/?p=1613"},"modified":"2013-12-11T21:44:47","modified_gmt":"2013-12-12T01:44:47","slug":"open-hardware-pogo-pin-programmer","status":"publish","type":"post","link":"http:\/\/protofusion.org\/wordpress\/2013\/05\/open-hardware-pogo-pin-programmer\/","title":{"rendered":"Open Hardware Pogo-Pin Programmer"},"content":{"rendered":"<p><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-adapter.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1622\" alt=\"ProtoProg adapter and test PCB\" src=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-adapter-500x259.jpg\" width=\"500\" height=\"259\" srcset=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-adapter-500x259.jpg 500w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-adapter-300x155.jpg 300w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-adapter.jpg 1000w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>The ProtoProg is a small open source hardware pogo pin programming solution. The ProtoProg&nbsp;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&#8211;only 7.6mm x 1.2mm!<\/p>\n<p><!--more--><\/p>\n<h3>Design<\/h3>\n<p><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/04\/pogoprog-testandadapter.jpg\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large alt=\" alt=\"\" src=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/04\/pogoprog-testandadapter-500x479.jpg\" width=\"500\" height=\"479\" \/><\/a><br \/>\nThe ProtoProg&nbsp;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:<\/p>\n<ul>\n<li>J1 (ProtoProg Standard) &#8211; Small pads with alignment holes (8 pins required)<em><\/em><\/li>\n<li>J4 (ProtoProg Micro) &#8211; Small pads with alignment vias (6 pins required)<\/li>\n<\/ul>\n<p><strong>Choose the <em>micro<\/em> footprint for small size<br \/>\n<\/strong><\/p>\n<p>J4 does not include any dedicated alignment holes&nbsp; 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 &#8220;snap&#8221; into place for alignment. This footprint is very compact.<\/p>\n<p><strong>Choose the <em>standard<\/em> footprint for easier alignment<\/strong><\/p>\n<p>The standard footprint includes dedicated alignment holes, and requires 8 pins to be populated on the ProtoProg&nbsp; programming adapter. This connector takes up more lateral room, but allows for easier insertion and likely more reliable long-term use.<\/p>\n<h3>Assembling the&nbsp;ProtoProg<\/h3>\n<p><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/04\/pogoprog-assembly-1.jpg\" data-rel=\"lightbox-image-2\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1657\" alt=\"ProtoProg assembly - step 1\" src=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/04\/pogoprog-assembly-1-500x278.jpg\" width=\"500\" height=\"278\" srcset=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/04\/pogoprog-assembly-1-500x278.jpg 500w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/04\/pogoprog-assembly-1-300x166.jpg 300w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/04\/pogoprog-assembly-1.jpg 1000w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>To begin, make sure you have these components:<\/p>\n<ul>\n<li>6 or 8 pogo pins (depending on which footprint you want to use) [<a href=\"http:\/\/www.ebay.com\/sch\/i.html?_trksid=p3984.m570.l1313.TR0.TRC0&amp;_nkw=%09+10pcs+P50-J1+Dia+0.68mm+Length+16mm+75g+Spring+Test.&amp;_sacat=0&amp;_from=R40\" target=\"_blank\">ebay<\/a>]<\/li>\n<li>2 ProtoProg&nbsp;PCBs (one is used for alignment) [gerbers provided below]<\/li>\n<li>Vise (recommended)<\/li>\n<li>Soldering iron and solder<\/li>\n<\/ul>\n<p><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-assembly-2.jpg\" data-rel=\"lightbox-image-3\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1624\" alt=\"ProtoProg assembly - step 2\" src=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-assembly-2-500x298.jpg\" width=\"500\" height=\"298\" srcset=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-assembly-2-500x298.jpg 500w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-assembly-2-300x179.jpg 300w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-assembly-2.jpg 1000w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>First, take one of the ProtoProg&nbsp;adapter PCBs and solder a 6&#215;2 pin header on the top side.<\/p>\n<p>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.<\/p>\n<p>Next, take your ProtoProg&nbsp;board with the 6&#215;2 pin header and a blank ProtoProg&nbsp;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.<\/p>\n<p>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.<\/p>\n<p><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-assembly-3.jpg\" data-rel=\"lightbox-image-4\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1625\" alt=\"ProtoProg assembly - step 3\" src=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-assembly-3-500x347.jpg\" width=\"500\" height=\"347\" srcset=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-assembly-3-500x347.jpg 500w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-assembly-3-300x208.jpg 300w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-assembly-3.jpg 1000w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>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.<\/p>\n<p><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog.jpg\" data-rel=\"lightbox-image-5\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1627\" alt=\"ProtoProg Adapter\" src=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-500x349.jpg\" width=\"500\" height=\"349\" srcset=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-500x349.jpg 500w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-300x209.jpg 300w, http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog.jpg 1000w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Finally, attach your programming adapter to your programmer. If your programmer is configured to power your target board, the ProtoProg&nbsp;LED will illuminate. If the target is self-powered, the LED will illuminate when you plug the ProtoProg&nbsp;into your target board.<\/p>\n<h3><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-conn.jpg\" data-rel=\"lightbox-image-6\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large alt=\" alt=\"\" src=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/03\/pogoprog-conn-500x447.jpg\" width=\"500\" height=\"447\" \/><\/a><\/h3>\n<p>When programming, carefully press the ProtoProg&nbsp;adapter on your footprint. If you are using the micro connector, make sure the two outer pins &#8220;snap&#8221; into the alignment vias before fully pressing down the connector.<\/p>\n<p>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.<\/p>\n<p><strong>Note:<\/strong> This project was recently renamed, but the PCBs and photos above still bear the old name.<\/p>\n<h3>Design Resources<\/h3>\n<ul>\n<li><a href=\"http:\/\/protofusion.org\/hg\/protofusion-hardware\/raw-file\/default\/lbr\/Protofusion.lbr\" target=\"_blank\">Protofusion Eagle Library<\/a> (<strong>footprints<\/strong> for your own PCBs)<\/li>\n<li><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/04\/PogoProg-RTM1.zip\">ProtoProgAdapter v1.0<\/a> (ready-to-fab <strong>gerbers<\/strong> for <a href=\"http:\/\/oshpark.com\/\" target=\"_blank\">OSH Park<\/a>)<\/li>\n<li><a href=\"http:\/\/protofusion.org\/wordpress\/wp-content\/uploads\/2013\/04\/pogoProg.zip\">ProtoProg&nbsp;Adapter v1.0<\/a> (Eagle <strong>design files)<\/strong><\/li>\n<\/ul>\n<p>If you have any questions or suggestions, leave a comment below or send a message through our <a title=\"Contact\" href=\"http:\/\/protofusion.org\/wordpress\/contact\/\" target=\"_blank\">contact page<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The ProtoProg is a small open source hardware pogo pin programming solution. The ProtoProg&nbsp;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<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"http:\/\/protofusion.org\/wordpress\/2013\/05\/open-hardware-pogo-pin-programmer\/\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kadence_starter_templates_imported_post":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[35,204],"tags":[257,188,185,184,186,187],"class_list":["post-1613","post","type-post","status-publish","format-standard","hentry","category-projects","category-protoprog","tag-avr","tag-icsp","tag-open-source-hardware","tag-oshw","tag-pogo-pin","tag-programmer"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pNjAs-q1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/posts\/1613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/comments?post=1613"}],"version-history":[{"count":33,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/posts\/1613\/revisions"}],"predecessor-version":[{"id":1824,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/posts\/1613\/revisions\/1824"}],"wp:attachment":[{"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/media?parent=1613"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/categories?post=1613"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/protofusion.org\/wordpress\/wp-json\/wp\/v2\/tags?post=1613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}