Hi all, I've seen a few posts on here about spectrum analyzers with FastLED

Hi all,

I’ve seen a few posts on here about spectrum analyzers with FastLED and I am trying to figure out the best way to do one for my project.

I thought I would probably get the best quality using something like this:

If I understand correctly, this would allow me to directly receive input from a stereo audio source (say my phone) and also output stereo to speakers, and the FFT is all done on the MSGEQ7 chips. I have a 16x16 array, and I know that I only get 7 frequency bands from the chip so I’m not quite sure how I want to display it on the board. I could fit both left and right channels on with two spaces in the middle. Or merge the channels and make each band two pixels wide, leaving space at the edges.

I’m also considering just using a MIC to pick up audio instead:

Then send that audio signal to input of MSGEQ7. This is already about $17 though versus the $25 for the SparkFun board, which would also give me some space to solder other components. It would be fun though to pick up voices.


What I would really like to find is a similar breakout board with both 1/8 input and output, but without the MSGEQ7. Just direct analog input that I can process myself with FFT just like when using a MEMS microphone breakout directly hooked to a Teensy (https://learn.adafruit.com/fft-fun-with-fourier-transforms/overview-1).

My 2 bits:

An MSGEQ7 provides support for 7 frequency ranges, and works with very low overhead on any AVR. It’s a bit of extra hardware, but the easiest to work with.

The OpenMusicLabs FHT library provides customizable support for MANY frequency ranges, but takes a LOT of overhead and barely works on an AVR and only with APA102 LED’s (aka 4 pin). It doesn’t require additional hardware. This is what I use.

The Teensy has runs at a much higher clock speed and has a very cool FFT library available. Have not tried it.

MSGEQ7 is definitely way easier to get started with. I would then progress to Teensy + mic once you are much more familiar with working with audio data

@Andrew_Tuline Thanks, I don’t have tons of space which is why I was leaning towards the chips for processing. Unfortunately I am using 3-pin LEDS.

If you want to go beyond the 7 segment analysis of the MSGEQ7, then the teensy wth the teensy audio board is the way to go.

DFRobot has a really nice eq module https://www.dfrobot.com/product-514.html smaller footprint

My brolly runs FFT with a microphone and 480 WS2811s on an ESP32. This is working surprisingly well :slight_smile:

And ESP32s are great value for money…

@Jeremy_Spencer Does it still lose some sampling while writing the leds or can you run the sampling on the second cpu?

@Franck_Marcotte FastLED.show() runs on one core, the FFT sampling runs on the other core :slight_smile:

I can’t remember which core runs the WiFi but its super fast, much quicker than an ESP8266.

I’ve got it runnning on my brolly with 480 WS2811s (12 way parrallel) and on my hat with 296 SK9822s (similar to APA102Cs)

@Jeremy_Spencer Very nice!! Thanks for the info