STM32F0 Graphic Equalizer

Another cool buy that I’ve found on eBay is a 8×8 LED matrix powered by the MAX7219 (Example: Its really easy to interface and uses SPI which I’m beginning to think is my favourite protocol!

The STM32F0 is a pretty high quality processor based on the ARM Cortex M0 and doing a simple 8 point DFT isn’t particularly hard.

To some people reading the code, it might seem a bit odd how I’ve programmed the rows and columns, the only reason for this was so I could insert the 8×8 LED board directly into my breadboard, hence the rows and columns were changed to fit the orientation.

The MAX7219 chip ( has a 16 level brightness controller and in the program, I mapped the average intensity to brightness so when really large peaks hit, the brightness of the screen increases. This was really easy and was just a filtered version of the sum of all the 8 DFT bands. The sample rate is 48kHz and the bands are spread pretty evenly throughout the frequency range. The input signal is merely windowed with a rectangular function which might explain the presence of so much low end (though it was a dubstep song!)

I recorded a quick video too!

As with all my other posts so far, once I figure out github, I’ll upload the code.

7 thoughts on “STM32F0 Graphic Equalizer

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s