Skip to content

Repository files navigation

Lumea

Lumea

Desktop control for ELK-BLEDOM / MELK Bluetooth LED strips — drive multiple strips at once with a live color picker, presets, and a system tray.

Version Windows macOS Python License

Quick start

pip install -r requirements.txt
python main.py

If pip install fails on the newest Python, use a 3.11–3.13 interpreter (PySide6/Pillow wheels can lag).

Install

macOS (Apple Silicon)

brew tap ugurcandede/tap
brew install --cask lumea

The cask clears Gatekeeper for you. To update later: brew upgrade --cask lumea.

Windows

Download Lumea-windows.exe and run it. On the SmartScreen prompt, choose More info → Run anyway.

Prerequisites

  • Python 3.11+
  • A strip advertising as ELK-BLE, MELK, or ELK-BULB
  • Bluetooth turned on
  • (optional, MSI motherboard RGB) an MSI board with a Mystic Light USB controller — driven via hidapi (installed on Windows by requirements.txt)
  • (optional, SteelSeries RGB) a SteelSeries Apex 3 keyboard and/or Rival 650 mouse — same driverless hidapi path

Usage

  1. Scan — lists nearby strips.
  2. Tick the devices you want, then press Connect Selected. Double-click a row to set an alias.
  3. On / Off and the color picker (live) — commands go to every checked-and-connected device at once.
  4. Presets — the 12 swatches: left-click applies, right-click saves the current color.
  5. Disconnect All drops every connection.

Closing the window keeps the app in the system tray. Checked devices, aliases, presets and the last color are saved and restored on launch, and dropped links auto-reconnect.

Features

  • Control multiple strips at once
  • Per-device aliases
  • Live color picker with 12 savable presets
  • System tray — runs in the background, icon reflects the current color
  • Settings persistence and auto-reconnect
  • MSI motherboard RGB (Windows, optional) — mirror the color to a Mystic Light controller, driverless
  • SteelSeries RGB (Windows, optional) — mirror the color to an Apex 3 keyboard and/or Rival 650 mouse, driverless

MSI motherboard RGB (optional · Windows)

If your PC is an MSI board with a Mystic Light USB controller, Lumea can control its RGB too — no MSI Center, no kernel driver. The controller appears in the device list as MSI Mystic Light (always "Connected"); tick it to mirror the color picker to the motherboard and any RGB/ARGB headers, alongside your BLE strips.

  • Driverless — pure USB HID via hidapi (an optional dependency, Windows only).
  • Static color only. Lumea never sends firmware effect/mode bytes — those are undocumented and have bricked some boards. Writes are volatile, so a reboot restores your BIOS lighting.
  • Case fans: if they run off a case controller (e.g. MSI Gungnir), set that controller to motherboard control (JARGB) mode so they follow Lumea.
  • Verified on an MSI MPG Z790 CARBON WIFI. Same-variant Mystic Light USB boards should work; anything else is detected and left untouched.

SteelSeries RGB (optional · Windows)

If a SteelSeries Apex 3 keyboard or Rival 650 mouse is plugged in, Lumea can drive its lighting too — no SteelSeries GG, no driver. Each appears as its own device row (SteelSeries Apex 3 / SteelSeries Rival 650, always "Connected"); tick it to mirror the color picker to that device.

  • Driverless — pure USB HID via hidapi, the same optional dependency as the MSI path.
  • Static color only, following the picker. No brick risk (plain HID output reports; nothing is written to onboard flash).
  • Verified on an Apex 3 and a Rival 650. Other SteelSeries models are detected and left alone.

Layout

main.py          entry point: QApplication + qasync event loop
ble.py           scan(); ElkBledom (one strip); DeviceManager (many strips, fan-out)
msi_mystic.py    optional MSI Mystic Light (USB HID) backend
steelseries.py   optional SteelSeries Apex 3 / Rival 650 (USB HID) backend
ui.py            LedController: device list, color, presets, system tray
colorpicker.py   embedded SV-square + hue-bar color picker
icon.py          app icon + dynamic tray icon
protocol.py      pure command encoders

Built with love by @ugurcandede

Not affiliated with the makers of ELK-BLEDOM / MELK devices, or with MSI / Mystic Light or SteelSeries.

About

Desktop control for ELK-BLEDOM / MELK Bluetooth LED strips

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages