# Mini LED Cube A 3x3x3 LED Cube, originally based on [Paul Wilhelms project][2] with USB and a lot of new features. An AVR (attiny2313 or attiny4313) with [V-USB][3] (software USB stack) controls a matrix of 3x3x3 LEDs which forms a 3D cube of LEDs. Every LED in this cube can be controlled independently over a simple protocol. Various tools (commandline-tool, 3D OpenGL editor) can be used the create animation sequences or use the cube as a [XFD][4]. ![pcb](/doc/miniledcube-smd.png?raw=true) ## Building The project has two parts: The LED Cube and the controller PCB. Both parts can be build completely separate. * The Cube is a little bit tricky to solder. To see which wire should be bend and solder in which direction, use the [3D STL model][12] for reference. To see more detail, install [OpenSCAD][13] and load the [threedvis.scad][14] file. * For the PCB there is a [detailed instruction plan][11] available. The instructions include soldering the parts, testing, flashing the firmware and setting the fuse bits. ## Tools * The [client lib][5] is a simple interface for other software implementations. Have a look at the [demo.c][6] file how to include the lib into your own project. * A commandline client [clcc][9] can be used to control the cube interactively over the commandline. Various commands can be send to the cube, see [the sourcecode][10] for explanation. * The [3D OpenGL Editor][7] is using the client lib mentioned above. The editor shows a 3D representation of the LED cube and can be moved with the cursor keys. All virtual LEDs can be clicked wit hthe mouse to toggle it on or off. * To use the cube as a XFD (number of mails in INBOX, finished tickets today, incomming phone call, number of missed chat messages in an IRC channel, ...) you can use the [frame2cube.pl][8] script to send a complete frame to the cube. [1]:http://www.cthn.de/projects/LEDCube [2]:http://mosfetkiller.de/?s=miniledcube [3]:http://www.obdev.at/products/vusb/index.html [4]:https://www.google.de/search?q=extreme+feedback+device [5]:https://github.com/CTHN/Mini-LED-Cube/tree/master/client [6]:https://github.com/CTHN/Mini-LED-Cube/blob/master/client/demo.c [7]:https://github.com/CTHN/Mini-LED-Cube/tree/master/editor [8]:https://github.com/CTHN/Mini-LED-Cube/blob/master/tools/frame2cube.pl [9]:https://github.com/CTHN/Mini-LED-Cube/blob/master/client/clcc.c [10]:https://github.com/CTHN/Mini-LED-Cube/blob/master/client/clcc.c#L34-L44 [11]:https://github.com/CTHN/Mini-LED-Cube/blob/master/doc/aufbauanleitung.txt [12]:https://github.com/CTHN/Mini-LED-Cube/blob/master/doc/threedvis/threedvis.stl [13]:http://www.openscad.org/ [14]:https://github.com/CTHN/Mini-LED-Cube/blob/master/doc/threedvis/threedvis.scad