finally, after years of prototyping, design, programming, screwing and soldering here it is:
My 12x12x12 RGB LED Cube powered by Raspberry Pi
Website: --> https://sites.google.com/view/flips-cubicle/home <--
The website offers a download area. If you have Matlab, you can run the code and simulate the animations on your PC.
Facts & figures:
58711 lines C-Code (2.12 Mb in 75 files)
4717 lines of proprietary animation control scripts (140 kb in 32 files)
4507 lines VHDL (695 kb in 24 files)
1728 RGB LEDs + 1160 other electronic components
More than 13.000 solder points
910 drills and threads for 195 screws
Some details:
1) Hardware
- The display works layer by layer. Each layer is illuminated for roughly 0.3ms, resulting in a display rate of 280 Hz.
- The 144 RGB LEDs of a layer are controlled by 27 x TLC5940, connected via SPI to the Raspberry Pi (using DMA data transfer)
- The active layer is sourced through 36 FETs (IRF4905)
- The cube has two power supplies: a small one with 25W (for low power consumption / low heat dissipation at low ambient light) and a big one with 20A (for higher power at noon, fan cooling required)
- The two fans are PWM controlled and are activated if the CPU or the electronics (additional temperature sensor on interface PCB) need to be cooled. Voltage control keeps the noise of the fans at the level of a wristwatch.
- Two AD converters for audio inputs, temperature measurement, voltage & current monitoring, fan speed control, ...
- The AD converters, the fans, the power supplies are controlled by an FPGA (the FPGA also switches off the power supplies when the Raspi has shut down). The FPGA is also connected to the Raspi via SPI.
2) Software
- Each 10ms the RGB data is updated for 6 layers according to the current animations --> the recalulation rate for the complete cube is up to 50 Hz.
- If CPU is running short in complex calculations (eg. complex rubiks cube), then less layers are recalculated.
- The displayed "picture" results from software objects for various animation types (eg. rubiks, rain, 3d objects, ...).
- Color, position, scaling, rotation ... are transformed by a transformation object.
- These objects are created, parametrized, selected, combined (and removed) by a proprietary animation control script interpreter which is running online in multiple instances (one script per graphical object and one for the top level animation control).
- Example: The transitions (shift, tilt, ...) from animation to animation and even the fade up and down of the clock are parmeter variations of transformation objects controlled by the animation control scripts.
- For text display (eg. time) the software imports some true type fonts (*.ttf). The text is online interpreted as bezier curves and projected on the 3d surface of a cube, a sphere or a cylinder.
- Besides the graphic functions there are software modules for DMA control, fan control, power monitoring, failure report, failsafe operation and a website.
- After initialization all functions are scheduled in 10ms timer tasks.
3) Interfaces
- The cube itself has only a power switch on the front side (and an ambient light sensor).
- The cube provides a website for all other sorts of operation control: brightness, vividness, mode select, clock display rate, auto shut down by ambient light, ...
- For development purpose the website also provides access to parameters (eg temperature look up table for fan control, display gamma, monitoring thresholds, ...) and variables (eg voltages, current, CPU load, memory, temperatures, ...). It also provides a threefold graph for the course of variables over time. ("calibration tool").
- Eventual faults and events are reported in a report section of the website, failures are also sent to me by email.
- The cube can be linked to Matlab via TCP (display of Matlab animations on the Cube or vice versa) for animation development (MiL).
- Also the software modules can be compiled to a small console application which again can be linked either to the Cube or to Matlab (for software development, SiL).
Last but not least an advice:
Please do not reproduce this cube unless you have a socially acceptable place in your house for such a monster device and unless you have some years of spare time and approx 3000 bugs left to build it

Have fun with the videos on the website!
Flip