3D Spectrum Analyzer uses 1280 LEDs

One of [Dooievriend]’s friends recently pressed him into service to write software for a 3d spectrum analyzer/VU that he made. The VU is a fairly complex build: it’s made up of 1280 LEDs in a 16x16x5 matrix controlled by a PIC32 clocked at 80MHz. [Dooievriend] wrote some firmware for the PIC that uses a variation on a discrete Fourier transform to create a 3D VU effect.

j6v2i When [Dooievriend] set out to design the audio analyzing portion of the firmware, his mind jumped to the discrete Fourier transform. This transform calculates the amplitude in a series of frequency bins in the audio—seemingly perfect for a VU. However, after some more research, [Dooievriend] decided to implement a constant Q transform. This transform is very similar to a Fourier transform, but it takes into account the logarithmic way that the human ear interprets sound.

[Dooievriend] started implementing the constant Q transform using an interrupt-based sampler, but he quickly ran into issues with slow floating-point math on his PIC32 (which doesn’t have a hardware floating-point unit). Thankfully he rewrote his code using fixed-point math, and the transform runs nearly real-time. Check out the video after the break to see the VU in action, and a second video that gives some details on the hardware build.

Continue reading “3D Spectrum Analyzer uses 1280 LEDs”

ATmega8 Spectrum Analyzer

[Manekinen] built a very responsive spectrum analyzer. The components at the party are what you’d expect, an ATmega8 does the hard work interpreting data from the LM324 op-amp. This build stands out because it is fast and configurable. In fact, the explanation of the calibration process is where this project shines.

Instead of using water, an HD44780 module displays the spectrum data. The device currently supports several different character displays including 16×2, 20×2, 24×2, and 20×2. We’ve embedded a video of a 20×4 VFD in action after the break. As the video progresses, watch for the Polish words that pop up. This corresponds to the brightness and sensitivity being adjusted with the 5-button keyboard.

Continue reading “ATmega8 Spectrum Analyzer”