MD_Cubo LED Cube Arduino Library  2.1
Library to control LED Cubes
jolliCube Implementation

JolliCube 8x8x8 MAX7219 Cube

Reference: jolliCube by jollifactory "JolliCube - an 8x8x8 LED Cube (SPI)" at http://www.instructables.com/id/JolliCube-an-8x8x8-LED-Cube-SPI/

jolliCube 8x8 Cube

The monochrome jolliCube is implemented using 8 MD_MAX7219 ICs with an SPI interface to the Arduino controller, and is therefore a 'set and forget' type of device. The MAX7219 ICs are connected in series with the serial output of one device being the input to the next.

The hardware architecture implemented is shown in the figure below.

  • Each 7219 IC controls one vertical plane of the cube (64 LEDs). The software maps these so that the first device is at the front of the display and the X axis increases in the direction of the devices (ie, the X coordinate is the device number)
  • Each 7219 digit is implemented as a row on a plane (Z axis) incrementing down the cube. The software remaps these to be increasing up from the base (ie, the lowest row near the PCb is Z = 0).
  • Each segment is implemented with bits DP, A, ... F from the right face to the left. The software maps these with Y coordinate 0 on the left.

Implementation Overview

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

Cube data is buffered in memory organized as vertical layers of 64 bits (8 bytes) corresponding to the data for each 7219 IC, referenced to provide an origin point on the lower left corner of the cube. 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 intensity values 0..255 are remapped to 0..15 levels available in the MAX7219 IC (divide by 16).