How to make 6x6x6 LED cubes

Circuits: 6x6x6 Arduino LED Cube: 5 steps (with pictures) - 2021

In this instructable I want to show you how my mini project was made.
I got a homework assignment at the university studying programming and digital engineering to do a project with Arduino.
I chose a 6x6x6 LED cube controlled by Arduino UNO & shift registers.


Step 1: materials and tools

  • 256 x 5 mm blue LED (optional);
  • 6x 180 Ω resistor;
  • 7x SN74HC595N shift registers;
  • 1x Arduino UNO;
  • 1x potentiometer (optional);
  • Cables;
  • Solder wire and iron;
  • solderable full board;

  • Pin header (optional);

  • a piece of wood;
  • a drill;

Step 2: how it works

This is a 6x6x6 LED cube that consists of 6 levels and 6 rows. Each row contains 6 columns.
In one level, all cathodes are soldered to their neighbors like a net.
All anodes are soldered to the upper and lower neighbors in one column. So when I switch VCC to a column and GND to a level, the LED that is at the intersection of the level lights up and the column lights up.

The levels and each line are controlled by a 1: 1 shift register.
I use 7 shift registers, one for the levels to control the ground and the other 6 for the rows, one for each row.

A shift register controls a whole row, a shift register has 8 output ports, but a row only has 6 columns, so it's more than enough.

Step 3: preparations

  1. At home I found a piece of wood and drilled 36 holes. The diameter of the holes is 5mm, just like the diameter of the LED.
    The distance between the center of 2 holes is 25 mm. This stand is important for the quality of soldering, it makes it easier and more precise.
  2. Test all the LEDs with a simple circuit. Everyone has to be fit. I connected +5 V to the anode of the LED and the GND to the cathode of the LED via a 180 Ω resistor
  3. Then I bent the legs of the LEDs with pliers, bent the anodes at right angles, and placed them upside down in the holes so that the anodes were facing the outer part of the cube.
    As shown in the picture, they are separated into 2 parts. The cathodes are curved like in the other picture with the arrows, but the direction is optional, that's just my opinion.

Step 4: solder the cube

It's time to solder.
I soldered the cathodes together and then used copper wire to connect the two sides and make the structure more solid. When you are ready, carefully try to get the level out of the wood.
When you have all 6 levers you need to solder the second level anodes to the first level anodes, and so on until you have soldered all the levels.

Next, solder the first level anodes to a solderable perf board.

I used copper wire to connect the levels to the resistors.

Step 5: solder the circuit

As I mentioned earlier, I used 7 shift registers, Arduino Uno, and a potentiometer to change the delay time.
I soldered a couple of connector pins for the Arduino onto the board so I didn't have to use a jumper wire.
I have attached a drawing of the racetrack. I think it contains more information than a picture. It looks like a jungle.

Step 6: the code

I made a program for it, in the code I left some comments to better understand it.
You can use binary or hexadecimal numbers to control the shift registers. I prefer the hex number as it is shorter.

I created an array for the shift registers,
SR 6 controls the levels and the others (SR 1-5) control the rows.
For example SR 6 = 0x7F, which means that only the first level receives gnd, the others do not
SR 5 = 0xC0 means that in the 5th line only the first 2 LEDs on the 1st level light up.