Skip to main content

Dual LED Matrix Realtime Audio Visualizer

Dual LED Matrix Realtime Audio Visualizer is a script that captures system audio and displays stereo frequency bars simultaneously on both the left and right Framework 16 LED Matrix Input Modules. Developed by community member Seren (GitHub: 0xSeren), it was released on March 22, 2026 — a feature the author says they had wanted "since the framework 16 modules were first originally showcased"12.

To achieve high frame rates, the project relies on a modified fork of Framework's inputmodule-rs firmware that adds command batching, without which the per-frame serial round-trips limit the achievable FPS23.

How It Works

The tool captures the system audio stream, computes a frequency spectrum, and renders bars across the two 9×34 LED matrix modules — each module showing its own audio channel's spectrum for true left/right stereo separation1. Both modules are driven over USB serial using Framework's standard LED Matrix serial protocol4.

Modified Firmware

The stock Framework firmware sends each draw command as an individual USB serial transaction, which caps the update rate. Seren's fork of inputmodule-rs adds batching so multiple column updates can be sent together, raising the achievable frame rate for real-time visualization23.

Features

FeatureDetails
LanguageNix, Python1
Audio captureSystem audio
DisplayStereo frequency bars on both left and right matrix modules
Stereo modeEach panel shows its own audio channel's spectrum
Brightness--brightness N (0–255, default 100)
Smoothing--smoothing N (0.0 = reactive, 0.9 = smooth)
Mirror--mirror — low frequencies in the middle, highs at top/bottom
Mono--mono — use mono audio instead of stereo
Run commandnix run .
Stars11
CreatedMarch 22, 20261

Installation

Prerequisites

  • A Framework Laptop 16 with both LED Matrix input modules installed
  • The modified firmware from 0xSeren/inputmodule-rs flashed to both modules (required for batching/high FPS)23

Running

The project is built with Nix flakes. Run directly with1:

nix run .

Then play any audio on the system — the visualizer reacts to the live output.

Options

FlagDescriptionDefault
--brightness NLED brightness (0–255)100
--smoothing NBar smoothing (0.0 = reactive, 0.9 = smooth)
--mirrorLow frequencies in the middle, highs at top/bottomoff
--monoUse mono audio instead of stereooff

Technical Details

DetailValue
LanguageNix, Python1
LicenseNot specified in repository1
Firmware dependencyModified inputmodule-rs fork (batching)
DisplayTwo 9×34 LED Matrix modules (RP2040 + IS31FL3741A)
Serial protocolFramework magic bytes 0x32 0xAC + command byte + payload4
Package managerNix flakes
Stars11
CreatedMarch 22, 20261
ProjectDescription
fw16-ledvuPipeWire/CAVA audio visualizer for the LED matrix (Linux)
FW16 LED Matrix VisualizerWindows audio visualizer + Pixel Hero animation player
dark-matrixFull daemon + web UI with an audio-reactive mode
fw16-led-matrixdCross-platform Rust daemon with pair mode
led-matrix-managerQt GUI for LED matrix management

Footnotes

  1. 0xSeren/framework-inputmodule-audio-visualizer — GitHub 2 3 4 5 6 7 8 9 10

  2. [Release] Dual LED Matrix Realtime Audio Visualizer — Framework Community (Seren, March 22, 2026) 2 3 4

  3. 0xSeren/inputmodule-rs — Fork of FrameworkComputer/inputmodule-rs with batching support (GitHub) 2 3

  4. FrameworkComputer/inputmodule-rs — Framework Laptop 16 Input Module Firmware/Software (GitHub) 2