Instructables
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 2737Next »

which resistor is used in 9th pin of atmega 32 for reset the atmega?

trifon168 days ago

Awesome project. Thanks for this great intructable!

Hi After I finished the cube and run it .it be so good with a small problem that the first row play but still light Most of the time.

PLZ help me in this problem

godofthunder7 months ago

Hi,could you solve a mystery for me,on one of your schematic layouts,i am trying to figure out what wire goes to what pin from the sv1 to the 74HC574N chip i have the numbers 7 to 14 on the sv1 but the chip in which to wire too has the numbers in a way i can't work it out,the data line has D0 to D7 but the chip is marked 1D to 8D,as on your other schematic of the main programming board i see all the connections,if you follow what i am getting at,so could you help me and tell me what number of the sv1 pins go to what number pins on the 574n chip or do me a diagram please so i can finish my board,and move on to the cube itself.thanks....my e-mail address is sonofodin1@hotmail.co.uk.

D0 goes to 1D, D1 goes to 2D, D2 goes to 3D and so on. I Realize that it is probably too late, you posted this six months ago, but just in case it answers the question for others. Also, don't forget that D0 gets connected to EVERY 74HC574 1D input.

Hi, I have since built the circutry and the cube,? But now I am stuck on the programing part, as I have nevver used command promt before, as the coding on this instructable isn't covered in detail onhow to write code, so my project is on hold now, I even tried searching for a tutorial on using command promt, but as of yet not found anything to help me, I now have a useless cube because of this not being covered in better detail, but thank you for your reply anyway, it would be good if someone did a tutorial on instructables on how to use c-coding, thanks again.
hi supertech,
i have received the ecxell chart for your wiring ect,just one thing bothers me,if you look at the first board with all the 574n's on it and look at the header pins you have the orange wire first,that goes to output enable,secondly the next wire/s (green).which would be pin number 2 ( D0 ) this wire is seen on your board connecting to header pin number 7,so what i am saying is the chart you have done tells me it connects to pin number 9,sorry if i sound dumb,but not sure on the configurations you have set out,could you solve this for me,thank you for your time as I'm sure you must get allot of queries with your design,thanks again...........Dave.

Firstly, this is CHR's design, not mine. I simply expanded on his design.

Next, the orange wire IS NOT the first wire on the header, it's the sixth.
There are 5 blue wires first, then the orange wire is the 6th, THEN it gets into the green wires.
Remember, when you are looking at a microchip, pin 2 is next to pin 1, but when you are looking at a header, pin 2 is above pin 1.
Then of course you have to remember which pin is which when you flip over the board because it will be mirrored in at least one way.

So, in looking at the bottom of the board, the HEADER is pinned like this
1357....
2468....
and the colours are (B=Blue, O=Orange, G= Green)
BBBG.....
BBOG.....

The chart you are looking at is 100% accurate and reflects this completely.

If looking at the wiring on the board is confusing you, stuck to the chart. That's why I made it. If the chart says ATmega32 pin 1 goes to header pin 3 which goes to 74HC138 pin 1 - then that's exactly how it's connected regardless of what you may interpret the wiring on the board to look like. The chart is also a guide to check your work with a continuity meter once you have completed your work.

Remember, if you aren't able to build the circuit in the end, but still very much want to complete this project, I do have printed circuit boards available.

TO DOWNLOAD THE .SCH FILES, just change the extension after downloading them to .SCH, then you can view them in any schematic editor that works with .sch format.

Awesome Instructable!! I NEED HELP though Please! In the schematic for the AVR board, the transistors that go to the layers have resistors hooked up to the ground layers, and those resistors are hooked up to VCC. Is that correct or was that a mistake in the schematic. They look like pull up resistors, but since the layers need to be grounded in order to light them up, what is the purpose of those resistors? Nothing was said about them in the instructable.

1324itouch27 days ago

Thanks so much for this instructable! I made the cube using arduino and got the code to run perfectly with the cube. I am just wondering if it would be possible for you to post the full code you have running on your cube for arduino. I know you have arduino code already posted, but I'm asking for the whole code with all of the animations rather then just the few you put on the code. Thanks so much!

Panda6129 days ago

Hi Help me pls, I have some column wrong, what it could be???

http://youtu.be/J2GtJJLI1Jg?list=UUbj2Y7xdvt-hi4_lmvzbZtg

zeevy1 month ago

Hi, Want to build another cube with led sink driver STP16DP05, with PNP transistor for layer drivers ( using SPI interface )

since STP16DP05 has active low output, what will be the best way to invert the cube contents in software

3alaawi1 month ago
Also, if i were to replace all the leds with rgb leds, would this change anything other than the software side of the project?

This project's cube has 64 anodes and 8 cathode (layer) connections. 72 total connections to be controlled.

The typical RGB cube has 172 plus 8 for a total of 180 connections to control.

So, ya - it's way different.

I mean unless you just use one colour of the LED and just clip off the other connections.

And I seriously wouldn't recommend this as a first electronic project - ESPECIALLY if you are planning to use it as a school project. I have seen way too many people do that, and were it not for me spending many sleepless nights helping those people, they would have failed completely.
Experienced people have trouble building this circuit by hand and making it work - which is why I developed printed circuit boards for it.
That was the only way to bring this from an advanced level project to a beginner/intermediate level project.

3alaawi1 month ago
I see you listed three prerequisite knowledge requirements (im excluding the C code). Do you mind giving suitable links for guides/tutorials on these to the level that is required for this project. I want to go against your recommendation and build this as my first electronic project :D
pankaj7772 months ago

hello sir thanks for your guidance i made it......but in my cube
font is not showing right......the middle part of cube is off and both
side is running when text run.(stringly2 effect) and other text and
animation n bitmaps are run wrong........how can i solve this.......

i also program .eep file in atmega eeprom and able to access it but not getting proper text msg.....&.and animation

i am programming the controller with universal programmer topwin6

i am sending the images please check the fuse byte.....

plz tell me what to do now.......

topwin6.jpgtop2.jpgtop1.jpg

I can't say about the program you are using because we don't use it.

Maybe you should try using AVRDudess. It's a Windows GUI for AVRDude.

i set all the fuse bits according to inscrutable but still the font is going wrong.....i will send you the video of cube plz will tell me how to solve this.

thank you,

Not just to make sure the fuse bits are right, but also to make sure everything is uploaded in the right order. If you upload the EEP before the HEX, then it erases the EEP. ALSO - this happened to me more than once - download a new copy of the EEP. I had mine get corrupted before.

sir eep is also working........i am sending you the video of my cube please check what is the problem in letters.

can't see the video - says it's still processing.

However, I will re-state that unless you are using AVRDude and/or AVRDudesse, I can't help you. I will not spend 5 days of troubleshooting only to find out it's some incompatibility with your program. Until we eliminate your software as a possible source of the issue, I simply cannot warrant investing the time in this issue.

sir one last time only see the video and suggest me what to do now..... i upload it on you tube please see it......and i only upload the text msg portion in this video.......

That really tells me nothing. If you want to make a video that I can use, upload my code onto your cube and video the ENTIRE Power On Self Test.

http://www.instructables.com/files/orig/FCO/FZ0P/H...

the complete codes are on my page here:

http://www.instructables.com/id/CHRs-8X8X8-LED-Cub...

ok thanks sir

i will try this also

and i will send u another video.......

Well, it tells me little more than you very likely have your 138 wired wrong. it looks like the outside edges of your cube are running down the middle.

zeevy made it!1 month ago

With:

3mm diffused blue led with 17 to 19 mm lead length

74HC164

BD139

80PIN IDE cable

No RS232

WP_20140926_004.jpgWP_20140929_001.jpgWP_20141008_007.jpgWP_20141008_008.jpgWP_20141009_002.jpgWP_20141009_004.jpgWP_20141009_007.jpgWP_20141009_012.jpgWP_20141011_001.jpgWP_20141011_006.jpgWP_20141011_007.jpgWP_20141011_010.jpgWP_20141011_011.jpg
zeevy zeevy1 month ago

Programmed the ATMEGA32A with raspberry pi GPIO SPI ( with avrdude )

Programmed the ATmega32A with a $3 USBasp using AVRDude.

Then I expanded on this design and added music trigger input.

Black Edition Base.jpgCIMG2875-2.jpgScan_Pic0038.jpgCIMG2850.JPG

http://www.youtube.com/watch?v=xQkfUhMzaI4

MR ZEEVY THATS VERRY GOOD.I THINK YOU RA GOOD OF WORLD OF LED ...

zeevy1 month ago

I am going to use 74HC164, do i need to change the wiring to the cube or rotating the cube 90 degrees will just work?

This project doesn't use shift registers at all. Very little in this project will pertain to yours.

Hi thanks so much for the great post! And so kind of you to continue to reply to comments after three years :)

I'm just wondering if you could please expand on the transistor problem you had? I'm very much a beginner... just wondering, given the chance again, what steps you would follow to a) select the correct "single transistor" solution, and b) how you would go about diagnosing the initial problems you had?

e.g. i suppose a multimeter could tell you the current going in to base vs the current from collector to emiter? Or the datasheet on your choice of transistor would tell you the current to expect? ... Just wanting some general thoughts on the issue I guess, perhaps i'm too much of a beginner to make this a specific question :)

If I understand the problem... a transistor "takes a small current in to base to enable a large current from c to e" and that relationship is a ratio (i.e. increase in to base = multiplied increase from c to e), is the problem you had that the "multiplier" (for want/lack of a better word) from the IO current going in to base, was still not sufficient to handle the current needed for the layer going from C to E? Thanks for your help, Simon

I use single 2N2222 transistors for each layer. I explain how and why in several comments in this instructable, and again in mine.

I'm fairly new to this but I'm making a 4x4x4 cube based of your instructable. I've soldered two layers together with no issues. Checked all my leds before and after soldering each layer. And then check each again after soldering the layers together. I got to my third, soldered it on, and that's when I started have issues. My tail end I stuck my negative on and went to test the first led which wouldn't light up. I then checked all the others, all of them work. So I took the one non working led "unsweated" it and rechecked it off the cube, and it worked again. So I soldered it back on and checked it again. It still wont work. I checked, double checked, and triple checked to make sure I didn't solder any of the anodes to the cathode. None of them were touching. I'm not sure whats up. Any ideas why it won't work on the cube?

If it's just one LED, it may simply be defective. This can happen by heat damage, or right from the factory. Just replace it.

wdariusw2 months ago

Hi everyone! Very nice instructable. I made that cube but i have some issues and do not know how to fix it. There are some ghosting in a test.hex program. And in the first effect seems to be all layers inverted, empty layer goes from bottom to the top. Sorry for my bad english :) Here my video link, please help ! Thanks ! :)

https://www.youtube.com/watch?v=I81OQtPZEco

1-40 of 2737Next »