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 !

SKIP DIRECTLY TO STEP 1 if you just want to get to the improved build instructions

See step 18 for my latest released Boards and features and subscriber videos of their completed cubes!

Christmas in July - for a limited time (while quantities last) if you order a Printed Circuit Controller Board, Base Board, or combo set, you get a FREE wireless remote set (just ask when placing your order).

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

Don't forget to check out my RGB cube!

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

Music triggered modes for those with my circuit boards... (I'll be working on more as suggestions come in) - LATEST CODE IS NOW posted on STEP 10

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 Edition V3.5 and higher, ARMS series or RAMP series) or wireless remote (ARMS and RAMP series boards only) to cycle through the music modes.
Previous 5 mode code is 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 first 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
1-40 of 281Next »
nmacintosh133 months ago

I uploaded the code with the 7 music modes today, and the cube works great! Check out this video. I will post some pics once I finish working on the base board.

SuperTech-IT (author)  nmacintosh133 months ago

WOW - and on an old 3.5A too! with just a mic module!

That's incredible response - one of the best I have seen (other than my own) so far!

SuperTech-IT (author)  SuperTech-IT3 months ago

I'd love to see what you could do with the wired input method on step 17.

The one problem people have with that I guess is finding a way to drive the board AND hear the output. I actually find the wired input to be more responsive, but you are getting great results. I feel like a proud father! LOL!

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.sardonicus6 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.sardonicus6 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.sardonicus6 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) 7 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) 9 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!
power00025 days ago

Hello Sir, very nice project.

Have you upload somewhere the schematic for controlling sound level .

I have two schematics from CHR projects but what about vu meter control?.

Can you please upload it

SuperTech-IT (author)  power00025 days ago
I don't support music input on any boards other than my own boards because music input is not predictable on hand wired boards.

So, how much costs the board without components , through hole version?

SuperTech-IT (author)  power00016 days ago

It changes depending on demand. I will inbox you with the current price.

This is the current board with music input demo. It still runs all the standard animations as well and works with the serial input.

lusis98726 days ago

Hy SuperTech-IT!

I have made greate progress with my cube :) I know that you couldn't help me because I'm not buildinng exactly your cube, but i know that you are smart in these things and can give some advice.

For now (first time starting the cube) my problem is that only one layer (bottom layer) is working. Turning around catode layer cable on plate - works top layer.

How I understand - there is some problem with switching throught layers?

SuperTech-IT (author)  lusis98726 days ago

Again, I can't help a lot. #1, make sure the chip is programmed correctly.

#2 - make sure you have the layer selects going to the right pins on your Arduino. Put LEDs on the layer outputs and see if they light.

Again, I am not familiar with Pyro's layout, so I can't be specific.

Today i checked the circuit.

Resoldered one 8bit wire and one CLK. For now it kees blinking one layer, but now light not so bright. Tested voltage in other layers - 1.6v and it blinks for 2sec off and 1sec on.

Im using pyro soft -

If you have some ideas why voltage is dividing please let me know.
Hope pyro will help me to.
SuperTech-IT (author)  lusis98725 days ago

Much in the way you cannot put a DC multimeter on a pulsed or modulated circuit and expect any kind of meaningful readings - you also cannot run someone else's firmware on someone else's circuit and expect me to be able to say anything meaningful.

bawwa1 month ago

Hi, Why can't we replace the 2N2222 with a ULN2803. You should be able to get rid of some resistors as well. 24 resistors and the 100ohm can be replaced by a 220 ohm. Just an idea.

SuperTech-IT (author)  bawwa1 month ago
replacing the 100 ohm with 220 works - after all, it's basically digital and it's not that big a difference.
As for replacing the 2n2222 transistors....well, those with resistors are a cost drop over just about any other transistor in the known universe.
the 2222 is an old tried and true device, and dirt cheap - most places you can get up to 100 of them for a buck.

Hi thanks for the quick reply, I used TIP31 transistors because I had few of them from a previous project and they can handle a 1 amp load. I have done the circuits but waiting for the LEDs. I replaced the RS232 circuit with a bluetooth module which makes it easier to connect to the PC. :D Anyways I turned on the system and I saw the "debug" LED blinking (about two times per second) and then the frequency increases and it goes off while the statues LEDs starts blink. Finally everything stops. Is that what its suppose to do? and can you explain what the statues LEDs represent?


SuperTech-IT (author)  bawwa28 days ago

If you were watching the power on self test on the cube, what the status LED is doing would be clear. And yes, that's exactly what it should be doing.

SuperTech-IT (author)  SuperTech-IT25 days ago

When the status LEDs are alternating, it's waiting for a button press - either the RUN or SERIAL (or on my boards, the MUSIC) button to be pressed to enter the appropriate mode. My code times out if no buttons are pressed for a while, and it goes into RUN (animation) mode automatically.

SuperTech-IT (author)  SuperTech-IT25 days ago

Oh ya, and even with other transistors, you still need the pullup resistors to prevent ghosting, and you still need 1 transistor on the base of each transistor. At least I eliminated 8 of the transistors from the original design!

I made a sweet multicolor acrylic case for my cube. Here is the vid of the music input too!

IMG_0406[1].MOV(402x714) 20 KB
SuperTech-IT (author)  jasper.sardonicus1 month ago
Ya, he's got a base board, so I have been talking to him about how to hide the wires by moving the connector to the bottom of the base.

That looks really nice! I think I'll try to do the same thing for my cube. Are you using the PCB base board? I will be for my cube, and I'm trying to figure out the best way to make a clean looking base when using the PCB.

No I am just using a piece of acrylic with 72 holes drilled into it and I connect the 2x40 wire ribbon cables directly to each pin. I wanted to do it that way so there would be no overhang past the edges of the cube.
KrunoslavH1 month ago

hi, i still dont understand how to use the serial port. PLS MAKE LITTLE GUIDE OR HOW TO. What program to use? And how to upload the effects via the serial port. Pls. I build everything but i don't know how to upload the effects. Pls i beg you.

SuperTech-IT (author)  KrunoslavH1 month ago
Are you trying to control the cube with the PC, or are you trying to program the chip? You may be confused as to the function of the serial port.
I would like to program the chip so the cube can work without the PC, but i don't know how and which file to upload in the And in the future i woluld try out using the serial connection so pls help.
SuperTech-IT (author)  KrunoslavH1 month ago

then follow the instructions given....don't just look and say "how pretty"

SuperTech-IT (author) 11 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).

Chomping at the bit to build a cube. Does this AVR programmer work?

SuperTech-IT (author)  SuperTech-IT4 months ago

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

SuperTech-IT (author) made it!2 months ago

I don't have an instructable yet, but the RGB boards are done.

If you want to use the ATmega328P Arduino processor, you will need to use the Arduino side of the UNO eliminator board because an 8 bit shift register had to be added in order to use the existing Arduino code. Otherwise you can use the PIC ChipKit UNO32 or solder a PIC32MX320F128H microcontroller to the PIC side of the UNO Eliminator board. The board comes as a set with 2 of each eliminator that you simply snap off the main cube board. I'll try to put together the cube assembly instructable soon.

RGB base + UNO eliminators.jpg
SuperTech-IT (author)  SuperTech-IT1 month ago

Here's one PLANE (panel) attached to the RGB base/driver board. 7 more planes to go til I have a cube! LOL! I changed construction methods, dropped a partially build cube, and had other setbacks, but it looks like full steam ahead now!

An instructable on my construction method will be coming soon.

domdomgin1 month ago

any chance for the music mode to work on my pcb as i made my own and dont have the funds to purchase your boards as i live in india.can you help..thank you..

SuperTech-IT (author)  domdomgin1 month ago
How do you know you can't afford one if you didn't even ask the price - plus I ship worldwide.

I was wondering if I could pick your brain on the wired input for the cube.

I understand it as the wired input has to be connected at the same points as the mic module, right? So I would need to remove the mic from the board? If so I was thinking about hooking up a toggle switch to let me flip between the mic or the wired input soldered to the common points on the board.

When getting the signal from a stereo 2.1 cable, you just connect either left or right and ground to the board (set up with the cap and pot)? Can I still run the either left or right wire I use for signal to the speakers?

One more question regarding power: I was thinking about having the option to run the cube on 4 AAA. Do you think I would burn through these at ~6V?

1-40 of 281Next »