{"id":53,"date":"2010-03-21T10:30:14","date_gmt":"2010-03-21T10:30:14","guid":{"rendered":"http:\/\/mitat.tuu.fi\/?p=53"},"modified":"2010-04-08T19:00:27","modified_gmt":"2010-04-08T19:00:27","slug":"sparkfun-button-pad-spi-with-arduino","status":"publish","type":"post","link":"http:\/\/mitat.tuu.fi\/?p=53","title":{"rendered":"Sparkfun Button Pad SPI with Arduino"},"content":{"rendered":"<p>Some pitfalls and thought on SparkFun&#8217;s Button Pad SPI. I&#8217;m using it with Arduino Duemilanova.<\/p>\n<p>The Button Pad SPI is NOT standard SPI. You cannot use it with Arduino&#8217;s (Atmega&#8217;s) built-in SPI. You have to write your own code to handle the communications.<\/p>\n<ul>\n<li>Yes, it&#8217;s possible to hook multiple boards and read all buttons statuses with only one &#8220;SPI&#8221; line. This however might be bad idea, see below.<\/li>\n<li>The manual confuses you with the feedback-line. That&#8217;s actually MOSI from the last board. So hook that to input pin on Arduino and read the button statuses from that.<\/li>\n<li>You cannot hook the boards parallel to the SPI line (using separate CS lines) since the boards don&#8217;t respect the CS. They will receive data even if the CS line is down.<\/li>\n<li>If you want to control the boards separately you must have separate CS and SCK lines. MISO can be common.<\/li>\n<li>The boards can loose their multi-board configuration setting and think they are in one-board-environment. This sucks. Hard. You have to reprogram the boards separately, the configuration works only for the board where the &#8220;SPI&#8221; is connected to. Of course this isn&#8217;t SparkFun&#8217;s problem: you&#8217;re causing this by for example when your Arduino boots or there&#8217;s some other clitches on the &#8220;SPI&#8221;-line. I think it should be more difficult to change the setting, for example only when some dip-switch or something is connected\/unconnected..<\/li>\n<li>You cannot press more than 2 buttons on a column. However, in rows you can press and receive all 4 buttons.<\/li>\n<li>You cannot align the boards in 2*2 shape with all having same orientation (column\/row).<\/li>\n<li>It&#8217;s not 24-bit color scheme, or at least the color values are not linear to what you see. The color value has exponential-like effect to the actual led brightness.<\/li>\n<li>It&#8217;s still a great product for the price.<\/li>\n<li>It looks very very sweet. In dark it looks like a candy!<\/li>\n<li>On user inteface side these boards work just like they are supposed to work. Unlimited possibilities in the software that you write for them. Be creative, be fun!<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Some pitfalls and thought on SparkFun&#8217;s Button Pad SPI. I&#8217;m using it with Arduino Duemilanova. The Button Pad SPI is NOT standard SPI. You cannot use it with Arduino&#8217;s (Atmega&#8217;s) built-in SPI. You have to write your own code to handle the communications. Yes, it&#8217;s possible to hook multiple boards and read all buttons statuses [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-53","post","type-post","status-publish","format-standard","hentry","category-electronics"],"_links":{"self":[{"href":"http:\/\/mitat.tuu.fi\/index.php?rest_route=\/wp\/v2\/posts\/53","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/mitat.tuu.fi\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/mitat.tuu.fi\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/mitat.tuu.fi\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/mitat.tuu.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=53"}],"version-history":[{"count":10,"href":"http:\/\/mitat.tuu.fi\/index.php?rest_route=\/wp\/v2\/posts\/53\/revisions"}],"predecessor-version":[{"id":72,"href":"http:\/\/mitat.tuu.fi\/index.php?rest_route=\/wp\/v2\/posts\/53\/revisions\/72"}],"wp:attachment":[{"href":"http:\/\/mitat.tuu.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=53"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mitat.tuu.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=53"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mitat.tuu.fi\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=53"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}