Step 72: Feedback

Picture of Feedback

We love getting feedback on our projects! The 4x4x4 LED cube has received a ton of feedback, and many users have posted pictures and videos of their LED cubes.

If you follow this Instructable and make your own LED cube, please post pictures and video!

Oh, and don't forget to rate this Instructable if you liked it :)

As a token of gratitude for all the great feedback, here is a collage of some of the feedback on our 4x4x4 LED cube instructable:

1-40 of 75Next »
MohammedZ42 months ago

can someone help me with my led cube when i try to test the leds more than led work it should be one one led working???

MohammedZ42 months ago

can someone help me with my led cube when i try to test the leds more than led work it should be one one led working???

shashankr12 months ago

can anyone please post the link of how to build the power supply in step 12

varooj.pink9 months ago

Hi every body.

could you please send the full version code for arduino. tnx

Loskeem made it!1 year ago

It's not finished yet but it works. Thanks CHR and others for inspiration to learn. I designed and built my own PC boards, learned to write some code, and learned ALOT! Next I want to figure out why the ATMega 32-16 won't work correctly. It's something in the way it's complied, I'm sure. Will be fun to figure out. Cheers!

Blade122888 made it!1 year ago

Just finished it!!!! Thank you soo very much!!!!

lusis9871 year ago

I realy want to build LED cube. One of the questions that scares me off - do I need to program a micro controllers (IC's)? I will use Arduino Uno R3 - thats programmable, but others?

Every kind of microcontroller is programmable, and you'll need to program one to get your cube working.

You can use an Arduino fine, but read the earlier instructions to see how to adapt the code so that it will run on the Arduino.

thepoynt1 year ago

I just finished my 8x8x8 cube - I'm very pleased with it. Props to Roel Mulder for the awesome PCB's! (http://www.ebay.co.uk/itm/PCB-for-8x8x8-LED-cube-as-seen-on-Instructables-red-orange-/131096641073) I used an Arduino Duemilanove to run mine, and was able to build a stand with all the boards contained in it, with only a USB port to the outside (for power and programming). Very slick. Now to have fun programming more effects!

Also, my LED's had shorter legs, such that they ended up being 16mm apart. I was concerned that that would be a problem, but it's not - it looks more dense in the light, but when it's running in the dark, it looks just as good as with them farther apart. If anything, it's a better pixel density :)

rpb_862 years ago
Thanks for the reply! Im using programmers notepad, do you mean im not including font.c when you say the character map? How do I do a MAKE INSTALL when using programmers notepad?
zdienos2 years ago
can this work with Raspberry Pi?

thanks in advice (and sorry for my bad English)
ajitchahal2 years ago
Where are .c files?
maischta2 years ago

i want to build a absolute perfect 8x8x8 Led-Cube. Perfect means with all special features you can imagine!! like IR-controll, Display, Music-visual, dimm complett cube with a poti, sd-card for more effects.......

Nice plan! but i have absolutely 0 knowledge about AVR-programming!!! ;)
so i started a few months ago to find my way in AVR-programming.
slowly, but it´s working!!;)
so i build the 4x4x4........works!!!
1 please tell me how to use the rs232 connection, or: how to use it with my pc??
2 the s-status-led´s........have they any function??? ok, blinky blinky at startup, .....not more??
3 the Button on pin 3 of the avr..........function????
there is no function-or it works together with the rs232, then please explain it to me!!


ps: if i did my XXL-Cube i will send you pic´s, vid´s, and schematics if you want to.
kuprik2 years ago
I repeated the project on the boards Roel Mulder (thanks Roel). I put 16 transistors and pull-up resistors, and replaced it with BD139 (the base 4k7) it works fine. After mounting all the diodes worked, but had to change because of a few lights (possible consequences of overheating). Programming with WinAvr - all excellent (USBASP - $ 3-Ebay). I would like to see the implementation of the new and the real effect it calendar, clock, temperature, due to facebook, skype (why not).
Thanks for a great manual.
kuprik2 years ago
pogasi2 years ago
Thanks for youre awsome guide, after the 4x4x4 i made the 8x8x8. Great job on the code aswel.

Psychojm2 years ago
Hi thanks for the awsome instructable, I finished my cube and it is working, however there are some effects that are not showing properly such as the smily face, both arrows well the effects that spin, and the "INTRUCTABLES" effect shows like a 8x5 plane moving like crazy. I loaded the program without any changes so I have no idea how to fix it, any help plz? sorry for my bad english.
MartijnD2 years ago
Nice project!
Nokia snake would also be cool in 3D, maybe add a controller and counter and see who is the best 3D-Snake player. Have the head in 100% duty cycle(1/8) and the tale 25-50% duty cycle so is is better to see which direction it goes.
I also thought 3D Snake would be a great idea. That's why i wrote it myself. You can see it in the video below.

Thank you chr for the lovely tutorial, i learned a lot!
Gecko232 years ago
After many, many hours of soldering (and crimping, drilling, sanding...) I have a working 8x8x8 cube!

Thanks for the great instructable, and thanks to Roel Mulder for the excellent PCBs!

Now I just have to figure out where to put it.

fluetke3 years ago
Hi everyone, I finally got my weird IC problems solved, but neither me nor my electronics technician buddy can explain what caused these problems or what fixed them. They were suddenly gone. Either way, here it is:

At the moment, it only runs the default animations as I didn't have time to programm new ones, but one of the future goals is to have winamp or vlc visualizations running on the cube. 
Also I forgot to drill a hole for the RS232 mode btn, hence the cable coming out under the front.

Let me once again, thank you and the community for this great instructable and all the helpful comments.
Hola disculpa puedes ayudarme con tu programación por fa por que me esta fallando el cubo led ya que hay algo que no funciona bien no se prenden 3 filas

weedetz3 years ago
Hi just wanted to thank yo guzs fir great and amazing instructables. This is my fiirst ever electronicks project and im satisfaed as it turned out.(Did a couple mini projects on arduino without soldering.) I didnt want to copy youre design, and i tryed to simplife it as much as possible, so i went with bit shift registors instead of latch array, and i used darlingtons transistor arry with pull up resistors instead of normal transistors. So here it is my cube. Its not done yet, its running under arduino uno atm for test purpose, but i have atmega ready and all the rest parts to make my own controller. As i said im happy with my cube, hope you guys enyoj it. And i want to apollagize for my bad english. Here is the video..
dont have your code available do you? :P
jacco823 years ago
All these incredible instructables, great job everyone. I'm finished with my 3x3x3 and I am new to programming and electronics. I got a few codes written for my 3x3x3 but that was for the microprocessor final, now I'm in capstone and going to tackle the 8x8x8, can't imagine anything better to fine tune some programming skills and soldering.

The question is I want to set all the levels high without lighting all the LED's in a row, for setting letters and symbols etc. I have a beta code set for the 3x3x3 by manipulating delays quickly and it works but it just doesn't look as uniform as some of yours. I heard of something through the forums that mention setting the code in a byte format, and was wondering if there is any tutorials or example codes to decipher someone may know of that isn't popping up for me in search. my 3x3x3 is multiplexed and I'm sure the 8x8 will be too. Any information would be helpful, based on setting letters, and symbols that use many levels but not all LED's. I think I stated this clearly.
jacksonliam3 years ago
I used a arduino uno (am going to replace with a Micro) and built mine across two breadboards. One holds the 8x 74HC595's (daisy chained latching shift registers) and one holds the layer logic (atm just connected to 8 arduino pins).

I've also hooked mine up to a wii nunchuck, I plan to make some sort of game:
arm1713 years ago
Thanks so much for putting this tutorial out.
I just ordered all the parts to start with my cube.
I was wondering if you have thought about doing a cube with RGB lights.
I am new at this and don’t know how complicated it would be, but it definitely would be much better looking
Qba_S3 years ago
Hi I just want to share my progress in cube building. I need to do one for my Embedded System subject at university.

I've used another method to make circuits - heat toner transfer (I think that's the name).

In the first picture we see multiplexer board right after etching and control one right before (this one had to thin routes, so I've made another one).

there's also first layer of the cube, I plan to finish whole thing in about two days, so expect an updates :)

Here are the photos:

My cube has been in my window as a Christmas light for the past couple of weeks.  My neighbours love it!!  I reprogrammed the interrupts to allow a simple form of PWM with 3 levels of intensity.  All I did was add another "cube" array called cubelsb[8][8] with the LSBs of the intensity.  To keep backwards compatibility, I have a flag "pwm_mode" which when 0 just runs as chr's cod does, i.e. on/off and when pwm_mode is 1, it uses the cube[][] as the MSB and cubelsb[][] as the LSB.

The "sprites" are meant to be a snowflake and holly.  Snowflake good.  Holly bad.

As chr said, the LEDs don't respond well to PWM for some reason, so the PWM is 5 refresh cycles instead of 3.  (if it was 3, then 01 would be 1 "on" cycle, 10 would be 2 cycles and 11 would be 3 cycles)  With 5 cycles, 01 is 1 cycle pulse on.  10 is 3 and 11 is 5.  It works beautifully.

The third and fourth effects are PWM sparkle (0:17-0:47 in video) and PWM rain (0:47-2:40.  Ooops!).  The rain has a random sidewind.  :o)

lookaluukie3 years ago
Hi there, Thank you for this clear Instructables. I did also build one. I did never touch a solder iron before and this is my very first project. I'am very proud with the results! I'ts running on an Arduino Uno! Thank you an keep on the good work!!!


I'll do some .c programming later, and upload something more fun.

I made some very minor changes/modifications to chr's original design: I used tripad prototyping board for the multiplexer board. This drastically reduced the amount of soldering. (and there's a LOT of soldering in this Instructable!)
I used TIP112 Darlington drivers for the layer supply instead of transisitors. These can handle 2A, so at 1/8th duty cycle are ticking over, and Darlingtons don't have the ghosting problem as they don't need pull-up resistors.
I used 74AC574 instead of HC as these have 400mA total handling and 50mA per pin.

Some afterthoughts:
Using latching shift registers would be much, much easier, e.g, 74AC595. The bus wiring was very fiddly.

Reorganising the 16-way board-to-board IDC connectors so that the bus is on adjacent pins (e.g. 2,4,6,8,10,12,14,16 rather than 7,8,9..14) would make the bus wiring much easier on both boards. Just move the other functions onto the odd numbered pins (e.g. 1,3,5 for the 138's input, 7 for OE, 9 for the start switch, 11 and 13 for the status LEDs and 15 for GND)

It looks amazing. I'm estimating it takes around 15-20 hours of work to make, but it's well worth the effort and time to see the finished product.

Much kudos to chr for making what must be one of the most in-depth and detailed Instructables ever!
x89pro3 years ago
hi all long days collecting the cube on this site are gathered hex test runs for a week I can not gather together all the source code, help throw off anyone not ready to feel sorry for the firmware in Hex Sorry for the language I'm from Russia, my mail elf-revda@mail.ru
sellis-14 years ago
I made one:


Excuse the vid - this was all done via serial port (except the 'plane bounce' and text on startup).

I used the 'alternate' circuit with shift registers, an atmega32p (28 pin) and a 3 to 8 decoder to ensure only one layer can be turned on at a time (in case of software bugs) and to save on IO pins. Due to the chip, the output is split across the B and C ports (so code isn't immediately compatible with the original, but close). Because of the limited IO I also used the ADC to read voltages to get two buttons on one pin (just did that mod tonight :).

I've found that the chip is quite capable of doing the trig functions and rotations (I'm running on a 16.0 MHz oscillator) but I did turn down the refresh rate quite a bit to open up a few more cycles, which also improved the 'on' vs 'off' ration and therefore the LED brightness, and also seemed to prevent the ghosting you mention (I didn't use pull-down resistors on the layer transistors). I also auto-detected data on the serial port instead of adding logic to change modes. I used Darlington pairs rated at 2a instead of the parallel transistors in this design.

Starting from scratch, it went way over budget (I went through 3 soldering irons, stuffed up a PCB, etc).

This was my first electronics project (skipped those lectures at uni). I'm a programmer by trade. This was jumping in at the deep end a little, and am lucky enough to work with a few electronic engineers who's brains I could pick, but I've learned an awful lot, and thank you guys for the inspiration and excellent explanations.
I would love to hear how you did the trig. Table look-up functions? Taylor series?
Just used standard c-style 'sin' and 'cos' by including math.h - the compiler handles the rest ;)
I am surprised it fits.
Do you have any code to share?
Yeah, I'll put it somewhere when I get home tonight. As I mentioned though it's not straight-out compatible as I used the 28 pin chip.
so didja put the code somewhere?
Thanx, Bruce
Sorry, it's on an older computer so I'll have to dig it up. I'll try to get it up in the next few days.
p00ky3 years ago
not able to compile the cube_pc source code. Ive tryed compiling it with virtualbox ubuntu with binutils, avr-gcc & avr-libc installed.

my results
gcc -lpthread -lm -o cube main.c cube.c draw.c effect.c font.c 3d.c draw_3d.c gameoflife.c
/tmp/ccm8Rms6.o: In function `main':
main.c:(.text+0x30): undefined reference to `pthread_create'
/tmp/ccbuujXt.o: In function `effect_test':
effect.c:(.text+0x2a): undefined reference to `sin'
effect.c:(.text+0x68): undefined reference to `cos'
/tmp/ccw3QFNp.o: In function `linespin':
3d.c:(.text+0x57): undefined reference to `sin'
3d.c:(.text+0x81): undefined reference to `sin'
3d.c:(.text+0xa0): undefined reference to `cos'
3d.c:(.text+0xc7): undefined reference to `sin'
3d.c:(.text+0xf1): undefined reference to `cos'
/tmp/ccw3QFNp.o: In function `sinelines':
3d.c:(.text+0x203): undefined reference to `sin'
3d.c:(.text+0x225): undefined reference to `sin'
3d.c:(.text+0x25d): undefined reference to `sin'
3d.c:(.text+0x278): undefined reference to `cos'
/tmp/ccw3QFNp.o: In function `ripples':
3d.c:(.text+0x3b2): undefined reference to `sin'
/tmp/ccw3QFNp.o: In function `sidewaves':
3d.c:(.text+0x46d): undefined reference to `sin'
3d.c:(.text+0x493): undefined reference to `cos'
3d.c:(.text+0x516): undefined reference to `sin'
/tmp/ccw3QFNp.o: In function `spheremove':
3d.c:(.text+0x623): undefined reference to `sin'
3d.c:(.text+0x649): undefined reference to `cos'
3d.c:(.text+0x66f): undefined reference to `cos'
3d.c:(.text+0x691): undefined reference to `sin'
/tmp/ccw3QFNp.o: In function `fireworks':
3d.c:(.text+0xade): undefined reference to `tan'
3d.c:(.text+0xb08): undefined reference to `tan'
/tmp/ccw3QFNp.o: In function `distance2d':
3d.c:(.text+0x11ea): undefined reference to `sqrt'
/tmp/ccw3QFNp.o: In function `distance3d':
3d.c:(.text+0x1238): undefined reference to `sqrt'
/tmp/ccEWrpVS.o: In function `point_rotate_around_point':
draw_3d.c:(.text+0x2e): undefined reference to `sin'
draw_3d.c:(.text+0x3c): undefined reference to `cos'
draw_3d.c:(.text+0x4a): undefined reference to `sin'
draw_3d.c:(.text+0x58): undefined reference to `cos'
draw_3d.c:(.text+0x66): undefined reference to `sin'
draw_3d.c:(.text+0x74): undefined reference to `cos'
collect2: ld returned 1 exit status
make: *** [cube] Error 1
nothing I try makes any differance, can someone point me in the right direction?

thanks in advance.
1-40 of 75Next »