{"id":190,"date":"2009-07-16T16:25:52","date_gmt":"2009-07-16T20:25:52","guid":{"rendered":"http:\/\/brettbeauregard.com\/blog\/?p=190"},"modified":"2024-06-03T18:12:59","modified_gmt":"2024-06-03T22:12:59","slug":"arduino-offset-header","status":"publish","type":"post","link":"http:\/\/brettbeauregard.com\/blog\/2009\/07\/arduino-offset-header\/","title":{"rendered":"Arduino Offset Header"},"content":{"rendered":"<p>The Arduino has a problem.<br \/>\n<a title=\"dimensions by br3ttb, on Flickr\" href=\"http:\/\/www.flickr.com\/photos\/38917611@N08\/3726642859\/\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm4.static.flickr.com\/3444\/3726642859_d569f7d039_o.png\" alt=\"dimensions\" width=\"450\" height=\"355\" \/><\/a><br \/>\nNot a big problem by any means, but still annoying under certain circumstances.  <a href=\"http:\/\/www.arduino.cc\/cgi-bin\/yabb2\/YaBB.pl?num=1212632541\/13#13\">As the story goes<\/a>,  an 11th hour design mistake has left the Arduino community with a header that doesn&#8217;t follow standard 0.1&#8243; (2.54mm) spacing.<\/p>\n<h2>So what?<\/h2>\n<p><a title=\"misalignment by br3ttb, on Flickr\" href=\"http:\/\/www.flickr.com\/photos\/38917611@N08\/3727447006\/\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm3.static.flickr.com\/2518\/3727447006_590031d02e_o.png\" alt=\"misalignment\" width=\"371\" height=\"271\" \/><\/a><\/p>\n<p>For the most part, this flaw is completely transparent to the user.\u00a0 Either they plug wires directly into the header, or use shields that have been designed to mate nicely with it.  The problem occurs when trying to create your own shield.  When you try to line up a standard perfboard with the Arduino, the header doesn&#8217;t match up.  This has left the community either buying <a href=\"http:\/\/www.adafruit.com\/index.php?main_page=product_info&amp;products_id=51\">protoshields<\/a> or resorting to various other DIY techniques.  (<a href=\"http:\/\/www.thebox.myzen.co.uk\/Hardware\/Arduino_Shield.html\">here&#8217;s<\/a> <a href=\"http:\/\/www.instructables.com\/id\/Arduino_ProtoShield_from_quotHouseholdquot_Ite\/\">two.<\/a>)<\/p>\n<h2>An Easier Solution<\/h2>\n<p><a title=\"Offset Header by br3ttb, on Flickr\" href=\"http:\/\/www.flickr.com\/photos\/38917611@N08\/3726643355\/\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm3.static.flickr.com\/2439\/3726643355_13c69c687a_b.jpg\" border=\"1\" alt=\"Offset Header\" width=\"450\" height=\"337\" \/><\/a><br \/>\n<a title=\"offset header - standard shield by br3ttb, on Flickr\" href=\"http:\/\/www.flickr.com\/photos\/38917611@N08\/3727447256\/\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm4.static.flickr.com\/3437\/3727447256_1aa76df41f_o.png\" alt=\"offset header - standard shield\" width=\"450\" height=\"337\" \/><\/a><br \/>\nThanks to <a href=\"http:\/\/willoughbybaltic.com\/labs\/\">my hackerspace<\/a>, I&#8217;ve been able to machine a jig to make Offset Headers.  In my opinion it&#8217;s a great solution to the problem.  Slide one through the perfboard (or whatever other 0.1&#8243; spaced board you&#8217;re using,)  solder in place,  and you have an Arduino-spaced shield using a standard-spaced board.<\/p>\n<h3>But wait&#8230; There&#8217;s more<\/h3>\n<p><a title=\"offset header - arduino shield by br3ttb, on Flickr\" href=\"http:\/\/www.flickr.com\/photos\/38917611@N08\/3726642877\/\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm3.static.flickr.com\/2654\/3726642877_c622248e49_o.png\" alt=\"offset header - arduino shield\" width=\"450\" height=\"337\" \/><\/a><\/p>\n<p>So that takes care of the cheap-shield issue, but there&#8217;s more that this header can do.  There are TONS of Arduino-spaced sheilds out there.  In my opinion, that&#8217;s one of the main things keeping people from developing and buying standard-spaced Arduino clones. Currently, if you make your clone standard-spaced, you&#8217;re going to alienate all the existing Arduino shields.\u00a0 Having these offset headers lets users buy a clone without fear of shield compatibility.<\/p>\n<h2>Lastly<\/h2>\n<p><a title=\"Many Headers by br3ttb, on Flickr\" href=\"http:\/\/www.flickr.com\/photos\/38917611@N08\/3727449566\/\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/farm3.static.flickr.com\/2479\/3727449566_fd2f743c74_b.jpg\" alt=\"Many Headers\" width=\"450\" height=\"337\" \/><\/a><\/p>\n<p>So that&#8217;s it.  Offset headers by the boatload.\u00a0 Hopefully someone somewhere finds them useful.  I&#8217;ve sent a preliminary batch over to <a href=\"http:\/\/adafruit.com\/\">Adafruit,<\/a> so they should be available there shortly.\u00a0<\/p>\n<p>(UPDATE:\u00a0 they are now available <a href=\"http:\/\/www.adafruit.com\/index.php?main_page=product_info&amp;products_id=187\">here<\/a>)<br \/>\n(UPDATE:  <a href=\"http:\/\/www.sparkfun.com\/commerce\/product_info.php?products_id=9374\">SparkFun<\/a> has them now too.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Arduino has a problem. Not a big problem by any means, but still annoying under certain circumstances. As the story goes, an 11th hour design mistake has left the Arduino community with a header that doesn&#8217;t follow standard 0.1&#8243; &hellip; <a href=\"http:\/\/brettbeauregard.com\/blog\/2009\/07\/arduino-offset-header\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[16],"tags":[6,12],"class_list":["post-190","post","type-post","status-publish","format-standard","hentry","category-electronic","tag-arduino","tag-offset-header"],"_links":{"self":[{"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/posts\/190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/comments?post=190"}],"version-history":[{"count":69,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/posts\/190\/revisions"}],"predecessor-version":[{"id":7206,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/posts\/190\/revisions\/7206"}],"wp:attachment":[{"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/media?parent=190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/categories?post=190"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/brettbeauregard.com\/blog\/wp-json\/wp\/v2\/tags?post=190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}