8x8x8 LED Cube

How to Build an 8x8x8 LED Cube

The Party Dazzler Electronics Project

Assembly Time: Depending on experience 3-4 days
Difficulty: Advanced
Designer: Ari Dubinsky

This LED Cube will light up any party. Your friends will be mesmerized by its hypnotic effect as lights dazzle and dance in brilliant patterns. It utilizes code based off of Instructables designer, CHR, and uses an Arduino UNO to power the cube and act as a programmer. This cube gives of a warm glow that is pleasant to the eye and will entertain people of all ages.

Though it might be quite a commitment to build, the effort will be worth the wait. Surprise your friends and family with this incredible art piece, as it will be sure to turn heads. Don't skip this wonderful electronics project because it offers invaluable opportunities for electronic construction and Arduino coding. I'll just leave it up to this video to convince you that this will be the next project you will be building.

Order Your Own 8x8x8 LED Cube Kit

Required tools and components:

Soldering Iron
Helping Hands
Wire Cutters/Strippers
Needle Nose Pliers
Aluminum Foil
Peg Board or piece of wood Drill

Click here to review the complete parts list

Step 1 - Test the LEDs

You will need 512 properly working LEDs in the lattice. They will need to be stable and bright. This step will show you how to separate the faulty ones from the usable ones.

Lots of times there are broken LEDs, especially when they come in large packages. The damage may be noticeable but sometimes it is not. Start by bending the shorter leg (the cathode) at a 90 degree angle. Hook it up to a power supply and run 3V across it. You can do this with 2 AA batteries in series, but I had a power supply with alligator clips. Either way, just make sure the LEDs are working before you begin to solder.

Test the LEDsTest The LEDs

Step 2 - Build the Rig

Create an 8x8x8 template so you can create the layers. You will need a peg board and you will need to drill holes into the peg board to space the LEDs 1/2" apart. I put foil over my rig to hold the LEDs in place so that they wouldn't move while I solder, otherwise theywould jiggle to much. Use the LEDs to punch holes into the foil.

Build the RigBuild The Rig

Step 3 - Starting the Layer

The picture should show you how to do it, but basically have all of the LEDs in the row facing the same way. Begin with the corner first. The corner row should be 90 degrees facing the other way. You should also align each LED so it is just barely touching the next one. When you solder, don't hold the iron more than 2 seconds on the LED, otherwise it can be damaged. Apply minimal solder between each LED.

I would NOT recommend to cut any wires until you have a working structure.

Starting the LayerStarting The Layer

Step 4 - Solder in Rows

Go row by row, same way as before. Make sure to apply minimal heat, and place the legs just close enough to each other, but not too close.

Solder in RowsSolder in Rows

Step 5 - Add Reinforcements

You must strengthen each layer to make it stable and durable. This is so the layer doesn't come apart when you pull it off the rig.

Cut a piece of wire longer than the length of your layer and strip off the insulation. Place the long, stripped wire into a vice and pull hard to straighten it. You can do this with another set of pliers as well. You should feel the wire get longer and straighter as you pull.Once it is straight enough, place it on the opposite end of the layer and solder it on the cathodes to stabilize the rear end. Do this once more for the middle section, as now it is the weakest part of the layer. I used clips to hold the reinforcement bar in place while I soldered. These bars should strengthen the rear and middle of the cube so it won't break.

Add ReinforcementsAdd Reinforcements

Step 6 - Eight Identical Layers

Repeat the last three steps another seven times to complete your layers. This will take patience and time.

8 Identical Layers8 Identical Layers

Step 7 - Let's Get Vertical

Now with eight different layers, we will build up!

I used triangular folds of paper to hold each layer above the other when I soldered. Make sure to place the first layer in the rig and start from there. I would recommend bending the leads slightly so you can have each layer directly above the other, otherwise it can come out slightly crooked. Apply minimal heat and solder, and be careful when going into the cube with the iron. Read Step 10 before you begin to solder.

Let's Get VerticalLet's Get Vertical

Step 8 - Looks Like Raindrops

It should be looking good up to here.

Looks Like RaindropsLooks Like Raindrops

Step 9 - Ground Lines

The final step in lattice construction.These eight extra wires will drop down from each row to connect them to the board. So far, we have column connections but with these lines we will be able to control individual LEDs by separating the columns and rows apart.

Do this by stripping wire as before and creating hooks at the end to secure each to its layer. Use solder to hold in place only at the row each line is designated for. Make sure each line only touches its layer and no other. They should extend the same length as the bottom-most legs.

Ground LinesGround Lines

Step 10 - Finishing the Lattice

It should look something like this, although mine came out slightly rectangular because I spaced the layers out more than half an inch. Ultimately, this won't affect animations but it adds a personal effect to it.

Finishing the LatticeFinishing The Lattice

Step 11 - Start the Controller

Now let's start on the controller. Start by placing the chip sockets next to each other but leave enough room for resistors and headers. I would advise to economize space but to leave yourself enough room to solder and place wires.

Allocate a common GND and VCC line that will connect to each socket. I used small 0.1uF capacitors that are placed in betweeneach socket for the VCC and GND line. The black wires are for the common GND line. VCC goes to pin 20 and GND goes to pin 10. Refer to the schematic in Step 12 for the rest of the steps.

Start the ControllerStart The Controller

Step 12 - Circuit Schematic

Circuit SchematicCircuit Schematic (larger image)

Step 13 - Solder Trails

Use solder trails to minimize wiring. I used them to bus a VCC line to each chip socket.

Solder TrailsSolder Trails

Refer to this video to learn more about Solder Trails

Step 14 - Power Terminal

This is the power portion of the controller board. It consists of a couple of capacitors and a status LED. Follow the top most diagrams in the schematic. You may or you may not want to include a power switch... I didn't.

Power TerminalPower Terminal

Step 15 - Data Lines

Connect the chip sockets to each other. You will need to connect each identical pin to the other in one bus. This is what that blue line on the schematic means. So connect pin 1 to all the other pin 1's and do this for the rest of pins 2-8. Think of it as daisy chaining the pins to each other.

Data LinesData Lines

Step 16 - Resistors and Headers

Use those 100Ω resistors in between pins 12-19 and the 8-pin male header for each chip. These resistors should be enough, assuming you're powering 5V from the Arduino. The male headers are used to connect to each of the eight rows of the lattice.

Resistors and HeadersResistors and Headers

Step 17 - Address Selector

The address selector chip will control the clock cycles to each chip. Start by soldering the GND and VCC connections. If you use the solder trace method to run GND/VCC lines, you want to do this before you solder any other wires in place. A 100nF ceramic filtering capacitor is placed close to the VCC and GND pins of the 74HC138.

Then connect the address lines and the eight clock lines.

If you look carefully at the connector, you can see two pins that are not used. These will be used for a button and debug LED later.

Address SelectorAddress Selector

Step 18 - Transistor Schematic

Use this schematic for the following step

Transistor SchematicTransistor Schematic (larger image)

Step 19 - Transistor Array

The transistor array is responsible for switching on and off GND for each layer in the LED cube.

For each layer, use two PN2222As in parallel. The collectors are connected together to GND. The emitters need to be connected together in pairs, then connected to a male header. Introduce the pull-up resistors to reduce ghosting. The base of each transistor is connected to it's own resistor, and they are paired up to be connected to an output pin on the Arduino. Connection to the Arduino will come shortly.

We soldered in all the transistors and turned the thing on again, and it worked, perfectly!

1) Start by placing all 16 transistors on the PCB and soldering each of their pins.
2) Run a solder trace between the emitters of all 16 transistors. Connect this solder trace to GND.
3) Solder in a resistor for each transistor, the solder the resistors together in pairs of two.
4) Run wire from each of the eight resistor pairs to a female header. This is where the Arduino will connect.
5) Solder together the collectors of the transistors in pairs of two and run solder trace or wire from the collector pairs to an 8 pin maleheader. Place 100Ω resistors between the header and VCC.

Transistor ArrayTransistor Array

Step 20 - Connection Schematic

Use this schematic and refer back to the first one in Step 10 to see how to wire the Arduino. Either an Arduino UNO or Diecimila willwork. Also, refer to the connection key at the top of the picture, as this really ties both schematics together to make things easier foryou.

Special thanks to MAEWART for his translation to Arduino, and CHR for his invaluable guidance and schematic.

Connection SchematicConnection Schematic

Step 21 - Connecting the Arduino

Use two female headers side-by-side to act as the port to your controller. This port will have wires running from the Arduino to the controller so it can receive data. Refer back to the first schematic to see how it should be wired. I started by naming pins 1 and 2 across from each other and having the odd and even pins on separate headers. In addition, there will be two status LEDs that can be used later for debugging. This port will send information to the address selector and to the chips connected in parallel.

Crimping won't be necessary.

Connecting the ArduinoConnecting the Arduino

Step 22 - Enclosure Base

Create the base for the cube to make it look pretty. I was able to find a smoky reflective surface at my local Tap Plastics. Begin by drilling an 8x8 matrix of holes just big enough to fit the legs of the LEDs through. Space the holes out appropriately to your cube. In addition, add eight holes for the ground connections.

Fitting the cube through these holes was probably the toughest part of the entire project, but it can be done. I recommend to start with one row and bend the legs as they pass through the base. Fit the rest in sections, as it will be impossible to do it all at once. It would be like threading 72 needles at once, yikes! Do this carefully without damaging the lattice of the base.

Enclosure BaseEnclosure Base

Step 23 - Ribbon Cables

Place the cable and header into a vice and gently press the vice until the header snaps close around the cable. Strip the opposite ends of the cable, just enough to reveal an inch of exposed wire. Wrap two of the closest wires together and solder the pair to an LED on the underside of the base. Continue with the rest of the wire until each LED in a row is wired.

You will need nine ribbon cables, counting the ground lines. They will connect to the nine male headers on your board. The orientation of the header shouldn't matter, but each cable should have its own designated chip in order.

Ribbon CablesRibbon Cables

Step 24 - Build an Enclosure

This could be anything you'd like it to be, just be creative. Either you might want something ordinary, like a dark box, or you mightwant people to see all the electronics that are underneath the cube. Whatever it may be, have fun with this part.

Build an EnclosureBuild an Enclosure

Step 25 - Code and Sendoff!

There are a variety of source codes and header files for you to use and play around with in order to add additional effects. So far on the code I have more than ten different effects going. Play around with the order, delay, and iterations to truly make it unique!

Well, that's it for instructions. I hope you had fun building this project and at least pulled something worthwhile out of it. Show it off to your friends and family, because they will surely get a kick out of it. This project couldn't have been completed without the assistance from CHR and his Instructable, so a special thanks to him. Be sure to keep a creative attitude and never stop progressing. I'll send you off your own way now, and until next time!

Here's CHR's Instructable for further guidance

Kits are also available in other LED colors

Ari is an engineering professional with a Bachelor of Science focused in Electrical Engineering from California Polytechnic State University-San Luis Obispo. He teamed up with Jameco to accelerate his learning and lend a helping hand. His interests include shredding on the guitar, electronics, and music production.