Some of the more in-your-face pieces of wearable technology are macetech’s RGB Shades and LED Matrix Shades. They’re shutter shade sunglasses with a twist: the front surface is crammed with individually controllable LEDs. It’s an attention-grabbing effect, and the person wearing the Shades can see through the LED array just fine.

The newest RGB Shades prototype was unveiled at Maker Faire Bay Area 2014. It uses the popular WS2812 RGB pixels, has an integrated Arduino-compatible controller, and folds up neatly thanks to some hinges made of PCB material. It’s all powered with a common USB rechargeable battery pack. The LEDs are so bright that they’re usually run at 1/5th maximum brightness.

I’ve been having a lot of fun programming patterns for the RGB Shades and LED Matrix Shades, and decided to demonstrate adding an audio response circuit. Since a few of the spare analog and digital ports on the Arduino-compatible controllers are brought out to wire pads, I only needed to build a small audio processing board, wire it up to the RGB Shades, and tweak the code to use the new sensor.

The external circuit is pretty simple. It’s an electret microphone, a microphone preamp, and an MSGEQ7 [https://www.sparkfun.com/products/10468] audio analysis chip. The microphone preamp was implemented with an LM358 op-amp chip (SOIC because I didn’t have a DIP version on hand), and the MSGEQ7 accepts audio input from the amplifier and outputs seven different analog values corresponding to available frequencies in the signal. In short, the purpose of the circuit is to pull in sound and output the amount of bass, mid range, and treble detected by the microphone.



Everything was assembled on a small piece of proto board, using the printed out schematic as a constant reference. Aside from the two ICs and the microphone, six resistors and five capacitors were needed. All the connections were made with 30AWG wire-wrapping wire. After a quick test on the oscilloscope, the new audio processing module was soldered to the RGB Shades controller. I already had a few projects using both WS2811/WS2812 LEDs and the MSGEQ7, so it was easy to whip up a few test patterns. The code uses the Adafruit NeoPixel library, which makes it simple to output the finicky WS2811 single-wire protocol.

I also took the same circuit and added it to the LED Matrix Shades (single color, but more resolution and built-in battery). Since the controllers are Arduino-compatible, the code to access the MSGEQ7 works on both devices without modification.

The final result appears to respond to music very well, providing real-time visual effects that match the beat. There’s definitely a lot of potential for more sound-reactive patterns. Or maybe other sensors could be added, to detect heartbeats, or skin resistance…as long as you can solder and whip up some code, it’s all possible!

Arduino sketch for the RGB Shades: Download zip file

Arduino sketch for the LED Matrix Shades: Download zip file