Read the engineering article →
Project demonstration
An automatic browser demonstration of the project concept.
Browser demonstration with synthetic inputs; not a recording of FPGA hardware.
Project overview
This hobby design combines stereo audio playback with a visual frequency analyzer. A sample tap observes incoming I²S audio while preserving the playback path; a windowed FFT drives colored bars and peak markers on a 720p display.
Key features
- 24-bit stereo I²S loopback with approximately 48 kHz sampling.
- 256-point radix-2 FFT with a Hann window and fixed-point coefficients.
- 32 frequency bars, peak markers, and frame-latched spectrum updates.
High-level architecture
Notebook architecture

Engineering challenges
The analyzer spans audio, system, and pixel clock domains. Complete samples and spectrum snapshots move through acknowledged handshakes. The FFT reuses arithmetic resources, and analysis pauses briefly during computation without interrupting headphone playback.
Validation & current status
Repository-recorded validation: 13 selected VUnit tests passed, GHDL synthesis passed, and Vivado synthesis, routing, and bitstream generation passed. Reported routed setup slack is +0.247 ns and hold slack is +0.038 ns. Reported utilization is 3,740 LUTs, 2,746 registers, and 8 DSPs. These checks were not rerun for this website update. Combined hardware operation still needs testing.
Scope & limitations
The display uses a linear frequency scale and approximate magnitude, rather than calibrated dBFS. Audio remains on the headphone output; HDMI carries video only.
