Another cool buy that I’ve found on eBay is a 8×8 LED matrix powered by the MAX7219 (Example: http://goo.gl/lkyY4c). 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 (http://goo.gl/rkt1VB) 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.