diff --git a/README.md b/README.md index af14176..fbe754b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,59 @@ +# 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) -This is the source code for the [Mini LED Cube (smd) project][1] as it is going to -be implemented during a workshop series. -[1]: http://www.cthn.de/projects/LEDCube +## 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