LED Cube 8x8x8

FeaturedContest Winner
Picture of LED Cube 8x8x8
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

Picture of Skills required
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.


i have a problem in compile


That is amazing! Beautiful work!

akumar984 days ago

I have a problem with my cube 8x8x8.

It is not booting at all and the status LEDs at pin no 16th & 17th of the AVR are toggling. I've checked my programming steps and fuse bits. Its all the same as uploaded on this site.

Plse help me out with this mess.

They are supposed to until you hit the RUN button or the SERIAL mode button.

Chances are, your circuit is fine!

mnopamin2 days ago

how can i change baud rate to 9600????????

ibt_robot8 days ago

i have problem with 74hc138


A=H B=H C=H work same A=L B=L C=B

led 1to8 turn on when led 56to 64 is on

how i can fix it?


it sounds like one or 2 of the address selector bits is off or connected where it shouldn't be.

Whit the 74HC574 and the 2N222,i can replace the 3mm diodes, for 10mm diodes whitout problem? i was thinking about the current, if it will be enought to get them on whiout burning de IC or the transistors.?

you'll need to check the specs of the LEDs. If they are in the 20-40mA range, it should be OK.

Blade122888 made it!5 days ago

OMG lots of soldering!!! So glad I got mine finished! Great Instructable!

msh13536 days ago

bravo, it's greet

cenac23120 days ago

ArticW0lf, I have the same problem

erreur test.hex.png

I finally figured out this problem, the whole "save it to where ever you want" is complete BS! You have to save the test.hex file to the same directory as what your command prompt is working off of, in your case save the file to C:\users\"user name" , that should fix your problem. although even though my IC will now run the program I have no lights coming on at all.

You need to specify the location of the hex file

that way ?
erreur test.hex2.png


I thank you for that clarification.

But I have an "invalid file format" error message :(

DSC_0082.JPGerreur test.hex2.png

try reducing the path. Save the file to c:\ or make a directory off C like C:\code

It may be just having issues parsing the path.

That does not work, I desperate ...

erreur test.hex3.png

Either copy the test.hex file to the directory where you are executing the command, or get yourself a copy of AVRDudess

AVRDudess gives you a Windows GUI interface to use AVRdude with, and lets you browse for the files you need to upload to your AVR.



I finally managed to send the program, I see the LED light along the X axis and then along Y. I'm happy =)

but some LED does not light up when it should

Great. I suggest next that you upload my code to the cube, then go here to diagnose any problems with your cube or control circuit.

I tried your code, but I have the same problem ...

I tried with AVRDudess

j'ai essayé avec votre code, mais j'ai le même problème ...

je vais essayé avec AVRDudess

Honestly though, it looks like your copy of the test.hex file may be bad. I would re-download it, or try one of my main.hex files from my instructable which also has the added benefit of having a power on self test incorporated into the code.

try reducing the path. Save the file to c:\ or make a directory off C like C:\code

It may be just having issues parsing the path.

Also, you can try downloading code from my page at

ryanto128 days ago

I noticed that the when using the MM74HC138 that the use of the Output Control for retaining data on the latches is not necessary. Instead of writing the data for the latches by latch # 0, 1, 2, 3, 4, 5, 6, to 7, if you go 0, 2, 3, 1, 5, 4, 6, to 7 then you only switch one "select" bit at a time, and none are repeated. So no messing around with any high impedance state or the OC. Then, after each latch has its data written, the floor's transistor is turned high and low to display the image, then the select bits are all made low since the latches are just going to be overwritten for the next floor anyway.

Doing this, I've only got 19 inputs and on the arduino uno (capacity of 20); it really helps not having a pin in the 0 slot (The RX slot, used for the USB conn to the computer), so I don't have to go disconnect anything just to upload a new program.

Anyways, great instructable.

nefcat9 days ago

Hello, when I download the schematic files, it's not .sch file, it's a .temp file so I can't open it. How can I get the .sch files please?

Is it possible to run tri-color LEDs using charlieplexing as opposed to multiplexing?

I'm a noob, but just thought I'd ask.

There aren't enough outputs to do tri-colour using the methods we are using here. I have changed to shift registers for my upcoming RGB cube.

Also I'd like to point out that what we are doing is actually DE-multiplexing. Everyone seems to call it multiplexing for some reason, and I don't know how that caught on. Look at the name of the 74HC138 - it's a DE-multiplexer.

Oh okay. Good to know. Thanks for the info!

kchauhan10 days ago

Sir nice work done. Sir can u tell me what is the total cost of this whole project ?

KrunoslavH10 days ago
Now i get it. Just could you give a little step by step how you uploaded the code with QBasic.
KrunoslavH14 days ago

Hi, this may be a stupid question, but i dont understand for what do i need a RS232 cable and how to program everything, I mean what to program with the rs232 and what with the usbtinyisp. Thanks.

please see my revisited instructable for detailed answers to your questions.

I went throw it a few times but i dont seem to find what program you are using and how to upload the code.

Everything you are asking is right there. You may have mistook this instructable for mine. Mine is the "revisited" instructable.

Would this be possible to make on a soder-less breadboard? I'm asking because I am going to start much smaller. (5x5x5) And would hope to add on in the future. Any info would be much appreciated-- thanks!

possible - yes. I have seen it done.


Get More Out of Instructables

Already have an Account?


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!