Picture of 4x4x4 RGB LED Cube
P1020672 b.jpg
P1020669 B.jpg
P1020682 b.jpg
P1020676 b.jpg
A while ago, when I first started using Arduino, my first project was a 4x4x4 LED cube, I built it from a Guide I found here in Instructables, I didn't know anything about programming, and little about electronics, yet I was able to build it and make it work, I didn't know how it worked but it did!
That success made me like this page a lot and also made me want to make guides like that one, well documented and properly explained, enabling people to make cool things, at first without them knowing how they work, and from there, from a working piece, start learning and understanding how it works.

note: the last 2 videos are not from my cube, but it works in the same way and gives the same result.
Remove these adsRemove these ads by Signing Up

Step 1: Materials

Picture of Materials
For the most basic cube you will need;
  • 1x Atmega328 (With arduino Optiboot bootloader)
  • 3x TLC5940
  • 4x P-Channel MOSFETs
  • 3x 4K7 Resistors
  • 3x 16 pin Male and Female headers
  • 1x 4 pin Male and female header
  • 1x 28pin IC socket
  • 1x 1000uf 10v capacitor
  • 1x 0.1 uf ceramic capacitor
  • 2x 22pf capacitors
  • 1x 16Mhz crystal oscillator
  • 64x RGB common ANODE LEDs (it is very important that you check your LEDs are common ANODE, or else, the cube won't work!!)
  • a LOT of Solder!

for more advanced functions;
  • 3x 8k2 resistors for optional, low power mode.
  • 3x 3pin male headers for jumper selection of the power mode
  • 3x jumpers for selecting the power usage/brightness setting
  • 2 x 64KB EEPROMs for storing custom animations
  • 1x DIP switch for selecting different modes (random, serial, music responsive, random2, custom animations, etc.)
  • 2x MSGEQ7 chips for audio analyzing and music response.
  • Black paint

  • An Arduino to use as a USB to Serial converter for programming
  • An USBTinyISP if your Atmega chip is not pre-Bootloaded
  • A Multimeter for troubleshooting and checking connections
  • Some way of cutting PCBs, I used a Circular Saw, but you can use whatever you have in hand.
  • Diagonal cutters
  • A Sharpie or any kind of marker
  • A Drill/Drillpress
  • A Cutter or Xacto knife
AlejandraG2 days ago

Hello! I need some help, i've been looking for the zip file which contains the code but I can't find it anywhere, could anyone email me the code? i'll be very thankful.

jimmy6191 month ago
Hi there! :) Could someone please explain me the code.Also I'll be very thankful, if someone could email the whole code . It's very important because i'm building a 5x5x5 rgb led cube for my project in college. Please reply as soon as possible.
Thanks in advance ! :)

hey jimmy, I've spent sometime working on this cube and can tell you a bit about the code. First off, the code is actually posted in a zip file within the instructions but you will also need to download the TLC5940 header which can be found here: . you'll have to place the file within your libraries folder in arduino. Once you have this all you have to do is redefine some of the pins on both the arduino and the TLC's. It's a similiar process described within the instructions. Honestly, once you get a good grasp of what your doing you can rewrite some of the code and take out a lot of it to make things simpler. Another important thing to do within the TLC header is to change the number of TLC's in your circuit. this function can be found within a file called something like "config.tlc". I hope this helps you out a bit, feel free to contact me if I didn't answer something.

i went to the link but i don't know what to go to get the code. can you help me , i just got done with the cude.

Hi cammace, I am building the led cube but I can't find the zip file within the instructions, could you be able to email me the code? I would be very thankful.

Hello cammace, i've been looking for the zip file within the instructions but I can't find the code, could you be able to email me the zip? I would be very thankful :)

sinaarian6 days ago

Every time I try to upload the code I get all of these random undefined for things like TLC and PD4. Can someone help me to get the code figured out. Thanks in advance

You need to download the TLC5940 header file. That should resolve your TLC errors. See the comments below by cammace and where the file is. What kind of errors are you getting from PD4?

Anything with a TLC in front of it is counted as not declared

mzak25 days ago

So i have everything working now based off of the arduino alone. Way less parts! So i have the layers mapped out, i have all of the pins mapped out, but when i program the cube to only turn on certain lights from the top layer, i get "ghosting" and all the lights below the ones i wish to turn on turn on as well. so if i only want the top left light closest to me to be on, i get the entire column lit up. Anyone else have any insight?

bill378013 days ago

Hello to those out there that built this cube and only got some of the layers to light,

My build of the 4x4x4 cube only got 3 layers to light up. After checking all the connections, i then started to look at the code. I started playing around with the pin number that are set for the PinMode command. Here is the code that i was looking at. It is in the RGB_4x4x4_LED_Cube_main_1 at the beginning:

#define LayerOne 16

#define LayerTwo 4

#define LayerThree 2

#define LayerFour 15

So, i changed the number for LayerFour from 15 to 17, and presto magic, all 4 layers are lighting up.

mzak220 days ago
Hey there,
I'm trying to get this together but was wondering a couple of things. First how is it powered? Second, can this be made from the arduino directly sans the atmega? Third, how do you connect the 1000uf capacitors? From what vcc?
GranpaO4422 days ago

In your instructions, you say to use Common Anode RGB LED's The long lead on them are the "+" lead. On page 6 of the instructions, you state that the long lead of the RGB is the "-" negative lead. That would make the LED Common Cathode.

Was that a wrong statement on page 6?

bill37801 month ago

Howdy, great job on the article to build the 4X4X4 LED cube. I just finished building the cube and started to test it out. Got the top three layers to light up and trying to figure out about the bottom layer (#4). The code in RGB_4x4x4_LED_Cube_Main_1 object has these lines of code that i'm not sure what it means:

#define LayerOne 16

#define LayerTwo 4

#define LayerThree 2

#define LayerFour 15

Just want to understand more about the code. Are the numbers referring to pins? on which chip?


I'm having the exact same problem as you. What MOSFETs did you use?

I used IRF9540N MOSFETs.

mbrotcke1 month ago

Which MOSFET p-channel transisters do we need to use for this?

lgruen made it!2 months ago

Awesome tutorial! Had lots of fun building this.

Small error here: "3. Start bending the leads (the Rightmost lead goes to the bottom left at about 45 degrees) (pic 3)." should be "goes to the bottom right".

I've placed my MOSFETs very close to each other, similar as in your photo. However, after some debugging I found out that they'll actually short if their heat sinks touch (which in my case only happened when putting the PCB layers together ;) ). It would be nice to mention to be careful about this.

Some guidance about the power supply would be nice. I guess in practice a 5V / 2A wall wart is good? Batteries deplete amazingly quickly with this :).

msadeghlou3 months ago

hi tanks for your guidance, I have a problem with your design, according to your circuit when we set the red pin in a column we set it in all of it and we can't have different color in a column.

sorry for my bad english

tomriddl33 months ago
how hard would it be to adapt this to use common cathode LED's?? any help would be appreciated :-P
Steve25 tomriddl33 months ago
Wow i bought cathode leds too :(
tomriddl3 Steve253 months ago
any luck?? got my cube all soldered and ready to wire the driver circuit xD..
Steve25 tomriddl33 months ago
Well i found this rgb led cube. It uses cathode leds but there is a lot of ghosting going on. Check this link for the guide:
tomriddl3 Steve253 months ago
thank you sir! .. but i had already solder my led's as per this guide :-( .. smh!!
... will have to keep digging :-P
quixeh3 months ago
Thanks for the guide - its a brilliant project and kept me entertained for a few days of lead-inhaling fun! Really like some of the techniques for chip placement and painting the boards black, looks good.

I should probably mention a couple of issues I found: You need to download the TLC library from google code in order for your sketches to compile (and place them in your arduino library folder), and you need to change the config file in the library to use three TLCs rather than just one (read the basic use example) before things will work correctly. Otherwise, mine looked like one or two of the TLCs were stuck on full brightness and didn't work in the mapping stage.

Once again, brilliant write up and brilliant project! :D
Steve254 months ago
Why didn't you use resistors to protect you're leds and TLC's?
Emiliano Valencia (author)  Steve253 months ago
They are not needed, the TLCs have embedded current regulators for each LED, you just use 1 resistor to set the current.
BubbaFish77773 months ago
I built it, and I am having the worse time trying to figure out the code settings and the LED mapping. Any and all help would be most helpful.
It would be easier if Emiliano would add his mapping of the leds. Hopefully he will do this!
Steve254 months ago
Can you show us wich pin of the TLC's you connected to what column. And put number 1 to 16 at you're columns to make it way easier. If you add this is can start building it! Really hoping you will include this!

Noel-Electro6 months ago
can some1 give me the schematic,. so i can start building this!!
sdevi reddy7 months ago
sir small doubt regarding the power supply!
im doe with ther cube and im using our clg LAB RPS to power my im planing to use pc i dircetly conect the smps 5v rail same as rps? smps has very high current ratings,does it make any damaga to my cube?
hey1019 months ago
I am working on building this cube. Could you clarify where the capacitors go between Vcc and Gnd or does it matter where they are placed?

Also I think i found a mistake in your parts list. Near the bottom of the instructions you say:
"the 2 1000uF caps from Vcc to Gnd;
the 2 100nF caps from Vcc to Gnd"
and in the parts list you have:
"1x 1000uf 10v capacitor"

Shouldn't that be two? Also the other cap is not listed.
hi, i just built
a 4x4x4 adrunio rgb cube .. how can i program it to display like yours?
fffrune10 months ago
Could you post an alternate schematic for using just the bare chip? That would be easier than trying to translate from the Arduino mapping to the chip mapping.
parry4531 year ago
In fact, after trying it again today, I have found that when I reset the microcontroller, my cube led's do light up for a split second then off for a second and then on again for a split second. It carries on repeating thing. The only thing I have done different is to wire up the MOSFET to Arduino using thin wire. Would this cause it a problem? Is the Thin wire struggling with the current? Also the LED's are very dim... I need to turn the light off to see them light. Any Ideas??
Thin wire from MOSFET to arduino wouldn't cause a problem as the arduino only provides a small current to basically flip a switch in the MOSFET. The higher current that powers the LEDs flows through the other contacts.
hey1011 year ago
I looked around but could never find an LED driver that would work. So I just ordered the common anode LEDs. Where did you get the PCB from? Also what do you recommend for powering the cube?
parry4531 year ago
Hi Emihackr97,

I have built the cube, and the circuit. And when I go to upload the program onto the chip it says it does it with no problems. But nothing happens after that. No patterns, no lights, no anything.
Did this happen with you? i'm using the power from the Arduino Uno board/fed by PC.

Any suggestions would be great!

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!