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.

1-40 of 2601Next »
bawwa2 days ago

Hi, Can I change the 2N2222 transistors with an ULN2803. This makes the circuit simple. If the current is an issue we can use two ULN2803 isnt it? Thats about 1A max current draw per layer. Am I wrong?

Can the LEDs be colorful
Jaapst27 days ago

Is it possible to skip the RS232 module because my laptop is not a RS232 capable device. And if so, what will be the result of this change and which parts could be left out? Is there a way to use another port of my laptop (Usb/Thunderbolt) to have the same result as the RS232 module? Thanks in advance.

You can eliminate it completely which takes out the MAX232 and all components that connect to it (Except the ATmega32A of course). The downside is that you won't be able to send animation frames directly from the laptop to the cube. All the standard animations that are uploaded to the controller will still work fine. In the case of people using my printed circuit boards, I already did that, and simply have an RX, TX and GND tied directly to the microcontroller so you CAN use a USB to TTL serial adapter (these are typically $3) or just not bother with the serial communications at all (like most people do). Also in the case of my PC boards, the music input mode also continues to function without it. For THIS instructable, you too can simply run RX, TX and GND pins to the microcontroller and use a USB to TTL serial adapter instead of going full blown RS232 serial.

can you mail me the ccircuit diagram of this project using atmega16/32

It's in step 30.

Thanks for d reply

I've seen the circuit diagram but its in two parts So I'm not able to understand it specially the 2nd part.

jpeeples163 days ago

Just curious about what type of wire i should be using for connecting the power to the layers, and also for the loose wires that hook pretty much everything else up on the prototyping PCB. If you could help me out that would be a great help to me and my friend who are working on this project together.

vikzagrohi4 days ago

hey i want to make this project can you mail me the circuit diagram .... i went through the report but could not find the complete circuit diagram...... help me out ASAP..... mail me at

yurka33312 days ago

Since this instructale is more active than 4x4x4 LED Cube, i'll post my question also here :) This question related to 4x4x4 cube:

If all leds will be turned on, wouldn't they all consume (4*4*4)*0.012A=0.768A? And what will be with microcontoller, when its allow max 200mA at once?


inkas yurka33310 days ago

No, they won't. 8x8x8 cube draws at most 700mA when all the LEDs are turned on. 4x4x4 will draw less than 400mA I think.

inkas inkas10 days ago

and even less when running animations

yurka333 inkas8 days ago

Thanks for responce. Does they draw less current cause they are like blink with high speed?

Hi yurka333, there is only ever one layer of LEDs on at any one time, this is achieved using multiplexing. If the first layer is fully on, it turns off, the data is updated for the second layer, the second layer is turned on, then off, data for the third and so on until it reaches the top and starts again. Because its doing this so fast our eye perceives that the whole cube is lit due to Persistence of Vision (POV)

Because of this, only one layer is on at any one time which in the case of the 8 x 8 x 8 cube it 8 x 8 LEDS which is 64. If they all draw 12mA each then that will be 768mA max current at any one time. A 4 x 4 x 4 cube will only ever have 4 x 4 LEDS which is 16 at any one time, at 12mA each that will be 192mA max.

Hope that helps :-)


Thanks for your reply. Thats exactly what i was thinking about. :)

Mayoogh, The value of that resistor is 100 ohms (assuming your talking about the one that is almost touching the xtal).

KrunoslavH10 days ago

Hi, what software are you using for the effects in steps 56(57??) - 62 and what in the PC Software section (for RS-232) ? pls answear, Im building it but i dont know how to program anything!!

valexa10 days ago

I am Alexander Vasilca and I am 10 years old.I built 3x3x3 cube led with atmega8 and I have not the hex file.Can anyone to send me the hex file?

Thank you very much!

rpotts210 days ago

on step 72, how do you come up with 21? 8+8+3+1 is 20. do you just mean you have 1 extra available on the arduino uno?

ola alguém pode mim ajudar com a pinagem para ligação do Arduíno uno, pois ja montei todo o cubo e nao sei como ligar no arduino.

i got the solution

simply download the .tmp file

rename the ext to .sch

open with eagle n it works

hiiii cant download sch files...

can u please email me..

hiiii cant download sch files...

can u please email me..

hiiii cant download sch files...

can u please email me..

ibt_robot16 days ago

how can i change program

plz help me


inkas17 days ago

What's the value of resistors going to the VCC after the transistors? In this tut resistor network is used, what value is needed if we use separate resistors? Are they also 1K?

jmh4741 month ago

So im thinking of making this type of cube myself and im thinking of using this kit off ebay could anyone tell me if its any good please thanks all if it is any good what else would i need to get to connect it to the arduino uno or arduino and where also to get the code, im a noob to this sort of thing but i to have basic electronic skills as im an electrician but its more houses i do so any help would be grate

I cannot comment on the quality of a kit I have never seen, however I will say that if you are using someone else's kit, then people like me won't be able to help you if you run into problems. This is why I make PC Boards for this project for people that don't want to or are unable to hand wire the circuit.

inkas1 month ago

Can anyone explain is the RS232 module necessary? We flash the microcontroller with USBTiny or USBasp, why do we need RS232 conenction? Also what supply this project needs, is 5V 1A enough? How about 5V 2A? If 5V 1A is OK, what restors do I need for 3mm LEDs? Thanks in advance.

The RS232 is so you can link the cube to, and control it from, a PC or other RS232 capable device. There are many projects on the web that use PROCESSING or some other language to communicate with the cube. 5V 1A is adequate. Resistors should be between 100 and 330 ohms.

if the current through the leds is 20mA, we have 64 LEDs per layer. if we suppose that all the LEDs are on, then 64x20 = 1280mA. I wonder why 1A is enough?


1) you are using the DC current - we are not running the LEDs that way
2) see #1

CHR made the same mistake you are making in that we never ever leave the LEDs on so the DC current doesn't apply. The easiest way to think about what we are doing is to consider the LEDs to be pulse width modulated. We only have them on for about one half of one interrupt. We keep them on long enough that they don't APPEAR to be dimmed much - but in fact they actually are dimmed by this effect. The end result is that if you fill the cube (ALL LEDs ON) and leave it full (no animations) the cube and the circuit together draw typically 700mA or less. When it runs animations, this drops to between 170 and 250mA. This is why we encourage people to read ALL the comments if they can when making a complex project like this - as I have answered this question many times in detail, and actually have an entire section on this matter in my "revisited" instructable where I explain why a single 2N2222 transistor is more than enough per layer, and video demonstrate the point by turning the whole cube and controller on and off with a single 2N2222.

Hi. I read the "revisited" instructable and read your explanation and checked the video and it really drains not more than 670mA. But I really can't understand why. Maybe I am missing some basics in electronics. I also read lot of stuff but all day I can't understand why. I think lots of people wonder why it drains 670mA instead of 1280mA. Can you make a tutorial for this point, or at least show a video with simple explanation (with a breadboard, testing 5-10 leds), step by step why is this happening? Any other video examples with explanation would be great for everyone.

I can't make it any clearer than I did already.

If you feed an LED a pulse that is on 100% of the time, and off 0% of the time (DC) it will draw a certain amount. If you then feed it a pulse that is on 50% of the time and off 50% of the time, then obviously your current flow will be less. This is why we appear to be able to DIM an LED by feeding it a PWM signal. I'm sorry that you don't get this simple fact, but I really really did explain it as completely as humanly possible. Maybe you should conduct your own experiments - OR you can simply just accept as a fact that it draws less than it's DC rated current simply because we are feeding it pulses and not DC.

I would suggest this video I found. Explains very well how PWM works. This makes things clearer.

Jindo1 month ago

Hello !! I don't know where codes on PC are store to send to ATMEGA chip ??

valexa1 month ago

My name is Alexander Vasilca, I have 10 years old and with my father and I built LED cube 8x8x8.

I noticed that hex software shown in Instructables is not the same as in the video. Some 3D effects are missing.

I respectfully please send me the full version of this software hex


Thank you, and look forward to your response

The reason for the discrepancy is that some of the effects shown were driven from a PC and are not part of the internal animations in the HEX file. You will need to go through the Intructable more carefully, and find the processing code and read up on the RS232 communications in order to be able to produce those effects. In my code, I did manage to import a couple of the external effects and they are part of my hex file, but a couple of them are just too complex for the ATmega to run on it's own effectively. Also, you should NEVER post an email address in a public forum unless you REALLY like spam!

frankawi made it!1 month ago

ITS DONE!!! my first ever project like this :) took a lot of reading in other areas to understand the programmer and micro... but its working...

2014-06-19 00.21.52.jpg2014-06-19 00.22.00.jpg20140619_002153.jpg20140619_002201.jpg

Congrats on making it through and completing the project by hand!! Not an easy task, and something to be quite proud of. I looked up "overkill" in the dictionary, and saw your power supply there! LOL! If you want to make your life a little easier, get one of those iPod power adapters that supply 5V at up to 1A. They are small, and cheap. If you ever want to build another using PC Boards let me know. Also, it looks like your cube may have some small issues. Load it up with my code so that you have access to the power on self test, and can then go through the troubleshooting steps in my "revisited" instructable.

1-40 of 2601Next »