Until now I haven’t posted any schematics. This is because the cubes I’ve shown so far were too trivial. This also the case with this 3x3x3 LED cube and its board. As you can see it uses a lot of wires. 9 Wires for addressing the LEDs on a layer, 3 more wires for multiplexing / switching the layers and one more wire for GND. The Arduino Board provides enough pins and so no fancy techniques are necessary yet. While the board looks clean and simple on the top, the actual wiring on the bottom is a little more complicated.
Even a 3x3x3 cube involves some work. The only new concept here is the use of transistors for switching the layers.
This cube has common cathode layers and common anode columns. This is because each column is directly connected to one of the Arduino IO pins. These pins can provide a current up to 40mA. A typical LED needs around 20mA for full brightness and since there is only one layer connected to GND (-) at the same time each column only draws 20mA at any given time.
The layers are connected to transistors which allows switching the layers to GND with three IO pins. The transistors are all connected to a common GND which has the advantage of requiring only one GND wire instead of having individual wires to for each transistor.
Also notice that all the LEDs are connected via the cathode which means that if an entire layer is lid up at once, a 180mA (9 * 20mA) are flowing through the transistor.
I don’t have the code for running the cube on that board anymore but I build a second board with shift registers which I will show in the next post.