# 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) with [V-USB][3] (software USB stack) control 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 to create animation sequences or simply use the cube as an [XFD][4] device. ![pcb](/doc/readme_cover.png?raw=true) ## Building The project consists of two parts: The LED cube and the controller PCB. Both parts can be build completely separate but need to work together. * The Cube is a little bit tricky to solder. To see which wire need to 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. (Be careful, this file is for the through-hole version of the PCB) ## 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 with the mouse to toggle it on or off. * To use the cube as a XFD (show number of mails in INBOX, finished tickets today, incoming 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/okoyono/mini-led-cube/tree/master/client [6]:https://github.com/okoyono/mini-led-cube/blob/master/client/demo.c [7]:https://github.com/okoyono/mini-led-cube/tree/master/editor [8]:https://github.com/okoyono/mini-led-cube/blob/master/tools/frame2cube.pl [9]:https://github.com/okoyono/mini-led-cube/blob/master/client/clcc.c [10]:https://github.com/okoyono/mini-led-cube/blob/master/client/clcc.c#L34-L44 [11]:https://github.com/okoyono/mini-led-cube/blob/master/doc/aufbauanleitung.txt [12]:https://github.com/okoyono/mini-led-cube/blob/master/doc/threedvis/threedvis.stl [13]:http://www.openscad.org/ [14]:https://github.com/okoyono/mini-led-cube/blob/master/doc/threedvis/threedvis.scad