3D Stereo Audio Spectrum Visualizer

LED Matrix EnclosedMod.jpg

Others.jpg

Picture of 3D Stereo Audio Spectrum Visualizer


In one of our earlier projects, we built an Arduino based Audio Spectrum Visualizer using our bi-color LED Matrix modules for the display. You may check it out at http://www.instructables.com/id/Arduino-based-Bi-color-LED-Matrix-Audio-Spectrum-V/

A few months ago, we designed jolliCube, an 8x8x8 LED cube. We are very encouraged to know quite a few entry level electronics hobbyists has bit the bullet and managed to successfully complete their 8x8x8 jolliCube instead of working on a smaller LED Cube as their first cube. You may find our LED cube project at http://www.instructables.com/id/JolliCube-an-8x8x8-LED-Cube-SPI/

Recently, we stumbled upon a 3D Audio Spectrum on Analyzer on YouTube. We were mesmerized by it.

You may find this YouTube video at https://www.youtube.com/watch?v=Vn39txtVIHc


For this project, we will use the electronic circuit we put together from our Arduino based Audio Spectrum Visualizer project to drive our jolliCube re-arranged with the 2 sets of 3D 8x8x4 LED Matrix displays placed side by side to form a 3D Stereo Audio Spectrum Visualizer Display.

To build this project, basic electronics knowledge with electronics component soldering skill and some knowledge on using the Arduino are required.

You may view the following YouTube video to see what we will be building.



 

 

Step 1: Building the 3D LED Matrix Displays

 

Picture of Building the 3D LED Matrix Displays

LED Matrix Side by Side.jpg

Arduino Connection.jpg

Solder Components All PCB1.jpg


To build the 2 sets of 3D LED Matrix displays is to practically build the entire jolliCube up with only some steps omitted.

Follow main Steps 1 to 6 in our instructable for JolliCube - an 8x8x8 LED Cube (SPI) to build the 2 sets of 3D LED Matrix displays but omit steps 5, 7 and 15 at Step 5: Assembly Part 2 - Complete the LED Cube with control circuit if you do not intend to use them to create an 8x8x8 LED cube.

 

Step 2: Building the Audio Spectrum Visualizer Control Board

Picture of Building the Audio Spectrum Visualizer Control Board
SpectrumAnalyzer.jpg
JF Audio Spec Top No Arduino.jpg
JF Audio Spec Components No Headers.jpg
SpectrumAnalyzer1.jpg
msgeq7B.jpg

Our 3D stereo audio spectrum visualizer shall be driven by an Arduino Nano. We will basically be using two MSGEQ7 IC chips made by Mixed Signal Integration to separate the audio into bands.

The MSGEQ7 IC is a single channel seven band Graphic Equalizer Display Filter. By feeding an audio signal to it, it will filter out seven frequency bands centered around 63Hz, 160Hz, 400Hz, 1,000Hz, 2,500Hz, 6,250Hz, and 16,000Hz. The seven frequencies are peak detected and multiplexed to the output to provide a DC representation of the amplitude of each band. All we need is to read these DC values with the microcontroller analog input and output the spectrum to the 3D LED Matrix displays. We need two MSGEQ7 ICs here, one for the left and another for the right audio channel. The wiring connection diagram above shows how a MSGEQ7 IC is typically connected.

The two sets of 3D LED Matrix displays completed in Step 1 are connected together with the two MSGEQ7 ICs and micro-controller as shown in the wiring diagram above. An Arduino Nano is used here to control the entire electronic circuit setup. Note the use of 12Kohms pull-down resistors on the LOAD input pins for the 3D LED Matrix displays. When power is first applied to the micro-controller or when they are reset, their I/O lines float. The 3D LED Matrix display's MAX7219 ICs can see this as valid data and display garbage until the micro-controller gains control. The pull-down resistors prevent these problems.
Except for the two sets of 3D LED Matrix displays, we hook up the entire circuit on a small piece of perf-board around 110mm x 30mm. See above for our completed circuit on perf-board. Note there are two 3.5mm stereo audio jack sockets in the wiring diagram. One serves as a stereo audio input and the other is a pass-through output which allows you to connect this Audio Spectrum Visualizer in-line between your audio source and your stereo system.

For those who do not like the hassle of wiring the circuit on perf-boards, we have designed the Stereo Audio Spectrum Visualizer board as a kit set which is available at our Tindie store

The MSGEQ7 ICs are available at reputable stores such as SparkFun. You may be able to find these ICs cheaper at some other stores but most of these cheap ICs have quality issues.

 

Step 3: Load 3D Audio Spectrum Visualizer program code

Picture of Load 3D Audio Spectrum Visualizer program code

Wiring3DSpectrumVisualizerProto.jpg


We have came up with just a single effect for our audio spectrum visualizer. You may work to come up with more variety of effects for your audio spectrum visualizer.

Click here to download jolliFactory 3D Audio Spectrum Visualizer program

Upload the 3D Audio Spectrum Visualizer program to your Arduino Nano. Then connect the Audio Spectrum Visualizer board to the two 3D LED Matrix displays. See the picture above for the connections.

Power up the entire setup via your Arduino Nano/Uno. Any USB port/adapter which is able to supply at least 500mA should be suitable. For our demo video, we connect our Notebook PC's headphone output to the audio input of our Audio Spectrum Visualizer board. Play your favorite song or music and Enjoy the Show!

 

Step 4: Testing the Audio Spectrum Visualizer

Picture of Testing the Audio Spectrum Visualizer
AudioToneGeneratorResized.jpg
AudioToneGenerator1.jpg
AudioToneGenerator2Highlight.jpg


To ensure our Audio Spectrum Visualizer is responding according to our design, we downloaded an Android Audio Signal Generator apps from Google Play to our Smartphone for testing.

There are quite a handful of Android apps around which may also be suitable for testing. Here, we will be using the Audio Test Tone Generator version 1.2.0 developed by Digital Antics. This application comes with preset frequencies which are just right for testing our audio spectrum visualizer which is based on the MSGEQ7 ICs. Basically, we use this application to generate the 7 frequencies ( 63Hz, 160Hz, 400Hz, 1,000Hz, 2,500Hz, 6,250Hz, and 16,000Hz) and input them to our spectrum Visualizer to check that our 3D LED Matrix displays are displaying correctly. Note that one of the preset frequency used for the test is 6,300Hz whereas the actual test frequency is for 6,250Hz. This should not affect our testing since the difference in frequency is not significant.

The apps is quite intuitive for use and so we will not delve into the detail on how we carry out the testing. You may check out the following video on how we carry out the test.


 

 

Step 5: Building the Enclosure

Picture of Building the Enclosure


You may want to protect your investment after putting in all these hours creating your 3D Stereo Audio Spectrum Visualizer by building an enclosure for it. 

We have not built a complete and permanent enclosure for our project yet. What we have here is simply a protective casing made of acrylic sheets with our electronic control board hidden below the base.

We are sure you are creative and resourceful enough to build a beautiful enclosure for your project.

Large 8x8 LED Matrix Display

INTRODUCTION


Picture of Large 8x8 LED Matrix Display

 MatrixSizeCompareText.jpg

Have you worked with ready-made 8x8 LED matrix as displays? They come in various sizes and are quite interesting to work with. A large readily available size is around 60mm x 60mm. However, if you are looking for a much larger ready-made LED matrix, you may be out of luck.

For this project, we will be building a single color large LED matrix display which is made up of a few large 8x8 LED matrix modules daisy-chained together. Each of these 8x8 LED matrix modules is around 144mm x 144mm in size.

The unique thing about this display is that other than the LEDs, one is able to view the background behind the display. This offers some creative use of these displays such as placing them against glass panels whereby people around it is able to see happenings behind the display. You may place some form of backing for your display if you find it distracting to read what is being displayed.

For this project, we will be using 10mm orange color LEDs to build the display. You may use LED sizes of your choice for your display. Commonly available sizes are 3mm, 5mm, 8mm, and 10mm.

Though our display is not designed to work with any particular microcontroller, we will be using the popular Arduino board in this instructables to drive it via SPI using only 3 signal wires. For those who prefer not to mess with too much wiring, the large 8x8 LED matrix module is available as a DIY kit at our Tindie Store.

To build this project, basic electronics knowledge with electronics component soldering skill and some knowledge on using the Arduino are required.

You may view the following YouTube video to see what we will be building.




There are many Arduino libraries out there which can support to drive our LED Matrix display. However, we will be using the awesome Parola for Arduino library contributed by Marco Colli for this project. Our demo example is adapted largely based on one of the Parola library's example but our demo will not be showcasing the full capability of the library. It will simply display one of five predefined messages scrolling across the display which is selected by a push button.

Our last project is JolliCube - an 8x8x8 LED Cube. Marco Colli is sharp to notice that the LED Cube PCB design is modular and that there could be a possibility to separate the 4 modular parts on one board and set them up narrow end to narrow end, effectively creating a very large 8x8 flat matrix (vertical) that can be used with the Parola library he created. He is spot-on and here we present you the large 8x8 LED matrix display in which the base PCB is a part of our JolliCube base PCB.

STEP 1: Design of Large 8x8 LED Matrix Module - Arrangement of LEDs

Picture of Design of Large 8x8 LED Matrix Module - Arrangement of LEDs

For our design, we will solder the LEDs together using just the long legs on commonly available LEDs. Here, we will be using clear 10mm orange LEDs with long legs. You may use any size and color of LED available but the LED leg length (more than 23mm) should be sufficiently long for them to be bent and soldered together. The LEDs will be arranged as an 8x8 matrix with the cathodes soldered together for the rows and anodes soldered together for the columns.

 

STEP 2: Design of Large 8x8 LED Matrix Module - Electronic Control Circuit

Picture of Design of Large 8x8 LED Matrix Module - Electronic Control Circuit
Parts.jpg





jolliCube Bd Single Bottom.jpg

jolliMatrix Bd Components.jpg




For our electronic circuit, we will basically be using the MAX7219 ICs to drive the LED matrix. By designing our LED matrix electronic circuit based on this IC, the number of components to drive each layer of LED Matrix is very minimal. Each 8x8 LED Matrix will be driven by the electronic circuit using the following components;

a. 1 x MAX7219 IC
b. 1 x 10uF 16V electrolytic capacitor
c. 1 x 0.1uF ceramic capacitor
d. 1 x 12Kohms resistor (1/4W)
e. 1 x 24 pin DIP IC socket

Note that you may need to choose a different resistor value to work with the LED you are using. This resistor is to limit the maximum current the MAX7219 IC will supply to the LEDs. You may check out the circuit block diagram to see how our circuit is connected.

You may wire up the circuit on perf- board but to reduce error and effort to wire up the electronic circuit, we designed our circuit on PCB. They are available at our Tindie Store as a kit set. For our PCB, the LEDs are placed 18mm apart, so the final 8x8 LED Matrix size is around 144mm x 144mm. All the components used are through-hole components.

Our design does not have any particular microcontroller embedded in our electronic circuit to drive the LED matrix. It shall be driven externally by any microcontroller via SPI interface. For this project, we will be using the popular Arduino board (Nano) to drive it using just 3 signal wires (SPI) and 2 power wires (5 V DC). You may use the more commonly available Arduino Uno instead of the Nano as they are very similar except for the size factor. 

Do note that all the components are to be soldered to the bottom of the PCB. Look out for the silk screen labels (BOTTOM) or (TOP) on the PCB. For our LED Matrix Driver PCB design, we used a 5-way angle female header soldered to J1 at the right hand side and a 5-way angle male header soldered to J3 at the left hand side of the PCB. This is to enable PCBs complete with LED matrix layers to be daisy-chained together to work as a long LED matrix display.

STEP 3: Build the jigs

Picture of Build the jigs

We will not be building elaborate jigs to facilitate the LED Matrix layer build in order to achieve better alignment of the LEDs. Here, we prefer simple jigs to aid us as we do not want to invest too much time building the jigs. The LED alignments may not be perfect but should be acceptable to entry level hobbyist.
Jig #1 is made from a disposable chopstick. We used a junior hacksaw to create 8 straight thin grooves 18mm apart. Ensure that the depth of the grooves is the same as much as possible.
Jig #2 is cut out from hard cardboard (around 1.5mm thick). We used the cardboard from a discarded desktop calendar backing. The size is 175mm x 16.5mm.
Jig #3 is also cut out from hard cardboard (around 1.5mm thick). The size is 175mm x 25mm.
Jig #4 is a wooden board made up of an 8x8 matrix with holes 18mm apart of diameter which is dependent on the size of LED you will be using. This jig ensures the LEDs will be evenly spaced and aligned.

 

STEP 4: Assembly Part 1 - Build the 8x8 LED Matrix


Watch the video below to see how we build the 8x8 LED matrix. In the video, 3mm LEDs are used instead of the 10mm LEDs we will be using to build our display. The steps to take with other LED sizes are basically the same.






The following are the main steps to take to build the 8x8 LED Matrix:

Step 1. Prepare 8 LEDs with cathode legs trimmed to around 10mm.

Step 2. Insert these 8 LEDs to the leftmost column of holes of jig #4 (see photo above for orientation of LED).
Step 3. Populate all other holes of jig #4 with LEDs.
Step 4. Bend the LED cathode legs.
Step 5. Solder the LED cathode legs.
Step 6. Trim the LED cathode legs (keep the cut-off legs for step 1 of assembly part 2).
Step 7. Test the LEDs.
Step 8. Bend the LED anode legs.
Step 9. Solder the LED anode legs.
Step 10. Test the LEDs again.
Step 11. Prepare cathode wires (We use wire wrapping AWG30 wires with grey insulation. See photo above on the length of wires required).
Step 12. Solder cathode wires.
Step 13. Secure the cathode wires.
Step 14. Remove the 8x8 LED matrix layer from jig #4.
Step 15. Repeat steps 1 to 14 to build the required number of layers of 8x8 LED matrix for your display.

 

Step 5: Assembly Part 2 - Complete the LED Matrix with control circuit

Picture of Assembly Part 2 - Complete the LED Matrix with control circuit
jolliMatrix Bd Components.jpg




LED Matrix.jpg

LED Matrix on PCB.jpg
 

The following YouTube video shows how we assemble the LED matrix control PCB and then complete the LED matrix module and a simple test to drive it using the popular Arduino entry level UNO/Nano board.



The following are the main steps to take:

Step 1 - Solder 24 way IC socket to IC1 of PCB.

Step 2 - Solder 10uF electrolytic capacitor to C2 of PCB.
Step 3 - Solder 0.1uF ceramic capacitor to C1 of PCB.
Step 4 - Solder 12K ohms resistor to R1 of PCB.
Step 5 - Trim legs for the resistor at R1 and capacitors at C1 & C2 of PCB.
Step 6 - Insert MAX7219 IC to IC socket at IC1 of PCB.
Step 7 - Solder 5-way female angle header to J1 of PCB.
Step 8 - Solder 5-way male angle header to J3 of PCB.
Step 9 – Trim the 5th LED anode leg of the 8x8 LED Matrix to around 10mm (this value is dependent on personal preference and requirement) away from the cathode row as shown in the photo above. This is required as the MAX7219 IC is just below this anode leg once we insert the LED Matrix onto the PCB for soldering.
Step 10 - Position the LED Matrix anode legs to the pad holes labeled as G, F, E, D, C, B, A and DP from left to right with the LEDs pointing towards you.
Step 11 - Solder all the anode legs to the PCB (Place suitable objects such as pencils as guides between the lowest cathode row and the PCB to support the LED matrix to a consistent distance away from the PCB).
Step 12 - Insert the cathode row wires to the pad holes labeled as D0, D1, D2, D3, D4, D5, D6 and D7 and then solder them to the PCB (Ensure wires to D1/D2 and D5/D6 pad holes are correct).
Step 13 - Trim anode legs and cathode wires below the PCB.
Step 14 - Test the circuit after soldering each LED Matrix layer (see next section for detail on testing).
Step 15 - Repeat steps 1 to 14 to complete soldering all the LED Matrix layers to the PCBs.

STEP 6: Test LED Matrix

Picture of Test LED Matrix
We used an Arduino Nano loaded with our LED matrix test program for testing. See the picture above for the connection of the Arduino Nano to the LED matrix PCB. Download the test program below and proceed with the test. You should see the LED Matrix rows lit row by row starting from the top row. The test is repeated after all rows are lit.

Note that the push button connected is not used here. It will only be used for our demo example in the next step.

Click here to download test program

 

 

STEP 7: Demo for LED Matrix Display

Picture of Demo for LED Matrix Display


We used Arduino IDE V1.05 for this project. The Arduino sketch used for this project is based largely on the Parola_Scrolling.ino sketch from the Parola Library v2.1 example.

For this project, you will need to install the following Arduino libraries:
MD_Parola Library (Parola library v2.1) from https://parola.codeplex.com
MD_MAX72xx Library (Max72XX LED Matrix Display Library v2.6) from http://arduinocode.codeplex.com

As our LED Matrix connection is the same as Parola LED Matrix hardware, there is no need to make any changes to the MD_MAX72xx library.

Our demo program will simply display one of the five predefined messages scrolling across the display which is selected by a push button.

Download the Large LED Matrix Display Demo V1.0 example here

Daisy-chain all the completed and tested LED matrix modules together to form a long LED matrix display.

Upload the demo program to your Arduino Nano/Uno. Then connect the Arduino Board to the display
(connection of the Arduino Nano/Uno to LED matrix is the same as for the LED matrix test).


If everything is set up right, you will see text scrolling across the display from right to left. Press the push button to select one of the five predefined messages for display.

 

 

STEP 8: Let your creative juices flow

Picture of Let your creative juices flow

We have demonstrated what you can create with the large 8x8 LED matrix module which is simply a single color LED matrix display here.

We are sure there are lots of creative people out there who may have unconventional ideas on how to use the 8x8 LED matrix. You may use a mix of different colors, sizes or types of LEDs for the 8x8 LED matrix to create interesting projects. The 8x8 LED matrix need not be a flat layer of LEDs. They need not be arranged in rows and columns with exactly the same distance apart.

You can build 8 of these LED matrix modules but connect the long sides together to form into an 8x8x8 LED Cube like our JolliCube. If you are interested, you may check out our JolliCube instructable here.




While preparing this instructable, we stumbled upon the following YouTube video showing a 3D spectrum analyser. You may like to take up the challenge to build something similar.




So, let your creative juices flow and see what you can come up with. Do let us know your creations.

JolliCube - an 8x8x8 LED Cube (SPI)

Introduction

Picture of JolliCube - an 8x8x8 LED Cube (SPI)
jolliCubeAcrylicBox.jpg

LED Cubes never fails to impress us. Watching some animations on 7x7x7 or larger LED Cubes can be very mesmerizing.

We have long wanted to build one of these cubes larger than 7x7x7. We researched online for similar projects and found that the time just to construct the LED Cube alone is very time-consuming and may be quite complex for some. For most of these projects, the electronic circuits to drive these LED Cubes may be quite complex for entry level hobbyist to build and may not be easy to troubleshoot if something goes wrong.

Here, we are going to show how we build our single color 8x8x8 LED Cube which hopefully entry level hobbyist are able to follow and complete it without much difficulty. There may be a faster method to build such a cube but this is the best we can offer as of now without using complex jigs to facilitate the build.

For this project, one need to possess some basic soldering skill, basic electronic knowledge and is familiar working with Arduino boards.

We from jolliFactory will present our design of an 8x8x8 LED Cube aptly named jolliCube here. This LED Cube is designed for entry level hobbyist who wants to take on the challenge to build a bigger cube rather than settle for a small 4x4x4 or 5x5x5 LED cube.

Though our cube is not designed to work with any particular microcontroller, we will be using the popular Arduino board in this instructables to drive our cube via SPI using only 3 signal wires.

For those who prefer not to mess with too much wiring, we will be offering jolliCube as a DIY kit at our jolliFactory Tindie store.

You may view the following jolliCube YouTube video to see what we will be building.







You may want to check out the following instructables in which we largely adapted the program codes from to drive the above demo for our cube.

http://www.instructables.com/id/Led-Cube-8x8x8/ by CHR

http://www.instructables.com/id/CHRs-8X8X8-LED-Cube-Revisited-with-improvements/ by SuperTech-IT

After building jolliCube, you may want to adapt it for other projects. You may want to check out our 3D Stereo Audio Spectrum Visualizer project in which jolliCube is re-arranged with the 2 sets of 3D 8x8x4 LED
Matrix displays placed side by side to form a 3D Display.



STEP 1: Design of jolliCube - Arrangement of LEDs

Picture of Design of jolliCube - Arrangement of LEDs
Removed Matrix1.jpg

For our design, we will be going to solder the LEDs together using just the long leads on commonly available LEDs. So the LEDs used should not be large which may obstruct the view of LEDs at the back of the cube.

Clear super bright LEDs are also not recommended as the light emitted from one LED may make the LEDs around it to appear lit. Ideally, what we want is to have point light emitting from each LED that will not light up too much of adjacent LEDs. 

For our cube, we will be using diffused 3mm LEDs with long leads which are not super bright. 

To be able to see all the LEDs as much as possible, we prefer the cube to be built a bit on the flimsy side rather than fortify them using too many additional wires as braces which will inadvertently block the view of LEDs at the back of the cube.

For our LED Cube, the LEDs will be arranged in layers of 8x8 matrix with the cathodes soldered together for the rows and anodes soldered together for columns for each layer. So, we need 8 layers of these 8x8 LED Matrix for our LED Cube.

 

STEP 2: Design of jolliCube - Electronic control circuit

Though building the layers of LED Matrix is time-consuming, it is not difficult to complete them.

Most entry level hobbyist may find difficulty building the electronic circuit to drive the LED Cube especially troubleshooting the circuit when things go wrong.

For our electronic circuit, we will basically be using the MAX7219 ICs to drive the cube. We checked out similar projects at Instructables but are unable to find any using this IC to drive LED Cubes. The MAX7219 IC is originally designed to drive 7-segment LED displays. By designing our LED Cube electronic circuit based on this IC, the number of components to drive each layer of LED Matrix is very minimal.

Each layer of the 8x8 LED Matrix will be driven by the electronic circuit using the following components;

a. 1 x MAX7219 IC
b. 1 x 10uF 16V electrolytic capacitor
c. 1 x 0.1uF ceramic capacitor
d. 1 x 12Kohms resistor (1/4W)
e. 1 x 24 pin DIP IC socket

So for our 8x8x8 LED Cube, we will need 8 sets of the above components. Note that you may need to choose a different resistor value to work with the LED you are using. This resistor is to limit the maximum current the MAX7219 IC will supply to the LEDs.

To help entry level hobbyist, we tried to simplify our electronic circuit design using modular design so each circuit shall be driving one layer of 8x8 LED Matrix. You may check out the circuit block diagram to see how our circuit is connected.

To reduce error and effort to wire up the electronic circuit, we have designed a PCB containing 4 of these circuits. So you need 2 of these PCBs to build a 8 layer 8x8 LED Matrix LED cube. All the components used are through-hole components.

Our design does not have any particular microcontroller embedded in our electronic circuit to drive the cube. It shall be driven externally by any micro-controller via SPI interface. For this project, we will be using the popular Arduino board (Nano) to drive our cube using just 3 signal wires (SPI) and 2 power wires (5 V DC). You may use the more commonly available Arduino Uno instead of the Nano as they are very similar except for the size factor. You may also adapt the program codes we will be using to work with any other microcontroller you wish to drive the LED cube.

Do note that all the components are to be soldered to the bottom of the PCB. Look out for the silk screen labels (BOTTOM) or (TOP) on the PCB. One of the photos above shows one of our PCBs with only one of the circuits populated with the required electronic components.

Each modular circuit is demarcated by the white silkscreen line running across the PCB. In order to connect the individual circuits together, we need to use jumper leads/wires to solder from one circuit to the adjacent circuit. The photo above shows the jumper leads we used. They are made from the cathode legs we trimmed off in Assembly Part 1 Step 6. We need 5 jumper leads to connect from one circuit to the adjacent circuit. So for each PCB, we need to solder 15 jumper leads. The photos above show the location of the jumper leads to be soldered on the first and second PCBs (highlighted in RED).

Most LED Cubes are built as a whole so if one LED were to fail in the middle it would be very difficult to access and fix it. For our LED Cube design, we used a 5-way angle female header soldered to the first PCB and a 5-way angle male header soldered to the second PCB. This is to enable the 2 PCBs complete with LED Matrix layers to be connected together to work as well as to separate them apart for ease of access for replacement of faulty LEDs around the middle of the LED cube if the need arises.

 

STEP 3: Build the jigs

Picture of Build the jigs

Some LED Cube projects rely on elaborate jigs to facilitate the build in order to achieve better alignment of the LEDs.
Here, we prefer simple jigs to aid us in the build as we do not want to invest too much time building the jigs. The LED alignments may not be perfect but should be acceptable to entry level hobbyist.
  • Jig #1 is made from a disposable chopstick. We used a junior hacksaw to create 8 straight thin grooves 18mm apart. Ensure that the depth of the grooves is the same as much as possible.
  • Jig #2 is cut out from hard cardboard (around 1.5mm thick). We used the cardboard from a discarded desktop calendar backing. The size is 175mm x 16.5mm.
  • Jig #3 is also cut out from hard cardboard (around 1.5mm thick). The size is 175mm x 25mm.
  • Jig #4 is a wooden board made up of an 8x8 matrix with holes of 3mm diameter and 18mm apart. This jig ensures the LEDs will be evenly spaced and aligned.
For those who may have difficulty building jig #4, you may purchase it as an add-on purchase of jolliCube at our Tindie Store.

 

 

STEP 4: Assembly Part 1 - Build 8 layers of 8x8 LED Matrix

Picture of Assembly Part 1 - Build 8 layers of 8x8 LED Matrix
Bend Cathode 1.jpg

Insert LED 2 Trim cathode legs.jpg
Watch the video below to see how we build the 8x8 LED Matrix layers for our LED Cube.



The following are the main steps we go through to build the 8x8 LED Matrix layers

Step 1. Prepare 8 LEDs with cathode legs trimmed to around 10mm.

Step 2. Insert these 8 LEDs to the leftmost column of holes of jig #4 (see photo above for orientation of LED).

Step 3. Populate all other holes of jig #4 with LEDs.

Step 4. Bend the LED cathode legs.

Step 5. Solder the LED cathode legs.

Step 6. Trim the LED cathode legs (keep the cut-off legs for step 1 of assembly part 2).

Step 7. Test the LEDs.

Step 8. Bend the LED anode legs.

Step 9. Solder the LED anode legs.

Step 10. Test the LEDs again.

Step 11. Prepare cathode wires (We use wire wrapping AWG30 wires with grey insulation. See photo above on the length of wires required).

Step 12. Solder cathode wires.

Step 13. Secure the cathode wires.

Step 14. Remove the 8x8 LED Matrix layer from jig #4.

Step 15. Repeat the steps 1 to 14 to build a total of 8 layers of 8x8 LED Matrix.

 

 

STEP 5: Assembly Part 2 - Complete the LED Cube with control circuit

Watch the video below to see how we complete jolliCube with the control circuit.



The following are the main steps we go through to build the LED Cube control circuit:

Step 1 - Prepare 15 jumper leads from the cathode legs we trimmed off in step 6 of assembly part 1.

Step 2 - Solder the jumper leads onto jolliCube base PCB. The photos above show the location of the jumper leads to be soldered on the PCB (highlighted in RED).

Step 3 - Solder electronic components to PCB #1 for the first LED Matrix layer. Solder 24 way IC socket to IC1. Solder 10uF electrolytic capacitor to C2. Solder 0.1uF ceramic capacitor to C1. Solder 12K ohms resistor to R1. Trim legs for the resistor at R1 and capacitors at C1 & C2. Insert MAX7219 IC to IC socket at IC1.

Step 4 - Repeat step 3 to solder components to PCB for the other three LED Matrix layers.

Step 5 - Solder 5-way female angle header to J4 of PCB #1 for the last LED matrix layer.

Step 6 - Repeat steps 3 and 4 to solder components to PCB #2.

Step 7 - Solder 5-way male angle header to J2 of PCB #2 for the first LED matrix layer.

Step 8 – Trim the 5th LED anode leg of the 8x8 LED Matrix to around 10mm away from the cathode row as shown in the photo above. This is required as the MAX7219 IC is just below this anode leg once we insert the LED Matrix onto the PCB for soldering.

Step 9 - Position the LED Matrix anode legs to the pad holes labeled as G, F, E, D, C, B, A and DP from left to right with the LEDs pointing towards you (Temporarily attach 4 standoffs at the four corners of the PCB to enable the PCB to be placed flat on the table for ease of working).

Step 10 - Solder all the anode legs to the PCB (Place suitable objects such as pencils as guides between the lowest cathode row and the PCB to support the LED matrix to a consistent distance away from the PCB).

Step 11 - Insert the cathode row wires to the pad holes labelled as D0, D1, D2, D3, D4, D5, D6 and D7 and then solder them to the PCB (Ensure wires to D1/D2 and D5/D6 pad holes are correct).

Step 12 - Trim anode legs and cathode wires below the PCB.

Step 13 - Test the circuit after soldering each LED Matrix layer (see next section for detail on testing).

Step 14 - Repeat steps 8 to 13 to complete soldering all 8 LED Matrix layers to the 2 PCBs.

Step 15 - Join the 2 PCBs complete with LED matrix layers together via the 5 way headers on the PCBs.

 

 

 

STEP 6: Test jolliCube

Picture of Test jolliCube

It is good practice to test the cube during assembly after each layer of the 8x8 LED Matrix is soldered. It is much easier to rectify any issue if there is any along the way instead of testing it after everything is completed.

We used an Arduino Nano loaded with our LED Cube test program for testing. See the picture above for the connection of the Arduino Nano to the LED Cube PCB. 

Download the test program and proceed with the test. You should see the LED Matrix rows lit row by row starting from the top row. The test is repeated after all rows are lit.

Click here to download jolliCube test program

 

 

 

STEP 7: Load LED Cube demo program code

Picture of Load LED Cube demo program code

The demo program code for the LED Cube used here is largely adapted from the following two Instructables to work with our jolliCube hardware and Arduino Nano/Uno:

http://www.instructables.com/id/Led-Cube-8x8x8/ by CHR

and 

http://www.instructables.com/id/CHRs-8X8X8-LED-Cub... by SuperTech-IT

Upload the demo program to your Arduino Nano/Uno. Then connect it to jolliCube. See the picture above for the connection of the Arduino Nano/Uno to jolliCube.

Click here to download jolliCube demo program

Power up jolliCube via your Arduino Nano/Uno. Any USB port/adapter which is able to supply at least 500mA should be suitable.

Enjoy the Show!






 

STEP 8: Building the Enclosure

Picture of Building the Enclosure
jolliCube Base.jpg
jolliCubeAcrylicBoxOnly.jpg


You will want to protect your investment after putting in all these hours building the 8x8x8 LED Cube by building an enclosure for it.

We will not delve into the detail on how we build our enclosure here.
We are fortunate to find 6 x 8-inch clear acrylic sheets (2mm thick) at one of our local Art Shop which is just the right size to make a protective case for our LED Cube. We just need to shorten the length of each acrylic sheet using the simple scrape and break method which is fast and produces acceptably nice edges.

We also found acrylic glue which is a solvent for ‘welding’ acrylic at the Art Shop. Using a syringe, we glued the acrylic sheets together to form the protective case.

We acquired an entry level 3D printer recently. So we designed a simple base for our enclosure and have it printed out.

You may want to check out our STL file for 3D printing of our base below.

Click here to download our jolliCube base STL file for 3D printing

We are able to place our Arduino Nano in the base to drive jolliCube to hide it from sight. However, we may need to modify our base for an opening to allow the USB cable to be connected to our Arduino Nano and also some way to secure the microcontroller in place in the base.

EDIT - We stumbled upon a 6 x 6 x 6 inch clear acrylic box display case without base at http://www.collectingwarehouse.com which looks suitable for our LED cube. You may like to check it out if you are looking for a more professional and ready-made case.