Skip to main content

LED Matrix Vocab

LED Matrix Vocab (also titled "LED Matrix Word Randomizer") is a web-based Japanese vocabulary study tool for the Framework Laptop 16 LED Matrix modules, developed by community member Jacob Padgett (GitHub: jpadgett314). It periodically displays a random Japanese word on the LED Matrix modules, turning idle screen real estate into a passive language-learning aid1. The app is available as a live demo and can be installed as a Progressive Web App (PWA) for offline desktop use1.

How It Works

The app uses the Web Serial API to communicate with up to two LED Matrix modules installed in the Framework Laptop 16. A random Japanese word is selected from built-in JLPT word lists (or user-created custom lists) and rendered as scrolling text on the connected LED Matrix display1. The browser tab shows the current word with a link to Jisho.org for full definitions2.

Word Rendering Pipeline

  1. Word selection — a random word is drawn from the active word source (JLPT level or custom list)
  2. Font rendering — the word is rendered to an OffscreenCanvas using the jiskan16 bitmap font (converted to WOFF2), with pixels below 75% brightness discarded to handle anti-aliasing artifacts3
  3. Frame encoding — the rendered image is encoded as a 9x34 brightness map suitable for the LED Matrix
  4. Serial transmission — frames are sent to the module via Web Serial through a dedicated Web Worker to avoid throttling when the browser tab is inactive1

Dual Module Support

The app supports both the left and right LED Matrix module slots independently. A swap button exchanges the port assignments without reconnection2.

Features

FeatureDetails
LanguageJavaScript (no bundler, no build step)
InterfaceWeb Serial API (Chromium-based browsers required)
Firmware supportDefault firmware (auto-detected) and FW_LED_Matrix_Firmware (auto-detected)1
Word sourcesJLPT N5, N4, N3, N2, N1 (separate lists), Wikipedia word frequency, custom word lists13
Auto modeConfigurable interval (5–300 seconds, default 60) with countdown display2
Custom word listsCreate, edit, delete custom vocabulary collections stored in localStorage1
Offline / PWAInstallable to desktop; service worker enables offline use1
ThemeLight, dark, and auto modes2
Dual moduleIndependent left/right connections with port swap2
Jisho.org integrationDirect link to full word definition on the Japanese dictionary site2

Third-Party Assets

AssetLicenseSource
jiskan16 fontPublic Domainjf-dotfont
JLPT words by levelCC BY 4.0Kaggle
jawiki word frequencyMITIlyaSemenov/wikipedia-word-frequency

Version History

VersionDateChanges
0.1.02025-11-09Initial release with JLPT word lists and auto mode1
0.2.02025-11-21Added support for sigroot firmware (auto-detected)3
0.3.02025-11-24Custom word lists panel with create/edit/delete controls3
0.3.22025-12-16Separate JLPT-level word sources; service worker activation fix; firmware detection fix3

CJK Font Rendering

Rendering CJK characters on the 9-pixel-tall LED Matrix presents significant challenges. The browser's font engine applies anti-aliasing to the jiskan16 bitmap font, which produces poor results at small pixel sizes. The app works around this by rendering to an OffscreenCanvas and discarding pixels below 75% brightness, producing clean monochrome output. The font was converted from TrueType to WOFF2 (dropping unused embedded bitmap tables) with no change in final appearance3.

ProjectDescription
led-matrix-controllersCross-firmware abstraction library by the same author, extracted from this project. Supports default, sigroot, and sparkle firmware via Web Serial and WebHID4
FW_LED_Matrix_FirmwareAlternative Arduino-based firmware with direct PWM/scale control and higher grayscale fidelity5
inputmodule-rsOfficial Framework firmware, CLI, and Python tools for the LED Matrix6
dotmatrixtoolFramework's official LED Matrix drawing tool; the original inspiration for this project1

Technical Details

DetailValue
LicenseMIT1
Stars61
Contributors1 (jpadgett314)1
CreatedNovember 9, 20251
SourceServed directly from public/ directory — no bundler or build step1

Footnotes

  1. jpadgett314/led-matrix-vocab — GitHub 2 3 4 5 6 7 8 9 10 11 12 13 14 15

  2. LED Matrix Word Randomizer — Live demo 2 3 4 5 6

  3. Review Japanese vocab using LED Matrix Modules. Try it now! — Framework Community (Jacob_Padgett, November 2025) 2 3 4 5 6

  4. jpadgett314/led-matrix-controllers — GitHub

  5. sigroot/FW_LED_Matrix_Firmware — GitHub

  6. FrameworkComputer/inputmodule-rs — GitHub