Introduction: 3D Stereo Audio Spectrum Visualizer

In one of our earlier instructables, we built an Arduino based Audio Spectrum Visualizer using our bi-color LED Matrix modules for the display. You may check it out at https://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 https://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

In this instructable, 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

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

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

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!

Update note: This project was created quite a few years ago and the program is written to work with Arduino IDE version 1.0.6 then. Please download the older Arduino IDE version if you want to use the program without modifications. The program may not work with newer Arduino IDE versions.

Step 4: Testing the Audio Spectrum Visualizer

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

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.