LED Cube 8x8x8 by chr
Contest WinnerFeatured
IMG_6445.JPG
Create your own 8x8x8 LED Cube 3-dimensional display!

We believe this Instructable is the most comprehensive step-by-step guide to build an 8x8x8 LED Cube ever published on the intertubes. It will teach you everything from theory of operation, how to build the cube, to the inner workings of the software. We will take you through the software step by step, both the low level drivers/routines and how to create awesome animations. The software aspect of LED cubes is often overlooked, but a LED cube is only as awesome as the software it runs.

About halfway through the Instructable, you will actually have a fully functional LED cube. The remaining steps will show you how to create the software.

A video is worth a thousand words. I'll just leave it up to this video to convince you that this is the next project you will be building:


I made this LED cube together with my friend chiller. The build took about 4 days from small scale prototyping to completed cube. Then another couple of hours to debug some faulty transistors.

The software is probably another 4-5 days of work combined.

 
Remove these adsRemove these ads by Signing Up

Step 1: Skills required

IMG_6413.JPG
At first glance this project might seem like an overly complex and daunting task. However, we are dealing with digital electronics here, so everything is either on or off!

I've been doing electronics for a long time, and for years i struggled with analog circuits. The analog circuits failed over half the time even if i followed instructions. One resistor or capacitor with a slightly wrong value, and the circuit doesn't work.

About 4 years ago, I decided to give microcontrollers a try. This completely changed my relationship with electronics. I went from only being able to build simple analog circuits, to being able to build almost anything!

A digital circuit doesn't care if a resistor is 1k ohm or 2k ohm, as long as it can distinguish high from low. And believe me, this makes it A LOT easier to do electronics!

With that said, there are still some things you should know before venturing out and building this rather large project.

You should have an understanding of:
  • Basic electronics. (We would recommend against building this as your very first electronics project. But please read the Instructable. You'll still learn a lot!)
  • How to solder.
  • How to use a multimeter etc.
  • Writing code in C (optional. We provide a fully functional program, ready to go)
You should also have patience and a generous amount of free time.

1-40 of 1920Next »
Mrjungleman says: May 14, 2013. 9:46 AM
can anyone tell me where to find the c files for the cube ?
please mail me Dwegke001@gmail.com
Geekaton says: May 13, 2013. 4:19 AM
good quality time lapse video of me making an 8x8x8 led cube with these instructables:
http://www.youtube.com/watch?v=gTZJOy70rrc

Let me know what u think!
Geekaton says: May 14, 2013. 8:27 AM
any thoughts?
domdomgin says: May 14, 2013. 2:01 AM
whats wrong with the circuit..
ThePast says: May 13, 2013. 7:07 PM
Hi everyone, i have aready finished led cube 8x8x8 with these instructable but it not work. I'm very disappointed... I don't know where it is wrong... :(
Could you give me this project (sch files, layout files, source code, ...)?. I want to make this project again.. It's really difficult for me.. Please please help me..
Thank you so much...
Mahmoud Basho says: May 13, 2013. 8:08 AM
Hii..that's interesting....can I play any word motion in this cubic?
Thanks
jenkycents says: Apr 30, 2012. 1:48 AM
good work ;)
could you please send me the hex file of this effect ?
I'm not good at math
jwestenberg says: Apr 30, 2012. 3:03 AM
You can download the hex files from step 48 and 64.
jenkycents says: Apr 30, 2012. 4:16 AM
ok i found the effects thanks .

But now I can not compile the hex file.

i have only the c files
jwestenberg says: May 1, 2012. 12:05 AM
You have to download winavr. After you have downloaded and installed you can open and compile the files in the programmers notepad.

It ain't that hard to figure out.
jenkycents says: May 1, 2012. 3:50 AM
how can I do to make the effects of the "PC Software" without a PC?
bpark1000 says: May 12, 2013. 12:34 PM
Contrary to what jwestenberg says, you can! And easily! Keep in mind that all those "complicated" functions such as sin, cos, etc. need only need be "calculated" in low resolution (+/- 1/8) for a cube such as this. You can do this with lookup tables. Simplest angle unit to choose is 1/256th of a revolution per count, held in a byte. 256 bytes of table do for both sin and cos functions. The "problem" is that "nowdays" everyone programs in C, and tables can be done, but somewhat awkwardly, and the code runs slow! The way I would do this is in assembly. I have done this not for a cube, but for an X/Y laser projector, where my "cube" is 256 x 256 x 256. The worst limitation on Atmel processor is not having a lot of RAM (I have 32K of RAM in my system, 8-bit, 6MHz 65816 processor). 100% of code is in assembly, about 4K of code, and 600K of tables (512 K are for unsigned and signed multiply, which my processor doesn't have). Speed is fast enough unless you want to "stack" functions, such as morphing between 2 rotating objects. The other difficulty with Atmel processor is the Harvard architecture which makes writing assembly more difficult. I would choose a register-based Von Newman processor such as 65816 (RAM and ROM are external) , 6808 (RAM small), TI430 (but there is a voltage problem with that one). Now I would use a Renesas M32C/87 (>32K RAM, many megs flash, 5V power bus, 32M machine cycle rate). I would have it working now but I find myself fighting with the way too fancy assembler "librarian".
jwestenberg says: May 1, 2012. 4:41 AM
You can't
jenkycents says: May 1, 2012. 5:11 AM
so how i can execute the software ?
jwestenberg says: May 1, 2012. 6:25 AM
You can only do this on a linux operating system since no one ever got this working in Windows.
So you need to unpack the file open the folder in terminal window and type "make" .
This makes an executable file for linux.
After that you have to type ' sudo ./cube' to execute the file you just made.
jenkycents says: May 1, 2012. 9:16 AM
ok thanks ;)
jenkycents says: Apr 30, 2012. 3:37 AM
i'm looking for the wave , the ripples and the fire works effect hex . i dont found it :(
ristdaro says: May 7, 2012. 6:29 AM
Compile the following attached file, Thanks to triumphtotty for the code. It gives you all the waves and ripple effects running directly from the ATMEGA32

ristdaro says: May 7, 2012. 6:30 AM
Sorry didn't work the fist attempt

Here is the file again.
jenkycents says: May 7, 2012. 5:23 PM
works perfectly and has other effects! o.o
ristdaro says: May 7, 2012. 12:15 PM
Triumphtotty posted the code a while back. If you read through the earlier messages he explains how you can amend the code to create your own variations. You will probably want to change the text from my initials "RR" to your own for instance.
Open Launch_effect.c in programmers notepad and amend case 20. You will see "RR and "LED CUBE"

If you read Triumphs messages he explains how to change some of the more interesting effects.

Have fun
jenkycents says: May 7, 2012. 4:38 PM
thanks so much ;)
jenkycents says: Apr 30, 2012. 2:10 AM
the effect 1,2,3 and 4 . thanks
dpopov5 says: May 11, 2013. 11:42 AM
Can u hang it from the ceiling ?
espongy says: May 11, 2013. 10:52 AM
What are the components that were not used because of the Arduino? i.e. crystal
rrussis82 says: May 10, 2013. 9:58 PM
Triump, I have read about MSGEQ7 chips to make things respond to music, is there any way to incorporate that into these boards or at least into an Arduino to make this cube respond to music, maybe using a mode selector button to change from the programmed loop to a mode that listens to music and makes the cube into a spectrum analyzer? I am just learning, or trying to learn, programming. some other sites I've visited to research this shows using an ATMEGA 8 as a slave to the ATMEGA32 and with the MSGEQ7 to the ATMEGA8. could that work with this circuit and how?
SuperTech-IT says: May 9, 2013. 11:46 PM
For anyone that is following my build, I decided that all the drivers are going to be on one board, so that it will be easier to connect any other micro-controller to it (Atmel, Arduino, TI, whatever). This is the current layout (un-wired, but it's all planned out [I think] ).
CIMG1685.JPG
skadoosh619 says: Aug 5, 2012. 4:57 AM
Do we ever need to glow 512 leds at the same time, which takes almost 5amps.
SuperTech-IT says: May 9, 2013. 11:38 PM
No. Although it's technically possible with this circuit, with the program it's using 64 at a time is the max.
kcbaltz says: Jan 14, 2011. 2:46 PM
Just a thought for getting the LEDs to come out nicely. Think garlic press cleaner:

Using the board with the holes already drilled as a drill guide (the soldering jig board), you could drill into a second board below but not all the way through. This will be the "cleaning board". Then, find a wooden dowel with a slightly smaller diameter and cut lengths equal to (thickness of board with through holes + depth of non-through holes in the other board) and place these dowels in the hole. Then, when you're done soldering, align the solder jig board over the "cleaning board" and press down to poke out all the LEDs at once.
markbanang says: Jan 24, 2011. 4:02 PM
It might be quicker to make a jig using a pair of thinner bits of wood, with the top layer about the thickness of about half to three quarters of the depth of your LEDs.To make the jig, clamp them together and drill into both bits. When you're done, remove the clamp and you have a two part jig.

Then, make up the layer just as described, using both halved of the jig to hold the LEDs. When you are done, separate the two halves, popping the bottom layer off first. Then put the upper layer on a flat surface and push evenly across the board to pop the LEDs out of their holes.

Let the LEDs be their own dowels. *8')
SuperTech-IT says: May 9, 2013. 11:35 PM
I made a jig out of cardboard (found a screwdriver the exact size to poke the holes). Then after you just push up on the LEDs from below.
CIMG1632.JPGCIMG1631.JPGCIMG1633.JPG
Joohansson says: May 3, 2013. 11:03 PM
That is amazing! Beautiful work!
the_burrito_master says: Oct 10, 2011. 10:35 PM
64 LEDs x 20MA = 1280MA Guy's just go for 1500-2000MA transistors and you'l have no trouble with double transistors.

Personally I've never used more than 15 leds on on one transistor so I had no idea they'd get dim like that, interesting, I thought the transistor would have just been over driven and put off a fireworks show.
SuperTech-IT says: Apr 29, 2013. 4:29 PM
I was almost ready to comment that since we are rapidly flipping from row to row, we only have 8 LEDs at a time on each transistor, but then it hit me that the 74HC574's latch their data and hold it - so yes you could have all 64 LEDs in a layer on at once. So if you have been making your calculations based on 8 LEDs - take note here that the 64 LED calculation is better and safer.
the_burrito_master says: May 2, 2013. 10:59 AM
Vallad statement thanks. I'm not entirely sure how anything else than the amplification circuit works on this thing.
the_burrito_master says: Oct 10, 2011. 10:45 PM
http://www.mouser.com/ProductDetail/Fairchild-Semiconductor/KSC2500CTA_Q/?qs=sGAEpiMZZMtvtNzZ3W%252bLwKi4g93EPApRYpDSR8f9%2f4Y%3d Should work. cant beat a 10 cent 2 amp transistor :D
rrussis82 says: May 1, 2013. 1:50 AM
how could I integrate an MSGEQ7 chip into this to make the cube respond to music?
timmer2 says: Feb 24, 2012. 7:43 AM
How about using a TIP120 NPN darling inplace of the two transistors?
SuperTech-IT says: Apr 29, 2013. 4:21 PM
Yes, but not for the reason you might think. It's not that you need a pair of transistors (a TIP120 Darlington being a high gain Darlington pair [2 transistors in 1 package] ). The reason this instructable uses 2 2n2222 in parallel is because a single 2n2222 cannot handle the required current.
The TIP120 can handle 3A continuous current through the load, which is more than enough for 8 LEDs. Any NPN transistor that can handle 500 mA - which is cutting it close or not enough (depending on the value of your current limiting resistors). Pretty much any NPN transistor that can handle an amp (1 A) or more will work fine.
1-40 of 1920Next »
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!