{"id":12,"date":"2015-09-24T18:29:00","date_gmt":"2015-09-24T17:29:00","guid":{"rendered":""},"modified":"2023-08-18T12:30:59","modified_gmt":"2023-08-18T11:30:59","slug":"cheap-diy-icsp-boards-for-attiny-and","status":"publish","type":"post","link":"https:\/\/blog.hslracing.com\/electronics\/2015\/09\/cheap-diy-icsp-boards-for-attiny-and.html","title":{"rendered":"Cheap DIY ICSP Boards for ATtiny and ATmega MCs"},"content":{"rendered":"<p>I recently make a couple of breakout boards for USB connections to use on a breadboard, these are just a male and a female type A USB connector and some header pins soldered to some strip-board.<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-60 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit1-300x179.jpg\" alt=\"\" width=\"300\" height=\"179\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit1-300x179.jpg 300w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit1-768x457.jpg 768w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit1.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/div>\n<p>Rear<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-61 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit2-300x178.jpg\" alt=\"\" width=\"300\" height=\"178\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit2-300x178.jpg 300w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit2-768x456.jpg 768w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit2.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/div>\n<p>One thing that irks me, when I am prototyping a new circuit, is that when I need to program the micro-controller, this usually means wiring up the <a href=\"https:\/\/en.wikipedia.org\/wiki\/In-system_programming\">ICSP<\/a> from scratch on a breadboard each time and usually all my breadboard space is used up by some other project.<\/p>\n<p>Yes, you can make use of an <a href=\"https:\/\/www.arduino.cc\/en\/Main\/ArduinoBoardUno\">Arduino<\/a> board and simply plug an <a href=\"http:\/\/www.atmel.com\/devices\/atmega328p.aspx\">ATmega328P<\/a> chip in and blast that directly, but I am often making use of <a href=\"http:\/\/www.atmel.com\/products\/microcontrollers\/avr\/tinyavr.aspx\">ATtiny<\/a>\u00a0AVR chips and again don&#8217;t really want to be tying up a board simply to upload some code to a chip.<\/p>\n<p>There are a few options available for sale, this one is particularly good:<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/ATtiny_Programmer_Adapter_v1.4_Built.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-62 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/ATtiny_Programmer_Adapter_v1.4_Built-287x300.jpg\" alt=\"\" width=\"287\" height=\"300\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/ATtiny_Programmer_Adapter_v1.4_Built-287x300.jpg 287w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/ATtiny_Programmer_Adapter_v1.4_Built-768x804.jpg 768w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/ATtiny_Programmer_Adapter_v1.4_Built.jpg 978w\" sizes=\"auto, (max-width: 287px) 100vw, 287px\" \/><\/a><\/div>\n<p>It is available from <a href=\"https:\/\/www.insidegadgets.com\/projects\/attiny-programmer-adapter\/\">Inside Gadgets<\/a> for $4.50 + $3.00 P&amp;P (\u00a34.80) as a bare board with the SMD parts pre-soldered.<\/p>\n<p>However being a cheapskate I decided to make my own using some strip board and some pin headers.<\/p>\n<p>All that is really needed for each chip are the 6 pins used by the\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/In-system_programming\">ICSP<\/a>\u00a0&#8211; VCC, GND, RST, MOSI, MISO and SCK, unfortunately each chip locates these pins in different places, so I decided on one board per chip type and a standard header to connect to a programmer.<\/p>\n<p>Here is the various layouts I have done so far:<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.11.58.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-63 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.11.58-300x279.png\" alt=\"\" width=\"300\" height=\"279\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.11.58-300x279.png 300w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.11.58.png 321w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/div>\n<p><a href=\"http:\/\/www.atmel.com\/devices\/attiny85.aspx\">ATtiny25\/45\/85<\/a> DIP 8 chips<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.12.29.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-64 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.12.29-296x300.png\" alt=\"\" width=\"296\" height=\"300\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.12.29-296x300.png 296w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.12.29.png 356w\" sizes=\"auto, (max-width: 296px) 100vw, 296px\" \/><\/a><\/div>\n<p><a href=\"http:\/\/www.atmel.com\/devices\/ATTINY84.aspx\">ATtiny24\/44\/84<\/a> DIP 14 chips<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.13.54.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-65 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.13.54-232x300.png\" alt=\"\" width=\"232\" height=\"300\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.13.54-232x300.png 232w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.13.54.png 347w\" sizes=\"auto, (max-width: 232px) 100vw, 232px\" \/><\/a><\/div>\n<p><a href=\"http:\/\/www.atmel.com\/devices\/ATTINY2313.aspx\">ATtiny2313\/2314<\/a> DIP 20 chips<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.11.46.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-66 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.11.46-224x300.png\" alt=\"\" width=\"224\" height=\"300\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.11.46-224x300.png 224w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Screen-2BShot-2B2015-09-24-2Bat-2B18.11.46.png 382w\" sizes=\"auto, (max-width: 224px) 100vw, 224px\" \/><\/a><\/div>\n<p><a href=\"http:\/\/www.atmel.com\/devices\/atmega328p.aspx\">ATmega48\/88\/168\/328P<\/a> DIP 28 chips<\/p>\n<p>First I marked up a sheet of strip board, (the same one I cut the USB headers from)<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-67 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit3-300x197.jpg\" alt=\"\" width=\"300\" height=\"197\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit3-300x197.jpg 300w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit3-768x503.jpg 768w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit3.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/div>\n<p>I cut out the boards and cut the relevant traces<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-68 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit4-300x132.jpg\" alt=\"\" width=\"300\" height=\"132\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit4-300x132.jpg 300w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit4-768x339.jpg 768w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit4.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/div>\n<p>I then soldered the pin headers and lengths of copper wire for the jumpers<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-69 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit5-300x118.jpg\" alt=\"\" width=\"300\" height=\"118\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit5-300x118.jpg 300w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit5-768x301.jpg 768w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit5.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/div>\n<p>rear view<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit6.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-70 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit6-300x123.jpg\" alt=\"\" width=\"300\" height=\"123\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit6-300x123.jpg 300w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit6-768x315.jpg 768w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit6.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/div>\n<p>The connector is simply 6 DuPont female-female wires with one end in a 1&#215;6 connector block and the other end in a 2&#215;5 connector block wired as for an ISP programmer<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit7.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-71 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit7-300x73.jpg\" alt=\"\" width=\"300\" height=\"73\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit7-300x73.jpg 300w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit7-768x187.jpg 768w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit7.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/div>\n<p>I can now use any of these boards as a stand-alone programming setup with either of my main ISP programmers.<\/p>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit8.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-72 size-medium\" src=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit8-300x298.jpg\" alt=\"\" width=\"300\" height=\"298\" srcset=\"https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit8-300x298.jpg 300w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit8-150x150.jpg 150w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit8-768x763.jpg 768w, https:\/\/blog.hslracing.com\/wp-content\/uploads\/sites\/2\/2015\/09\/Circuit8.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/div>\n<div style=\"clear: both; text-align: left;\">I simply plug the 2&#215;5 connector into the ISP and the 1&#215;6 connector into the appropriate board.<\/div>\n<div style=\"clear: both; text-align: left;\"><\/div>\n<div style=\"clear: both; text-align: left;\">I may yet make up a board for <a href=\"http:\/\/www.atmel.com\/devices\/ATMEGA644P.aspx\">ATmega164\/324\/644\/1284P<\/a> DIP 40 chips, as I regularly use these in my 3D Printers.<\/div>\n<div style=\"clear: both; text-align: left;\"><\/div>\n<div style=\"clear: both; text-align: left;\">Total cost for the whole project is probably less than \u00a30.50 ($0.75).<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I recently make a couple of breakout boards for USB connections to use on a breadboard, these are just a male and a female type A USB connector and some header pins soldered to some strip-board. Rear One thing that irks me, when I am prototyping a new circuit, is that when I need to&hellip;<\/p>\n","protected":false},"author":2,"featured_media":60,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/blog.hslracing.com\/electronics\/wp-json\/wp\/v2\/posts\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.hslracing.com\/electronics\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.hslracing.com\/electronics\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.hslracing.com\/electronics\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.hslracing.com\/electronics\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":4,"href":"https:\/\/blog.hslracing.com\/electronics\/wp-json\/wp\/v2\/posts\/12\/revisions"}],"predecessor-version":[{"id":178,"href":"https:\/\/blog.hslracing.com\/electronics\/wp-json\/wp\/v2\/posts\/12\/revisions\/178"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.hslracing.com\/electronics\/wp-json\/wp\/v2\/media\/60"}],"wp:attachment":[{"href":"https:\/\/blog.hslracing.com\/electronics\/wp-json\/wp\/v2\/media?parent=12"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.hslracing.com\/electronics\/wp-json\/wp\/v2\/categories?post=12"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.hslracing.com\/electronics\/wp-json\/wp\/v2\/tags?post=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}