AVR audio spectrum monitor on graphical LCD

Running a Fast Fourier Transform (FFT) algorithm on an 8-bit microcontroller can be challenging. Here are a few reasons why: This is an original version of the previously posted AVR FFT analyzer. Chan developed it some time ago and is still a good reference for those willing to build or modify their own FFT analyzers.   On SG12232C graphical LCD, there are who parts displayed: waveform and spectrum. It looks fantastic and authentic when playing music. The program runs on AVR Atmega8 microcontroller clocked at maximum 16MHz frequency. The signal is passed through an 8th-order elliptic filter(anti-alias filter) implemented on MAX293. The hardest part of this project was implementing an FFT algorithm requiring lots of processing. But Chan has reached 9.6kHz sampling with 75Hz resolution, which is enough for visualization. Besides firmware author also provides fixed point FFT library optimized for Atmega microcontrollers so anyone can enjoy creating similar projects.

Continue reading