Description: The Spectrum Shield enables your Arduino with the capability of splitting a stereo audio input into 7-bands per channel. You can then read the amplitude of each channel using the ADC on your Arduino allowing you to control everything from LEDs to motors, pumps to relays, or even fire, all with sound. With this shield you will be able to have almost any project be able to react to music or sound!
The Spectrum Shield features the MSGEQ7 graphic equalizer display filter. Two of these ICs allow you to split a stereo audio input into 7-bands (per channel) and read the amplitude of each using the ADC on your Arduino. The shield is populated with two 1/8" stereo jacks (like you would find on a pair of headphones). One serves as a stereo input and the other is a pass-through output which allows you to connect the Spectrum Shield in-line between your audio source and your stereo system without interruption. This revision of the Spectrum Shield has been updated to the Arduino R3 layout but still requires you to solder on your own headers (check the Recommended Products section below). This shield can be used to create sound visualizers, detect patterns in music or add sound activation to your microcontroller projects.
Note: This product is a collaboration with Ben Moyes of Bliptronics. A portion of each sales goes back to them for product support and continued development.
Based on 8 ratings:
1 of 1 found this helpful:
This board is really good at what it does. The 2 MSGEQ7s really work well. It is worth noting that the hookup guide is incorrect. The reset for the MSGEQ7s is tied to pin 5, and the strobe is tied to pin 4. I highly recommend keeping the input aux cable as short as possible to mitigate noise. When reading back data, all of the frequency bands settled to an Arduino analog value of ~60 with no signal (which is totally fine relative to the 1023 max value). Be careful to calibrate the imput volume level so you don’t get clipping. I found that 100% volume on my computer clipped the middle values significantly. About 75% seemed to work great.
Thanks for the feedback - we updated the hookup guide to reflect that!
2 of 2 found this helpful:
Nice little board that does a specific thing (reading stereo audio levels over 7 different frequency ranges) very well. Easy to use with an Arduino, and the shield has enough room to mount a pro mini board right on it. The audio in and audio out is a nice feature (allowing stereo audio through).
1 of 3 found this helpful:
I am very disappointed in this board. There is so much that needs to be done in software to eliminate the noise and then artificially inflate the input readings that this board is nearly useless for anything other than maybe giving four or five levels of actionable values. I’ve read in many other places that there are much better ways to hook up and utilize the MSGEQ7’s. Do yourself a favor: since this board requires some soldering anyway, spend a couple bucks and get the IC’s themselves and a couple other components and build something yourself. Skip this dud. I will be desoldering my Teensy from this board ASAP. I heartily wish I could return it.
Hi, Please drop us a line directly. We’ll be happy to work with you on this. Thanks - https://www.sparkfun.com/returns
After soldering a few of the Sparkfun Spectrum Shield’s connections and connecting them to the Arduino, the source code was easy to write. Adding the SparkFun Electret Microphone Breakout to the Spectrum Shield allowed a voice analysis instead of an audio cable input analysis. The Spectrum Shield paired with the Arduino and microphone lit up LEDs that corresponded to the frequency calculated by the Spectrum Shield. Easy to put together and very efficient!
An excellent and relatively easy way to enhance a project with a sound visualizer!
One item of note: In my application, my stereo did not have an unused audio output that I could dedicate to the Spectrum Shield. For want of a better option, I connected the Shield in parallel with the speaker channels. Powering the Arduino/Shield from the same power source used by the stereo created a noise in the audio (high-pitched whine from the speakers) due to how ground is distributed in this configuration. **I should emphasize that this IS NOT a problem with the Spectrum Shield, just a problem with the only practical way I could install it in my specific application. However, there are only so many ways the casual tinkerer will connect this type of device. I imagine that others might encounter a similar situation.
My solution (admittedly not a very elegant one) was to isolate the Spectrum Shield audio input behind a 1:1 transformer (the off-the-shelf part is called a Ground Loop Isolator, ~$10 from several bigbox stores), this removed all noise and had the added bonus of preventing the audio input from floating; creating a clean, silent, signal for the Spectrum Shield to analyze when audio source was muted. Audiophiles will be quick to point out that Ground Loop Isolators often dampen or block the lowest frequencies. So If you are using the Spectrum Shield to create precision instrument, this solution may not be for you. For what its worth, I didn’t notice a difference in performance with the Spectrum Shield behind an isolator with my sound visualizer.
TL;DR: If your project requires that your Arduino share power and ground with your audio source, adding a Ground Loop Isolator between your audio source and the Shield’s audio input may address noise issues in certain situations.
0 of 1 found this helpful:
Revised Original post Another poor buy, I had bought this board last year before the took them off the site to fix a problem with the old board. When this model came back online I was very excited to be able to build with it again. The only problem is once I bought it and set up my circuit, it only worked properly for about an hour. After this it began to have a heavy noise interference and not work properly. Very disappointed.
After talking to the people at Sparkfun we realized it was just something small and I was able to edit the code to cut out the extra noise that was causing weird effects on my project. It works now but just not to the full potential but it is working so that is good. I would buy it again but I would be more hesitant about it.
Pretty easy to use. Takes less than 15 minutes to set everything up and run. Have not encountered any noise issue like some folks mentioned.
This was exactly what I needed to add audio detection to my project. Sample code worked perfectly and sped up development. Thanks!