USB LED strips
WS2812B and SK6812 RGBW chips over CH340 / CH341 / FT232 / PL2303 / CP2104 USB-serial controllers at 115200 baud — running the LumaSync v1 serial frame or the opt-in Adalight profile.
Supported chipsets →Open source · Tauri 2 · MIT
LumaSync mirrors your screen to WS2812B / SK6812 RGBW LED strips over USB, WLED boards over Wi-Fi, and Philips Hue Entertainment areas — all from one source. Local-only, brand-agnostic, MIT-licensed.
macOS · Windows · Linux
All at once
WS2812B and SK6812 RGBW chips over CH340 / CH341 / FT232 / PL2303 / CP2104 USB-serial controllers at 115200 baud — running the LumaSync v1 serial frame or the opt-in Adalight profile.
Supported chipsets →Drive ESP32 / ESP8266 boards running WLED firmware via the DDP protocol — auto-discovered on the LAN over mDNS or paired by static IP. Loopback, multicast, and broadcast addresses are rejected up-front.
WLED setup →DTLS 1.2 PSK streaming to any Entertainment Area at up to 20 Hz, with Hue Zones, AR-locked sizing, and per-bulb gamut clipping for accurate colour.
How Hue streaming works →Same screen source drives every sink. Pick per mode — USB, WLED, Hue, or any combination — switched from the tray.
Ambient mode
Tuned for latency, not flash. The telemetry pill shows live capture and send rates so you can see when the pipeline is healthy and when it isn't — no mystery numbers.
Read about performance →
Room map editor
Drag your TV, furniture, and USB strips onto a grid. Hue channels project onto normalized coordinates. Undo / redo, snap guides, keyboard shortcuts.
Calibration docs →Lives in the menu bar
Single window hides to tray on close. Compact 320×480 mode for quick toggles, full 900×620 mode when you want to configure. Auto-starts on login, if you want it to.
First-setup walkthrough →
Platform support
Primary development target. Universal DMG (Apple Silicon + Intel).
Signed MSI installer, winget in progress. All three sinks fully functional.
Native X11 screen capture (xcap). AppImage / deb / rpm ship every release; Flathub submission underway. Tray behaviour still varies by desktop environment.
Open · signed · auditable
MIT licensed
Source at voyvodka/LumaSync. Fork it, ship it, read it.
Updates signed with minisign
Every binary is signature-verified before replacing the on-disk version. How updates work.
Credentials stay local
Hue bridge pairing and everything else lives in
~/.config/lumasync/app.json on your machine.
Picking an ambilight tool
LumaSync is the open-source desktop ambient-lighting app for Philips Hue and WS2812B LED strips. It sits in a different category from each of the alternatives below — pick the comparison that matches what you already own. Not to be confused with the Sync-on-Luma RGB SCART signal used in retro consoles or the lumalabs.ai video tools.
vs Philips Hue Sync
Hue Sync Box is HDMI hardware for TV-centric rooms. LumaSync drives Hue from a computer — different category, different problem.
Read comparison →
vs WLED
WLED is firmware on an ESP32 board with its own Wi-Fi web UI. LumaSync is the desktop app — often run alongside WLED, not instead of it.
Read comparison →
vs Hyperion
Hyperion is the RPi-first ambilight stack with a deep config surface. LumaSync runs on the computer you already use, no Pi required.
Read comparison →
vs Prismatik
Prismatik is the legacy Lightpack-era driver. LumaSync is built from scratch for current hardware — Hue Entertainment, Tauri 2, signed updates.
Read comparison →
Transparent about scope
No vaporware, no silently-aging footnotes. What shipped, what's queued, and what we've explicitly rejected — read end-to-end.
_wled._tcp.local.) and IP guard against loopback / multicast / broadcast
W = min(R,G,B)
extraction; expanded USB allowlist (PL2303, CH341, CP2104, FT232H)
updateChannel shell state
with separate latest-beta.json endpoint
console.* calls now write into
the platform log file alongside Rust log entries
glib 0.18 → 0.19 migration to clear the remaining
RUSTSEC-2024-0429 Linux-runtime warning (gated on Tauri / gtk-rs upstream)
No dates promised. The LedSink abstraction (v1.4) and the WLED bridge (v1.5) make
the OpenRGB track tractable.
These are rejections, not "not yet" items.
Honest filter