Summary of Arduino Processing Audio Spectrum Analyzer
This project demonstrates creating a Processing program that analyzes computer audio and transmits data to an Arduino, which drives an LED matrix to visualize the sound spectrum. The tutorial covers sourcing materials, wiring configurations, and adapting code examples for real-time audio visualization using specific hardware components.
Parts used in the Audio Spectrum Analyzer:
- Arduino (any version or variant)
- LED Matrix (specifically a 32x16 bicolor matrix from Sure Electronics)
- Driver chip (HT1632C integrated in the 32x16 matrix or MAX7219 for 8x8 matrices)
In this Instructable I am going to show how to make a program in Processing that analyzes sound on your computer and sends data to an Arduino that controls an LED matrix to show the spectrum analysis.
I will be explaining where to get materials, explaining the coding and wiring needed and providing example programs that can be adapted.
I will be using an Arduino Nano and and a 32×16 LED Matrix from Sure Electronics.
Step 1: Required Materials/Software and Where to Get Them
The required materials are:
1) An Arduino(doesn’t really matter which version/variant)
2) LED Matrix (for this Instructable, I use a 32×16 bicolor matrix, but any matrix should work)
3) A driver chip if your LED matrix doesn’t have them integrated, I will be explaining this in more depth.
Inexpensive LED Matrices: Sure Electronics: http://stores.ebay.com/Sure-Electronics
The display I use: https://www.ebay.com/itm/254190275503 hash=item3b2eebcbaf:g:Ix4AAOSwJZRcp95J
Required Software:
1) Arduino IDE (I am using version 1.0) found here: http://arduino.cc/en/Main/Software
2) Processing IDE found here: http://processing.org/download/
Step 2: Wiring
The wiring for this matrix from Sure Electronics, wiring is really simple. The 32×16 bicolor(red, green) uses four HT1632C driver chips integrated into the back of the matrix. The driver chips are what are actually responsible for controlling all the LEDs in the matrix. This particular board is 32×16 ‘pixels’ so to speak. But this is a bicolor matrix so there is actually 1024 LEDs on this board. Now that’s a lot of LEDs, but because of the driver chips, we only use 4pins plus +5V and GND to connect the Arduino to the display. This display can also be daisy chained to 3 other displays and still only need 4 pins from the Arduino.
For other matrices, the wiring can range in difficulty. A standard 8×8 matrix needs 16 pins to control it without a driver chip. I will explain about driver chips in the next step.
The 4 pins needed are for the display’s Data, CLK, CS, and WR. The connector on the driver chip should be labeled with these or be stated on the chip’s datasheet. I have included the wiring for the 32×16 display as shown below. The pins used on the Arduino below can be changed, but the values in the coding must be changed to match.
Step 3: Driver Chips
For a 8×8 matrix, I would suggest getting a MAX7219. This driver chip can control a 8×8 matrix, or 8, 7-Segment displays and only use 4 pins plus a +5V and GND. The MAX7219 can also be daisy chained to another 9 drivers. There are other driver chips available, but the MAX7219 has an Arduino library in existence which makes coding easier for beginners.
For more detail: Arduino Processing Audio Spectrum Analyzer
-
What software is required to build this project?
The project requires the Arduino IDE (version 1.0) and the Processing IDE. -
Can I use any version of the Arduino for this project?
Yes, the article states that it does not really matter which version or variant of the Arduino is used. -
How many pins are needed to connect the 32x16 matrix to the Arduino?
Only 4 pins plus +5V and GND are needed because the matrix has integrated driver chips. -
Which driver chip is suggested for an 8x8 matrix without integrated drivers?
The MAX7219 driver chip is suggested as it uses only 4 pins plus power and ground. -
Does the MAX7219 support connecting multiple displays?
Yes, the MAX7219 can be daisy chained to another 9 drivers. -
What are the four control pins required for the display connection?
The four pins needed are Data, CLK, CS, and WR. -
How many LEDs are on the 32x16 bicolor matrix described?
There are 1024 LEDs on the board since it is a bicolor matrix with 32x16 pixels. -
Is the Arduino library for the MAX7219 suitable for beginners?
Yes, the article notes that the MAX7219 has an existing Arduino library which makes coding easier for beginners.


