Skip to main content

FW16 LED Matrix Visualizer

FW16 LED Matrix Visualizer is a real-time PC-audio visualizer and pixel-art animation player for the Framework Laptop 16's dual LED Matrix Input Modules, developed by community member Imdad3456. It talks to the two 9×34 modules directly over serial (no ledmatrixctl calls in the hot loop) for fast, responsive updates, and runs persistently in the background via a system-tray app that survives reboots through a Windows Scheduled Task1. It is Windows 10/11 only and licensed under MIT1.

Features

Audio Visualizer

Captures real Windows system audio via WASAPI loopback and splits it into 18 frequency bars across both panels. Three display modes are available1:

ModeBehavior
Split spectrumOne 18-bar spectrum — low frequencies on the left panel, high on the right
StereoEach panel shows its own audio channel's complete spectrum (true L/R separation)
MonoThe same spectrum duplicated on both panels

Live-tunable controls include gain, fall speed, brightness, flip, rotate 90°, centered growth, and mirror (bass-in-the-middle) — all adjustable while running1.

Pixel Hero

A scripted pixel-art scene (hero vs. monster battle, HP bars, a level-up celebration) that spans both panels as one combined 18×34 canvas, looping forever1.

Background Operation

A system-tray app drives the panels persistently, survives reboots (via a Scheduled Task, not a fragile Startup folder shortcut), and auto-recovers if it ever loses the serial ports. Modes can be switched from the tray menu or the GUI without touching hardware or restarting1.

Resilient COM Port Handling

The two identical LED Matrix modules don't reliably keep the same COM port (or even the same USB "location") across reboots. The app identifies each module by its USB serial number where available, and by elimination otherwise, so it finds the correct left/right panel even when Windows renumbers the ports1.

Features Table

FeatureDetails
LanguagePython, Inno Setup1
PlatformWindows 10/11 only
Audio backendWASAPI loopback (real system audio)
Frequency bars18 across both panels
Audio modesSplit spectrum, Stereo, Mono
AnimationPixel Hero pixel-art scene (18×34)
Background runnerHeadless system-tray app (pystray)
Auto-startWindows Scheduled Task (survives reboots)
COM port resilienceIdentifies modules by USB serial number
GUITkinter control panel
SerialDirect pyserial (no ledmatrixctl in hot loop)
LicenseMIT1
Stars01
CreatedJuly 10, 20261

Installation

Download the Installer

  1. Download FW16LEDMatrixVisualizer-Setup-*.exe from the latest release on GitHub. No admin rights are needed to install (only the optional "start at login" checkbox needs admin, prompted via normal Windows UAC)1.
  2. Launch from the Start Menu or Desktop shortcut.
  3. In the GUI: pick left/right COM ports (Setup → "Refresh ports"), pick a speaker (or use system default), and hit Start.
  4. Optional: check "Start automatically at Windows login" for persistent background operation.

Build from Source

py -m pip install soundcard pyserial numpy pystray Pillow
python fw16_gui.py

To build the standalone installer1:

py -m pip install pyinstaller
python -m PyInstaller fw16_installer.spec --noconfirm
"C:\path\to\Inno Setup 6\ISCC.exe" installer\fw16_installer.iss

Project Layout

FilePurpose
fw16_viz_core.pyShared DSP, serial protocol, port resolution, settings persistence
fw16_gui.pyTkinter control panel
fw16_background.pyHeadless system-tray background runner
fw16_animations.pyPixel Hero animation engine
fw16_pc_audio_visualizer.pyStandalone CLI version of the audio visualizer
fw16_installer.specPyInstaller build spec
installer/fw16_installer.issInno Setup installer script

Technical Details

DetailValue
LanguagePython, Inno Setup1
LicenseMIT1
PlatformWindows 10/11
Audio captureWASAPI loopback (via soundcard)
DisplayTwo 9×34 LED Matrix modules (RP2040 + IS31FL3741A)
Combined canvas18×34 (612 LEDs)
Serial protocolFramework magic bytes 0x32 0xAC + command byte + payload2
GUI toolkitTkinter
Traypystray
InstallerInno Setup (NSIS-style)
Stars01
CreatedJuly 10, 20261
ProjectDescription
Dual LED Matrix Audio VisualizerStereo frequency bars across both modules (Nix/Python)
fw16-ledvuPipeWire/CAVA audio visualizer for the LED matrix (Linux)
dark-matrixFull daemon + web UI with an audio-reactive mode
fw16-led-matrixdCross-platform Rust daemon with image rendering and pair mode
fw16-pongwarsPong Wars game for the FW16 LED Matrix

Footnotes

  1. Imdad3456/fw16-led-matrix — GitHub (README, project layout) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

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