{"id":347,"date":"2014-06-15T21:17:44","date_gmt":"2014-06-15T21:17:44","guid":{"rendered":"http:\/\/interactingobjects.com\/?p=347"},"modified":"2014-12-02T21:40:22","modified_gmt":"2014-12-02T21:40:22","slug":"sparkfuns-4x4-button-led-matrix-part-1-soldering","status":"publish","type":"post","link":"https:\/\/interactingobjects.com\/?p=347","title":{"rendered":"Sparkfun&#8217;s 4&#215;4 Button &#038; LED Matrix &#8211; Part 1 &#8211; Soldering"},"content":{"rendered":"<h1>Introduction<\/h1>\n<p>There are quite a few project out there using\u00a0Sparkfun&#8217;s <a href=\"https:\/\/www.sparkfun.com\/products\/7835\">Button Pad 4&#215;4 &#8211; LED Compatible<\/a>\u00a0and associated <a href=\"https:\/\/www.sparkfun.com\/products\/8033\">Button Pad 4&#215;4 &#8211; Breakout PCB<\/a>. But most of the time there are either using monochrome leds and\u00a0a shift register to drive the leds or just using a 2&#215;2 matrix. So I decided to write my own build guide with RGB leds and an Arduino MEGA.<\/p>\n<p>This is the first part of this building guide. In this part, I&#8217;ll list parts I used and show how I soldered everything together. In next part, I will describe connection of the pad to an Arduino MEGA and all necessary code to test it and make some fun things.<\/p>\n<h1>The parts<\/h1>\n<p>You&#8217;ll need :<\/p>\n<ul>\n<li>1 Sparkfun&#8217;s\u00a0<a style=\"font-style: normal;\" href=\"https:\/\/www.sparkfun.com\/products\/7835\">Button Pad 4&#215;4 &#8211; LED Compatible<\/a><\/li>\n<li>1\u00a0<a style=\"font-style: normal;\" href=\"https:\/\/www.sparkfun.com\/products\/8033\"><span style=\"color: #333333;\">Sparkfun&#8217;s\u00a0<\/span>Button Pad 4&#215;4 &#8211; Breakout PCB<\/a><\/li>\n<li>16 5mm diffused common cathod\u00a0RGB\u00a0leds<\/li>\n<li>16 1N4148 diodes<\/li>\n<li>6 <a href=\"http:\/\/www.stquentin-radio.com\/?page=info_produit&amp;info=2286&amp;color=3&amp;id=0&amp;act=0\">BERG 4P male<\/a> connectors and\u00a0<a href=\"http:\/\/www.stquentin-radio.com\/?page=info_produit&amp;info=2306&amp;color=3&amp;id=0&amp;act=0\">\u00a06 BERG 4P<\/a> female connectors and<\/li>\n<li>few meters of\u00a0<a href=\"http:\/\/www.stquentin-radio.com\/index.php?page=info_produit&amp;info=14830&amp;color=9&amp;id=0&amp;act=0\">4 wire ribbon cable<\/a><\/li>\n<\/ul>\n<p>That&#8217;ll be it for the soldering. But in the next parts, I will also be using<\/p>\n<ul>\n<li>1 <a href=\"http:\/\/arduino.cc\/en\/Main\/arduinoBoardMega\">Arduino Mega<\/a><\/li>\n<li>12 150\u03a9 resistors<\/li>\n<li>a few jumper wires<\/li>\n<li>one big breadboard (or 3 small ones)<\/li>\n<\/ul>\n<p>I bought my parts mainly from 2 french retaillers in or near Paris :\u00a0<a style=\"font-style: normal;\" href=\"http:\/\/www.lextronic.fr\/\">Lextronic <\/a>as they are a Sparkfun&#8217;s reseller and\u00a0<a href=\"http:\/\/www.stquentin-radio.com\/\">Saint-Quentin Radio<\/a> for basic electronic pars (such as resistors, diodes, cable&#8230;) But you can find almost everything at Sparkfun&#8217;s or your prefered shop !<\/p>\n<h1>The soldering<\/h1>\n<p>Lets have a look at the PCB first. On the &#8220;bottom&#8221; side, we will solder the 1N4148 diodes and the BERG connectors. On the &#8220;top&#8221; side, where the botton pad will rest, we will solder the RGB leds.<\/p>\n<div id=\"attachment_349\" style=\"width: 344px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-Pad-Breakout-PCB-Bottom.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-349\" class=\"wp-image-349\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-Pad-Breakout-PCB-Bottom.png\" alt=\"4x4 Button Pad Breakout PCB Bottom\" width=\"334\" height=\"250\" srcset=\"https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-Pad-Breakout-PCB-Bottom.png 640w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-Pad-Breakout-PCB-Bottom-300x225.png 300w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-Pad-Breakout-PCB-Bottom-400x300.png 400w\" sizes=\"auto, (max-width: 334px) 100vw, 334px\" \/><\/a><p id=\"caption-attachment-349\" class=\"wp-caption-text\">Bottom side : where diodes and connectors go<\/p><\/div>\n<div id=\"attachment_350\" style=\"width: 346px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-Pad-Breakout-PCB-Top.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-350\" class=\"wp-image-350\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-Pad-Breakout-PCB-Top.png\" alt=\"4x4 Button Pad Breakout PCB Top\" width=\"336\" height=\"252\" srcset=\"https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-Pad-Breakout-PCB-Top.png 640w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-Pad-Breakout-PCB-Top-300x225.png 300w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-Pad-Breakout-PCB-Top-400x300.png 400w\" sizes=\"auto, (max-width: 336px) 100vw, 336px\" \/><\/a><p id=\"caption-attachment-350\" class=\"wp-caption-text\">Top side : where RGB leds and rubber buttons pad (below) goes<a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-pad-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-364\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-pad-1.png\" alt=\"4x4 Button pad\" width=\"341\" height=\"256\" srcset=\"https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-pad-1.png 640w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-pad-1-300x225.png 300w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/4x4-Button-pad-1-400x300.png 400w\" sizes=\"auto, (max-width: 341px) 100vw, 341px\" \/><\/a><\/p><\/div>\n<h1>1N4148 diodes : the easy part<\/h1>\n<p>Not much to say really&#8230; Just bend the legs, insert the 16 diodes required in the proper holes and solder. Just one thing to take care of : the orientation on the diode !<\/p>\n<p><a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/1N4148.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-360\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/1N4148.png\" alt=\"1N4148\" width=\"225\" height=\"201\" srcset=\"https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/1N4148.png 640w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/1N4148-300x267.png 300w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/1N4148-336x300.png 336w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a><\/p>\n<p>Then, solder the diodes on the top side, taking care of not putting to much solder as you will need to trim the legs as close as possible from the PCB (I used a specific plier \/ cutter like <a href=\"https:\/\/www.sparkfun.com\/products\/11952\">this one<\/a>) so it won&#8217;t get in the way of the rubber buttons pad.<\/p>\n<h1>RGB leds<\/h1>\n<p>Not much more complex. But leds I used have legs a bit closer from one another that the holes are. So you need to bend the legs before trying to insert them. If you don&#8217;t, you won&#8217;t be able to push them enough.<\/p>\n<p><a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/RGB-LED.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-362\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/RGB-LED.png\" alt=\"RGB LED\" width=\"160\" height=\"200\" \/><\/a> <a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/RGB-leds-on-PCB.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-363\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/RGB-leds-on-PCB.png\" alt=\"RGB leds on PCB\" width=\"371\" height=\"211\" \/><\/a><\/p>\n<p>Then solder the legs of the leds !<\/p>\n<h1>The BERG connectors<\/h1>\n<p>Again, one tricky part is that you need to keep soldering on the top side as &#8220;flat&#8221; as possible, else, rubber pad won&#8217;t lay down properly on the PCB.<\/p>\n<p>What I did is &#8220;trim&#8221; the BERG connector BEFORE soldering so it flush with\u00a0the PCB. Doing it after is much more difficult and you may (will) damage the solder joint. \u00a0Whan soldering, make sure you heat the BERG pins with the iron so that you build a solid\u00a0solder joint.<\/p>\n<p><a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/BERG-not-trimmed-e1401220592937.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-357\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/BERG-not-trimmed-e1401220592937.png\" alt=\"\" width=\"254\" height=\"215\" \/><\/a>\u00a0 \u00a0 \u00a0 \u00a0\u00a0<a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/BERG-trimmed.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-358\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/BERG-trimmed.png\" alt=\"BERG trimmed\" width=\"218\" height=\"212\" srcset=\"https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/BERG-trimmed.png 640w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/BERG-trimmed-300x292.png 300w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/BERG-trimmed-308x300.png 308w\" sizes=\"auto, (max-width: 218px) 100vw, 218px\" \/><\/a><\/p>\n<h1><a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/BERG-soldered-flat.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-359\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/BERG-soldered-flat.png\" alt=\"BERG soldered flat\" width=\"201\" height=\"204\" srcset=\"https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/BERG-soldered-flat.png 573w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/BERG-soldered-flat-295x300.png 295w\" sizes=\"auto, (max-width: 201px) 100vw, 201px\" \/><\/a><\/h1>\n<h1>Cabling<\/h1>\n<p>Ok, now we need some wires to connect the PCB to an arduino. I used a\u00a0<a href=\"http:\/\/www.stquentin-radio.com\/index.php?page=info_produit&amp;info=14830&amp;color=9&amp;id=0&amp;act=0\">4 wire ribbon cable<\/a>. On one side, I just tin-plated the wires so that they can be easily used with a solderless breadboard. On the other side, I used the female BERG connectors.<\/p>\n<h1><a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/berg-femake.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-368\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/berg-femake.png\" alt=\"berg femake\" width=\"249\" height=\"202\" \/><\/a> <a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/berg-female-and-cap.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-369 \" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/berg-female-and-cap.png\" alt=\"berg female and cap\" width=\"290\" height=\"201\" \/><\/a> <a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/berg-female-and-wire.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-370\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/berg-female-and-wire.png\" alt=\"berg female and wire\" width=\"243\" height=\"155\" \/><\/a> <a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/berg-almost-finished-e1401832546239.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-371\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/berg-almost-finished-e1401832546239.png\" alt=\"\" width=\"304\" height=\"164\" \/><\/a><a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/button-pad-assembled-led-side.png\"><br \/>\n<\/a><\/h1>\n<h1><a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/Connecteur-BERG-et-Cable-e1401832615283.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-351\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/Connecteur-BERG-et-Cable-e1401832615283.png\" alt=\"Connecteur BERG et Cable\" width=\"640\" height=\"214\" srcset=\"https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/Connecteur-BERG-et-Cable-e1401832615283.png 640w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/Connecteur-BERG-et-Cable-e1401832615283-300x100.png 300w, https:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/05\/Connecteur-BERG-et-Cable-e1401832615283-500x167.png 500w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/h1>\n<h1>\u00a0And in the end&#8230;<\/h1>\n<p>&#8230; we get a fully assembled button pad !<\/p>\n<p><a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/button-pad-assembled-connector-side.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-376\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/button-pad-assembled-connector-side.png\" alt=\"button pad assembled connector side\" width=\"275\" height=\"209\" \/><\/a><a href=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/button-pad-assembled-led-side1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-375\" src=\"http:\/\/interactingobjects.com\/wp-content\/uploads\/2014\/06\/button-pad-assembled-led-side1.png\" alt=\"button pad assembled led side\" width=\"273\" height=\"207\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction There are quite a few project out there using\u00a0Sparkfun&#8217;s Button Pad 4&#215;4 &#8211; LED Compatible\u00a0and associated Button Pad 4&#215;4 &#8211; Breakout PCB. But most of the time there are either using monochrome leds and\u00a0a shift register to drive the &hellip; <a href=\"https:\/\/interactingobjects.com\/?p=347\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[111,86],"tags":[88,92,94,95,93,91],"class_list":["post-347","post","type-post","status-publish","format-standard","hentry","category-4x4-button-pad","category-arduino-2","tag-arduino-mega","tag-button-pad","tag-com-07835","tag-com-08033","tag-led-matrix","tag-rgb-led"],"_links":{"self":[{"href":"https:\/\/interactingobjects.com\/index.php?rest_route=\/wp\/v2\/posts\/347","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/interactingobjects.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/interactingobjects.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/interactingobjects.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/interactingobjects.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=347"}],"version-history":[{"count":7,"href":"https:\/\/interactingobjects.com\/index.php?rest_route=\/wp\/v2\/posts\/347\/revisions"}],"predecessor-version":[{"id":378,"href":"https:\/\/interactingobjects.com\/index.php?rest_route=\/wp\/v2\/posts\/347\/revisions\/378"}],"wp:attachment":[{"href":"https:\/\/interactingobjects.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=347"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/interactingobjects.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=347"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/interactingobjects.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=347"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}