WS2812B Neopixels were used for this project. These LEDs contain an IC that allows for each LED to be individually addressable. This is ideal for showing the volume of each individual frequency band by turning on additional LEDs as volume increases.
The MSGEQ7 chip is a CMOS IC that is essential for audio equalization. Using an audio input, the chip splits the frequency spectrum into a set of 7 frequency bands. After the passband filters divide the spectrum into the seven bands, peak detectors establish the DC values that will be passed when a multiplexed band is selected. The DC output is then sent to the microcontroller through IC pin 3.
The bands are read by reading the lowest frequency band and passing a DC value to the microcontroller. The chip Strobes and the next frequency band is read on the rising edge. This is continued until all 7 bands have been read. The chip is then Reset.
To build the circuit, the msgeq7 datasheet revealed the supporting resistors and capacitors needed externally to use the chip. This simply consisted of a filtering capacitors and current limiting resistors placed throughout the circuit. Below is a capture taken straight from the msgeq7 datasheet. It contains the suggested hardware implementation for utilizing the chip.
After creating the schematic, each pin was referenced to a specific pin on an Arduino Uno. This microcontroller has the same microprocessor and pinout, but also has much more open-source support. Below is the schematic our team created for tying the msgeq7 chip circuitry into an arduino uno pinout to match the Xplained Mini board.
To create the printed circuit board (PCB) layout, Upverter.com contained a library with an Arduino Uno body with correctly placed headers. This allowed for the msgeq7 circuitry to be placed onto the forked Uno layout. The final result is an equalizer shield for an Arduino Uno that has stereo inputs. The top copper of the single sided PCB was poured to connect a common ground for the schematic. This allowed for maximum heat dissipation as well as fewer traces to map. Below is the PCB layout our team created for our equalization board. This allows the user to use this board as a shield for the Xplained Mini or an Arduino Uno.