Skip to content
LED cube demo application
Python OpenSCAD
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


3D cube demo patterns

Supports both an internal OpenGL renderer, and driving an external LED cube.

Requires numpy (python-numpy pakcage on Debian-like systems).

The OpenGL renderer requires pygame and pyOpenGL (python-pygame/python-opengl)

The default target is the the OpenGL renderer, and will cycle through all patterns in a random order.
You can connect to to an external cube/simulator with --port hostname:portnum

A particular [set of] pattern(s) can be selected with the --pattern commandline option.

New patterns can be added by by placing a new python file in the patterns/
directory, which implements the 'Pattern' class.  The 'init' function is
called when the pattern is started. It should return the delay between frames.
For every frame the 'tick' functin is called.

The image is set using self.cube.clear and self.cube.set_pixel. To avoid
flickering, double buffering can be enabled with self.double_buffer = True.

The easiest way to get started is to copy and modify and existing pattern.
fade and wave are probably good starting points.

Installing pygame on a Mac is apparently much harder than it should be.
Mac users may be interested in the node/webgl cube emulator at
You can’t perform that action at this time.