CHR's 8X8X8 LED Cube Revisited with improvements!

Picture of CHR's 8X8X8 LED Cube Revisited with improvements!

See step 17 for more info regarding the music input mode for non-RAMP boards.

There are now 7 music modes in the posted code, and I am looking for more ideas for animations or music triggered effects !

See step 18 for my latest released PC Boards and features!

See step 19 for the most recent or upcoming design previews and demos.

I want to acknowledge that so many here contributed ideas and support, and although there are too many to name now, I did want to acknowledge my gratitude for all that contributed to the project.
I am so happy that the printed circuit boards I developed helped those that wanted or needed them, whether they had put in months of work, and just couldn't get the circuit working,just wanted to eliminate all those wires, wanted a PC Board but didn't know how to design them, designed a circuit board and then realized how expensive they can be to have fabricated, didn't know how to read schematics, were up against a school project deadline, or just loved the added features like the music input and remote control - I am happy that so many were able to benefit from them.
I myself was so taken with the original project, that if I didn't have the knowledge or skill or resources to design a PCB, or wire up the circuit myself,I would have gladly bought a board if they were available.
Unfortunately, none were in the original instructable by CHR when I had first seen it. If you couldn't hand build it, you were on your own, and I felt very sorry for those that tried and failed, or didn't even know where to start.

PLEASE DON'T ASK FOR EAGLE FILES for the PCBoards. It wasn't designed in Eagle, so there aren't any.

Now...on to the instructable.

I was immediately enthralled with the LED Cube instructable by CHR .
I am going to give a piece of advice I saw there that made a lot of sense. READ EVERYTHING including all the comments.
Often there is information and answers to questions that may answer a question you might have.

I thought "I COULD MAKE THAT" (and I did, making little improvements along the way) - but I took it a step further, and decided that I would try to make it so that almost anybody could make it as long as they could solder and could tell the difference between the different parts.
That is the reason I created the PCBoards to control the cube, and eventually even a Cube Base Board which all but eliminates the point-to-point wiring from the project. I loved the project but hated all the messy wires everywhere.
I have also supplied demo code (both the original code and many of my modifications), and clickable AVR initializer and code uploader utilities to get the code onto the board quickly and easily for those that aren't comfortable with dos-prompt based utilities like AVRDude.
There is also a pinout / connection chart that you can use to design and troubleshoot your own board using the Arduino, ATmega328P, or the more capable ATmega32 microcontroller for extended functions.

The hardest part is building a cube that is straight and square. I will be addressing this first.
If you use my construction methods, your cube should be as straight and square as in photos above.

I have a good electronics background, so I immediately wanted to build one of these cubes the second I saw it.
The more I got into it and read the comments on his well documented instructable, the more I thought I might be able to help people with less of an electronics background understand exactly how this thing actually works, and troubleshoot problems.
People were asking all kinds of questions long after people that really knew the circuit stopped answering them, and I found myself answering questions in his instructable on a fairly regular basis.
Finally, I knew enough to make what I hoped would be an easier to understand instructable.
Not only that, I have made a few improvements along the way as well, and eventually even PC Boards for myself, and got extras for those that might also want them

As I start out, I realize I will be "winging it" a lot here, so forgive me if I am unclear at any point, and feel free to ask questions.
If you see ANODE written where you know it should be CATHODE - or vice-versa - let me know. Sometimes I get tired when writing and get electronic dyslexia, and mix them up. I have tried my best to proof read my instructions to make sure this hasn't happened.
Try to keep in mind during construction that there is one cathode connection per layer, and 64 anode connections.

I will ask however that if you are getting ready to build one of these, Especially if you want to build your own circuit, that you go through CHRs well documented instructable FIRST, and then read through this one.

Try to build his controller circuit if you can, and feel free to contact me if you run into trouble (which almost everyone does).
THIS can be a VERY daunting task. Many people find they can build the physical cube, and are able to solder connections easily enough, but when it comes to constructing the actual circuit, that's where it all usually falls apart.
Troubleshooting a point-to-point hand wired circuit is not easy, even if you know what you're doing.
FEAR NOT ! As this instructable progresses, I will be working on a number of circuit boards that will include features requested by people here, and at varying levels of soldering expertise all the way from simple through hole soldering to completely surface mount technology boards.
You will be able to purchase these boards when they are available, and prices drop as more requests for boards come in due to volume discounts. Just don't expect them to be five bucks - I won't be mass producing them which makes my cost a lot higher.
Watch for board revisions if you have made a recommendation or request  for a board feature that I liked

A SNEAK PEEK at upcoming music triggered modes for those with my circuit boards... (I'll be working on more as suggestions come in) - THIS CODE IS NOW  posted on step 11
Sorry about the video quality on this one, but I was in a hurry to get these posted and didn't take the time to adjust the camera well.

Just hit the MUSIC button on your board (Black Editio V3.5 and higher, ARMS series or RAMP series) or wireless remote (ARMS and RAMP series boards only) to cycle through the music modes.
THIS CODE IS NOW AVAILABLE ON STEP 12 so you guys with the new boards can play with it! I will be adding to it though!
The code works with both wired input as described in step 17 ,built onto the board (RAMP boards only), or using the Mic Module in the parts list (3.5A and above, ARMS or RAMP boards)

If you are thinking "Big deal, I have seen cubes react to music in other videos" - well, we are doing it WITHOUT a PC hooked up to the serial port! That's right, the ATmega32 is doing this on it's own. What is more, with the Mic module option, this means you could take your cube to a party and set it somewhere (that nobody can touch it) and let it react to the music without even hooking anything up to it.

This instructable has mutated over the past few months, and you'll see a bunch of end results before we get into how to make the cube, and the improvements that have been made over the original construction techniques and original circuit, as well as improvements made on the PC Boards over time.

A couple quick videos of my cube in action are above.
The August video is the cube as a standalone device, and the "Cube Perry" video is under PC control via the TTL Serial port and a script written in Processing.
The serial port is key to allowing it to be controlled by things like a PIC, another Arduino or PCDuino or PC computer .

Stand-Alone Music Input! The video below demonstrates this addition to the circuit,
The schematic is on step 17 for connecting an audio source to previous board versions.


By the way - come back here every few days to check up on this instructable. I tend to add to it without notice!
This includes additions and revisions to the code.

If you have tried to make your own controller - or just know you couldn't build one from scratch, but COULD solder a PC board, then ask me about what boards are available.

Send me a private message for details.

NOTE: If you downloaded the 5 mode music hex file before Jan 12, you need to download the latest code.
The music modes originally used up a little too much RAM in the AVR, and when the Fireworks effect would try to initiate, the cube would reset. This has been fixed by reducing the firework sparkles from 60 to 40. The new 5 music mode HEX file does not have this problem now when running in animation mode. Fortunately I first ran into this issue with the Arduino when porting over the same routine. Since the fonts go into RAM rather than EEPROM on the ATmega328p, there was a lot less RAM to utilize, and this is why there are only 30 sparkles in the fireworks routine that was ported to the Arduino portable code.

The ARMS and RAMP series boards have an area marked off where the wireless remote module goes. If you are NOT going to use the wireless remote module, none of the parts in that area need to be put on the board, and you don't need to purchase the remote module. Likewise, if you don't want acoustic music response, you don't need to purchase the Mic module.

And now on to our regularly scheduled program (How To Make The LED Cube)
Remove these adsRemove these ads by Signing Up
yarinlevy1 month ago

Hey, thanks for all your help, this cube is really amazing, thank you for helping me finally solve all my problems and get this cube to finally work and all the time you spend on me. you are great, I really suggest buy the boards from SuperTech-IT, they are really awesome, he did amazing work on them and they work perfectly! 10/10

SuperTech-IT (author)  yarinlevy1 month ago

You're welcome. What he didn't mention is that he didn't get one of my boards - he (Yarin) built his using CHR's instructions, as it was a school project, and they couldn't use pre-fab boards. Well, his circuit wasn't working, and his presentation day was only a few days away when I started really helping him out. We probably put in 30 hours in 3 days tracking down the problem with his circuit (with me staying up all night into the next day because of time difference between us). We got the circuit working with just enough time left over to then find and fix wiring issues and bad solder joints in the cube itself - but we got it working, and he got 100/100 on his project. I'm just now catching up on all that lost sleep! LOL!

SuperTech-IT (author)  SuperTech-IT27 days ago


I just can't afford to have them fabricated just yet, because I spent all I had on the ARMS and RAMP boards... so if you don't already have one, GET ONE! LOL!!!!!

SuperTech-IT (author)  SuperTech-IT20 days ago

Boards have gone to fabrication... I feel a new instructable coming on!

I got the 3.5A a couple months ago and FINALLY got it to work. SuperTech has spent hours and hours over the phone with me troubleshooting my cube and getting everything to work. The USBtiny I got isn't so great, so we found a way to work around that by cutting two wires that go to the arduino. But that didn't really matter until I could get the cube to work in the first place. I plugged it into my board and all the lights were just so dim! SuperTech ended up sending me his own personal tester board and a new 3.7A board to try to resolve my problems. Through using his tester, we found that I put EVERY LED in my whole cube in backwards. HAHA. Being such a good guy, SuperTech found a software workaround with only 2 lines of code to completely fix my cube, even though every light was wrong. Such a relief. I finally have a fully functional cube!!! Thanks so much SuperTech.

SuperTech-IT (author)  jasper.sardonicus2 months ago

In my defence, it took so long to diagnose because we kept diagnosing the controller assuming something had to be wrong there. Had we started with the assumption that you must have made your cube wrong, and that your programmer itself was the issue, it would have been solved much faster!

SuperTech-IT (author)  jasper.sardonicus2 months ago
You are welcome. Making the cube work with all the LEDs in backwards was certainly a noodle scratcher, and I am glad the solution I theorized worked when I rewrote the interrupt routine for drawing the cube!
The upcoming boards will have "compatibility mode" jumpers to work with programmers like yours.
By the way, I am going to need that tester back pretty soon because my white cube is almost done! LOL!
I just sent it out yesterday!
SuperTech-IT (author)  jasper.sardonicus2 months ago

Oh ya, by the way - it was 3 lines of code...LOL...

We had to define the inversion mask (1 line) and then modify 2 lines in the interrupt routine that draws the cube. I was just re-reading this and thought I would make note of that. Also, the lines we cut went to the empty Arduino socket since you were using an ATmega32. Had you been using an Arduino, we would have had to put in jumpers to allow your programmer to work correctly when programming and also let the cube run when not programming. The lines we severed were the ones that go to the 328P's pins 18 and 19. The reason being that these are both layer 7 and 8, and also the MISO and SCK from the ICSP. I haven't encountered a programmer that had an issue with this, but since yours did, I have to assume that anyone that gets the same programmer MIGHT have this issue. The upcoming RAMPS board will have jumpers that are pre-jumpered with traces on the PCB for people that don't have this problem. If you have a programmer issue, you simply cut the pre-wired traces in the jumper block, and install the jumper pins and jumpers which are marked RUN and PGM. You simply move the jumpers to PGM to program the board, and put them back to RUN for normal operation.

SuperTech-IT (author) 3 months ago
A little glitch has been brought to my attention when trying to run the cubo 3d software that ships with my boards.
Many people - I suspect with ATI based video controllers - are getting a java error (206 I think, something about not being able to find a file)

The solution is easy enough.
Open up a DOS prompt
COPY atioglxx.dll .dll
If that results in a file not found, type
COPY atio6axx.dll .dll

then close the DOS prompt.
This should fix the problem.
SuperTech-IT (author) 5 months ago
Post here on step 18 to show off your cube, new effects, music response demos or whatever! You deserve a pat on the back and a place to showcase your work!
SuperTech-IT (author) made it!6 days ago

The RGB boards are in...time to get to the business of building the cube...still waiting on a few things.


looks very nice and clean

neat...... AwEsOmE

its going to look awesome... are you going to be using the same controller?

by the way i have not been able to find 40 pin female connector to put

on the board. the male connector its fine... can you point me to the right location? or alternatives? cheers mate..
SuperTech-IT (author)  stevenarango7 hours ago

all parts can be found on in my instructable.

the little board by the dime is the new controller.

SuperTech-IT (author)  stevenarango12 hours ago

Thanks. I'm still waiting on some wire that I'll be using for layer supports, and then hopefully I can get this done. It should wind up being the same size as my mono cubes (spacing is identical). It's interesting that even so, because there isn't basically a 64 bit wide bus on the base board, it's not quite as wide as the mono base board. So physically, my colour cube base is actually smaller than the V2.0 mono base.


Good job on the reboot! I have 2 layers of LEDs done and the board is built. I hope when I'm finally ready to put it all together it works :)

Nice video too.

SuperTech-IT (author) 9 days ago

The RGB cube is coming. Again, 8 wires to the layers, and power. All other wires are gone.

Here's a quote from the other group where I am chatting with about the design.

"My PC Boards are about to arrive, and I am hardly prepared...LOL. I am still deciding on the best construction methods, and I may have come up with one Hopefully, once again I have come up with a rigless construction method - we'll see if it works, but I need to get my arse in gear since the boards will be here in about 2 days. Once again, I am doing the virtually wireless construction - basically power leads and 8 layer wires. And please lord let the boards be designed right in the first place this time! LOL! Honestly, for me, new designs are usually a coin toss. Some I get right the first time, others I have to revise. OK, I revise all of them, but I mean after shelling out for fabrication. The one that bothered me the most was when I added Music to the old Mono-Cubes, and on the SMT boards, I got the Music button, and music input lines backwards at the microcontroller! This is ALL new - new microcontroller, new drivers, new everything. I really hope I didn't forget anything simple - or anything major! I always make spare boards for people that want them, so when I make a mistake, it's a big loss, and means I have to ask for more for the boards that I eventually do sell. I don't profit off my boards, but I do cover my losses."

dpbrocato3514 days ago

(In CHR's instructable) Why is it that in the top most right part of the schematic on step 30 would there be two capacitors in parallel with one another? ( 1000 microF || 10 microF )(They are labeled C12 & C13). They go to VCC and GND, could they just be put in with the 'power in' circuit? I'm just unsure of its purpose. Thanks!

SuperTech-IT (author)  dpbrocato3514 days ago
Yes, they are just acting as ripple filters for the power supply.
Most of us are using power supplies that make this unnecessary, so on my circuits, they simply aren't there at all.
I believe, based off of observation and general knowledge of electronics, that im using my arduino to power the entire system. Therefore, i will need the capcitors. Also, im using an AC adapter, which provides 5V and just under 1A of current, or do you have a better suggestion? Thanks, for the responses!!
SuperTech-IT (author)  dpbrocato3513 days ago

Don't power it that way. Your power should be run into the driver board.
In CHR's design, his power is run to the driver board, and then ganged to the AVR board. The Arduino should simply be connected to the 5V and GND to power itself from there. Do not run power into the Arduino's power jack.

As long as the 5V and GND of the Arduino are tied to the driver board or AVR board, it will power itself from there, putting no load on the regulator on the Arduino.
The Arduino uses a 1117-5 regulator, and they don't handle large loads well (they heat up like crazy). If you do it the way I say, the Arduino's regulator will be cool as a cucumber, and everything will have all the power it needs.

From there, all the Arduino does is provide data to the data bus, address signals to the 138 for selecting the latches, and signals to the transistors to select which layer is being used. The Arduino shouldn't be powering anything, it should just be providing signals as stated above.

Ah! That makes a lot of sense! I havent started work ing on the cube, as I am waiting for the parts to come in. I cant wait to get started though. Im being extremely abitious but with the design im going with, what are the possibilities of hooking up a frequency visualizer? Id love to make this move to the music of a users choice. Thanks SuperTech-IT youre awesome!!!
SuperTech-IT (author)  dpbrocato3513 days ago

Have you seen my videos? LOL

But if you are sticking with building CHR's board, AND you are using the Arduino, you have a problem. The first being that there are NO free pins at all left once it's hooked up. You'd have to recode the cube drawing routine to control a 74HC238 to control the layers, freeing up some analog inputs - but then you can't run the standard older code anymore. If you switch to the ATmega32A, you have the dielemma I faced which was how to do it with the ONE remaining digital input after you use the other remaining digital input for the music mode button. LOL!

I think (for now) I'm going to program the arduino to just make animations on the cube. I was thinking though, what are the possibilities of using the Arduino Mega2560 Rev3? 54 digital input/output pins (of which 15 can be used as PWM outputs), 16 analog inputs, and 4 hardware serial ports. I wonder if you could find away to incorporate a frequency visualizer that way. Just spitting ideas haven't put much research into yet.

SuperTech-IT (author)  dpbrocato359 days ago

Over on CHR's instructable, someone ported the code for the 2560.

From there, the best way to create a spectrum analyzer would be using a n MSGEQ7 and up to 7 analog inputs. The MSGEQ7 will do the grunt work on the audio so that all the microcontroller needs to do is read the levels of each frequency and then display them on the cube or use them to trigger other effects.

SuperTech-IT (author)  dpbrocato3513 days ago

I have a 2560 on the way, as well as a PIC for my RGB project.

I'll let you know more later

SuperTech-IT (author)  dpbrocato3513 days ago

The trick is doing it without deviating from the original design to the point that the original codes don't run anymore.

My designs run all the original code, but with an ATmega328P, the music modes are NOT available.

SuperTech-IT (author) 15 days ago

We hit 100,000 views today.

The contest is on!

In 3 weeks, we'll see who won their boards!

What are the rules of the contest besides that I need to buy a controller? :)

SuperTech-IT (author)  gredkozubov9 days ago
no rules other than someone that purchased their controller in the 3 weeks prior to, and 3 weeks after hitting 100K views will get the price of their controller refunded.
SuperTech-IT (author) 20 days ago

I did something recently called STEREO CUBE

SuperTech-IT, can you please upload the source code for the ATmega32?

SuperTech-IT (author)  thelazymastermind2 months ago
CHR's source code is in his instructable.

But what about the new effects that you added to his code? Can you upload _your_ source code?

SuperTech-IT (author)  thelazymastermind20 days ago

The pre-music source code is available on the code page now.

SuperTech-IT (author)  thelazymastermind2 months ago

I didn't really write anything new - almost all my effects are derivatives of his code and Triumphtotty's code (with the exception of the music code - which only works on my boards). Most of the effects I modified are in the Arduino source code, so if there is a specific effect you really want, it can easily be ported back from there.

SuperTech-IT (author) 21 days ago

I would like to just send this to those that are making or have made their 3.5A or above boards.

Low value potentiometers (under 1K) will load down the incoming signal resulting in signal reduction. I am recommending 50K or above for the trigger bias potentiometer.

SuperTech-IT (author) 7 months ago
Thanks CPHONDA I have put this up as the hot deal of the day, and I am ordering one now to make sure they work with this project.
If AVRDude supports it, as the specifications say it can, then we're good to go!
If we're really lucky, the Arduino IDE will also support it. If it doesn't directly, I may have to post an instructable on how to make it work with the IDE (once I figure it out).
SuperTech-IT (author)  SuperTech-IT23 days ago

I should have left a comment here ages ago...these things work great and are about 3X as fast as my old USBTiny.


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!