Все проектыAll projectsУсі проєкти
Системное и CLISystems & CLIСистемне та CLI ЗавершёнCompletedЗавершений 2026

Lotus LED

Управление LED-лентами

Управление LED-лентами BLEDOM по Bluetooth — с реверс-инжинирингом протокола, на Rust и Python.Controlling BLEDOM LED strips over Bluetooth — with protocol reverse-engineering, in Rust and Python.Керування LED-стрічками BLEDOM через Bluetooth — з реверс-інжинірингом протоколу, на Rust і Python.

О проектеOverviewПро проєкт

Дешёвые LED-ленты BLEDOM / ELK-BLEDOM / Lotus Lantern продаются повсюду, но управляются убогим официальным мобильным приложением. Я решил это исправить.

Сначала был реверс-инжиниринг: я разобрал по байтам их протокол поверх Bluetooth LE — как кодируются цвет, яркость, режимы. Затем на этой основе написал собственное управление: библиотека и CLI на Rust, и отдельный контроллер на Python. Rust-версия кросс-компилируется в Windows-exe прямо из WSL.

В результате лента умеет куда больше, чем в родном приложении: синхронизация со звуком через FFT, режим Ambilight по экрану, тепловая карта нагрузки системы, сцены, рассветы и таймеры сна. Полный цикл — от вскрытия чужого протокола до удобного инструмента.

Cheap BLEDOM / ELK-BLEDOM / Lotus Lantern LED strips are sold everywhere but controlled by a miserable official mobile app. I decided to fix that.

First came the reverse engineering: I dissected their Bluetooth LE protocol byte by byte — how colour, brightness and modes are encoded. Then on that basis I wrote my own control: a library and CLI in Rust, and a separate Python controller. The Rust version cross-compiles to a Windows .exe right from WSL.

As a result the strip can do far more than in the native app: audio sync via FFT, an Ambilight mode following the screen, a system-load heatmap, scenes, sunrises and sleep timers. A full cycle — from cracking someone's protocol to a convenient tool.

Дешеві LED-стрічки BLEDOM продаються всюди, але керуються убогим офіційним застосунком.

Спершу був реверс-інжиніринг: я розібрав їхній Bluetooth LE протокол по байтах. Потім написав власне керування: бібліотека та CLI на Rust, окремий контролер на Python.

У результаті стрічка вміє значно більше: синхронізація зі звуком через FFT, Ambilight, теплова карта навантаження, сцени, світанки й таймери сну.

ОсобенностиFeaturesОсобливості

  • Реверс-инжиниринг BLE-протокола лент BLEDOM
  • Библиотека и CLI на Rust, контроллер на Python
  • Синхронизация со звуком через FFT
  • Режим Ambilight по экрану и тепловая карта нагрузки
  • Сцены, рассветы, таймеры сна
  • Кросс-компиляция в Windows-exe из WSL
  • Reverse-engineering of the BLEDOM strips' BLE protocol
  • A Rust library and CLI, a Python controller
  • Audio sync via FFT
  • An Ambilight screen mode and a system-load heatmap
  • Scenes, sunrises, sleep timers
  • Cross-compilation to a Windows .exe from WSL
  • Реверс-інжиніринг BLE-протоколу стрічок BLEDOM
  • Бібліотека та CLI на Rust, контролер на Python
  • Синхронізація зі звуком через FFT
  • Режим Ambilight та теплова карта навантаження
  • Сцени, світанки, таймери сну
  • Крос-компіляція у Windows-exe з WSL

Похожие проектыRelated projectsСхожі проєкти