Long ago I picked up a 16x32 LED display from Adafruit. This thing was amazing, but I didn't know what I would do with it. When I found this graphic equalizer chip on Sparkfun, I decided to put the two together. The display uses a microphone, so any sounds or music can be picked up. Total cost is about $100, but I can put together a bill of materials if there's interest.
This time I wanted to set up a permanent circuit; jumper wires and breadboards were unruly and would not be appropriate for the design I was aiming for. I wanted everything to be self-contained, so the device could be mounted on my wall or sit atop a speaker.
Above is my prototype setup, connecting the display directly to the Arduino and using a breadboard to prove my circuit. On the bottom of the breadboard you can see the MSGEQ7 chip straddling the divider and an electret microphone breakout. On the top is a potentiometer to control the brightness, and a voltage regulator because I only had 9V adaptors. I had to use a separate power rail between the display and the audio, because one was interfering with the other; the display uses the external regulator while the audio uses the Arduino's internal regulator.
Above and below: circuit diagrams for the prototype shield. The shield sits atop the arduino and allows you to plug in the display ribbon cable, the voltage regulator, the microphone, the potentiometer and the equalizer chip.
(If you're an EE and you're actually looking at the circuits, you might notice some resistors and capacitors connected in series. I didn't have all of the right capacitors or resistors on hand, so I had to make due.)
Above and below: here is the prototype shield after about 12 hours of soldering. This is the part I'm most proud of. I thought everything came together well.
To package the thing, I used the plastic box from my first Arduino starter kit. I think these things can still be found at RadioShack. I crammed all of the electronics in the box and screwed the screen to one side.
I dremeled openings for USB and VIN, made some room for the ribbon cable, and made openings for the potentiometer and the regulator. I used some risers to screw in the Arduino. This was my first project that wouldn't rattle around if you shook it. The risers were pretty high, making for a tight fit.
Placing the shield on top of the Arduino
Screwing the case to the display
Attaching the ribbon cable
The heatsink is taped to the top. It looks stupid but I didn't have a better place for it.
Here you can barely make out the blue pot on the bottom right for brightness control.
All in all this project took about 24 hours of work spread out over two or three weeks. It was by far the most complex and rewarding I've done so far. Many parts were frustrating, but the result is great.
Next up, I might include this with a bluetooth speaker.
I got a lot of help from J Skoba's use of the MSGEQ7 and Adafruit's instructions for their 16x32 LED display.