{"id":2148,"date":"2015-04-21T11:45:38","date_gmt":"2015-04-21T09:45:38","guid":{"rendered":"https:\/\/playembedded.org\/?p=2148"},"modified":"2017-04-12T22:34:02","modified_gmt":"2017-04-12T20:34:02","slug":"chibicube-hardware-explained","status":"publish","type":"post","link":"https:\/\/playembedded.org\/blog\/chibicube-hardware-explained\/","title":{"rendered":"ChibiCube hardware explained"},"content":{"rendered":"<h3 id=\"1_In_this_article\" class=\"level_1\">In this article<\/h3>\n<p>By this article, we will show schematic of <b>ChibiCube<\/b> in order to understand how it works and hot it has been designed.<\/p>\n<h3 id=\"2_Toward_ChibiCube_schematic\" class=\"level_1\">Toward ChibiCube schematic<\/h3>\n<p>As mentioned in the <a href=\"https:\/\/playembedded.org\/en\/2015\/04\/10\/introducing-chibicube\/\" target=\"_blank\">previous article<\/a>, <b>ChibiCube<\/b> addresses all its LEDs through the combination of anode and cathode signals. Each floor of the cube is configured as common anode, while the various cathode signals are separately connected to the outputs of the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Shift_register\" target=\"_blank\">Shift Register<\/a>. Setting the anode voltage to a value equal or greater than the high logical threshold of our SR, for the same principle illustrated in the tutorial <a href=\"https:\/\/playembedded.org\/en\/2015\/02\/15\/meeting-spi\/\" target=\"_blank\">Meeting SPI<\/a>, we can address single LEDs of the floor. To make it simple, consider a cube 4x4x4: the diagram of a single floor would appear as in Fig.1.<\/p>\n<figure id=\"attachment_2566\" aria-describedby=\"caption-attachment-2566\" style=\"width: 560px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/playembedded.org\/wp-content\/uploads\/2016\/04\/art_004_plane_scheme.jpg\" rel=\"attachment wp-att-2566\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2566 size-full\" src=\"https:\/\/playembedded.org\/wp-content\/uploads\/2016\/04\/art_004_plane_scheme.jpg\" alt=\"ChibiCube plane schematic\" width=\"560\" height=\"341\" srcset=\"https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_plane_scheme.jpg 560w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_plane_scheme-150x91.jpg 150w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_plane_scheme-300x183.jpg 300w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_plane_scheme-24x15.jpg 24w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_plane_scheme-36x22.jpg 36w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_plane_scheme-48x29.jpg 48w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\"><\/a><figcaption id=\"caption-attachment-2566\" class=\"wp-caption-text\">A schematic of a plane from a 4&times;4 LED cube.<\/figcaption><\/figure>\n<p>This schematic is different from the one shown in <a href=\"https:\/\/playembedded.org\/en\/2015\/02\/15\/meeting-spi\/\" target=\"_blank\">SPI tutorial<\/a> in some points:<\/p>\n<ul>\n<li>The SR is a 16 bit one and is a LED driver. Output current is fixed choosing R-EXT and we don&rsquo;t need for a resistor on each LED;<\/li>\n<li>To make schematic simple, LEDs are oriented as a 4&times;4 matrix;<\/li>\n<li>The common anode is addressed by MCU thought a P-MOS, instead being connected directly to power supply;<\/li>\n<\/ul>\n<p><!--more-->The pin that drives PMOS gate acts as a floor enabler. To achieve a 4x4x4 cube, the single plan must be vertically replicated, which means that four MOSFETs are needed and on a single output of the SR there are connected four LEDs (the four in the same vertical column). For example in <b>Fig.2<\/b> is shown the circuit of the fictitious cube with two floors.<\/p>\n<figure id=\"attachment_2565\" aria-describedby=\"caption-attachment-2565\" style=\"width: 1632px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/playembedded.org\/wp-content\/uploads\/2016\/04\/art_004_cube_scheme.jpg\" rel=\"attachment wp-att-2565\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2565 size-full\" src=\"https:\/\/playembedded.org\/wp-content\/uploads\/2016\/04\/art_004_cube_scheme.jpg\" alt=\"4x4x2 LED cube\" width=\"1632\" height=\"798\" srcset=\"https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_cube_scheme.jpg 1632w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_cube_scheme-150x73.jpg 150w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_cube_scheme-300x147.jpg 300w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_cube_scheme-1024x501.jpg 1024w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_cube_scheme-1200x587.jpg 1200w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_cube_scheme-24x12.jpg 24w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_cube_scheme-36x18.jpg 36w, https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/art_004_cube_scheme-48x23.jpg 48w\" sizes=\"auto, (max-width: 1632px) 100vw, 1632px\"><\/a><figcaption id=\"caption-attachment-2565\" class=\"wp-caption-text\">A schematic of two planes from a 4&times;4 LED cube.<\/figcaption><\/figure>\n<p>Final schematic of <b>ChibiCube<\/b> include a cascade of four 16 bit SR (64 LEDs on each floor) and up to sixteen P-MOS. MOSFETs gates are connected to outputs of two 3 to 8 <a href=\"http:\/\/en.wikipedia.org\/wiki\/Decoder\" target=\"_blank\">Decoders<\/a> in order to reduce wire connections between MCU and cube. On board, there are two linear DC-DC converter (With output:5V and 3,3V). The circuit part interested by signals could be powered with 3,3V or 5V (Selectable through jumper), power part is powered by 5V. Ten wire connections are required: four wires for the SPI, four wires for the two decoders and two wires for microcontroller power supply.<\/p>\n<p><b>ChibiCube<\/b> has up to sixteen MOSFET because it has been designed in a modular way: the SRs are in daisy chain connection and we can open the chain connecting more cube as a cascade. By cascading four cubes and building sixteen floors we can build a unique 16x16x16 cube.<\/p>\n<h3 id=\"3_Refresh_cycle\" class=\"level_1\">Refresh cycle<\/h3>\n<p>The cube is refreshed with typically in 40 or less ms avoiding flickers. Refresh cycle is performed following these steps:<\/p>\n<ul>\n<li>&hellip;<\/li>\n<li><i>nth<\/i> floor is enabled and the <i>nth &ndash; 1<\/i> disabled;<\/li>\n<li>Data is clocked to <i>nth<\/i> floor;<\/li>\n<li><i>nth + 1<\/i> floor is enabled and the <i>nth<\/i> disabled;<\/li>\n<li>etc&hellip;<\/li>\n<\/ul>\n<h3 id=\"4_ChibiCube_schematic\" class=\"level_1\">ChibiCube schematic<\/h3>\n<p>This schematic has been designed in January 2014 by <b>Antonio Galano<\/b> and <strong>Rocco Marco Guglielmi<\/strong> and supervised by <b>Giovanni Di Sirio<\/b>. It is distributed on a &ldquo;AS IS&rdquo; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND and licensed under <a href=\"http:\/\/www.tapr.org\/ohl.html\" target=\"_blank\">OHL<\/a> hoping to be helpful. In case of damage to property or people we do not assume any responsibility.<\/p>\n<p><a href=\"https:\/\/playembedded.org\/wp-content\/uploads\/2016\/04\/Schematic_ChibiCube.pdf\" rel=\"\">ChibiCube schematic<\/a><\/p>\n<h3 id=\"5_Bill_of_Materials_for_a_single_ChibiCube\" class=\"level_1\">Bill of Materials for a single ChibiCube<\/h3>\n<p>We report in the following, list of components required to assemble a single ChibiCube PCB without LEDs, small parts and welding tools<\/p>\n<p><a href=\"https:\/\/playembedded.org\/wp-content\/uploads\/2016\/04\/BOM_ChibiCube.xlsx\" rel=\"\">ChibiCube Bill of Material<\/a><\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>In this article By this article, we will show schematic of ChibiCube in order to understand how it works and hot it has been designed. Toward ChibiCube schematic As mentioned in the previous article, ChibiCube addresses all its LEDs through the combination of anode and cathode signals. Each floor of the cube is configured as [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":2388,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1028],"tags":[],"coauthors":[241],"class_list":["post-2148","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chibicube","cobalt"],"views":4748,"jetpack_featured_media_url":"https:\/\/playembedded.org\/blog\/wp-content\/uploads\/2016\/04\/ChibiCube-hardware-explained.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/posts\/2148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/comments?post=2148"}],"version-history":[{"count":0,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/posts\/2148\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/media\/2388"}],"wp:attachment":[{"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/media?parent=2148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/categories?post=2148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/tags?post=2148"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/playembedded.org\/blog\/wp-json\/wp\/v2\/coauthors?post=2148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}