MD_Cubo LED Cube Arduino Library  1.1
Library to control LED Cubes
ICStation '595 Implementation

ICStation 595 4x4 Cube

Source: ICStation "ICStation 4X4X4 Light Cube Kit For Arduino UNO" at http://www.icstation.com/icstation-4x4x4-light-cube-arduino-p-5312.html

ICStation 4x4 Cube

The ICStation 595 cube shield is implemented using 2 74595 ICs with an SPI interface to the Arduino controller, and is therefore a 'scan and refresh' type of device. The 595 IC outputs are connected across the LEDs and each layer of the cube is enabled for a short period (LAYER_TIME), switching in rapid succession to create a Persistence of Vision in the user's eyes.

The hardware architecture implemented shown in the schematic below.

ICStation 4x4 schematic

The shield uses pins 0 through 3 for the SPI interface and 4 through 7 to activate each layer (called D16..D19 in the schematic. Because of the way the LEDs are wired through only one resistor per layer, the result is less than impressive from a brightness perspetive, but it works.

Implementation Overview

The software implements an SPI interface through the standard Arduino SPI object.

Cube data is buffered in memory organised as vertical layers of 16 bits (1 word). At each refresh, the 595 is loaded with the data for a specific layer and the Arduino corresponding to that layer is set to groung (LOW) to enable the circuit for that layer.

The cube data is held in memory buffers until an update() call is made, at which point it is entirely written to the cube through the SPI interface. The animate() call is used to scan the refresh of the cube. No interrupt timers are used in this implementation.

No intensity changes are implemented in this architecture.