Skip to content
fatihserhatturanPublic

About

macOS controller for duoCo Strip / ELK-BLEDOM Bluetooth LED strips with Hue Sync–style screen and music sync

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

LED Strip

A native macOS app that controls Bluetooth LED strips (duoCo Strip / ELK-BLEDOM) from your Mac, with Philips Hue Sync–style screen and music sync.

LED Strip

What it does

Most inexpensive Bluetooth LED strips only work with the duoCo Strip phone app. LED Strip connects to them directly over your Mac's Bluetooth, so you don't need your phone.

  • Multiple strips: Connects to any number of strips at once, and every command goes to all of them. It remembers your strips and reconnects automatically at launch or if a connection drops.
  • Basic control: Power on/off, color, brightness, 22 built-in effects (jump, crossfade, blink) and effect speed.
  • Screen sync (like Hue Sync): Finds the dominant color on screen and eases the strips toward it with smooth transitions.
    • Front window or full screen source. Switching windows makes the lights follow the new window.
    • Left / right: Splits the screen in two, and each strip takes the color of its own side.
    • Video profile: Smooth transitions, with quick changes on scene cuts.
    • Game profile: Faster response, and the strips flash briefly on sudden bright moments such as explosions and muzzle flashes.
  • Music sync: Listens directly to the audio playing on your Mac (Spotify, YouTube, games). It doesn't use the microphone.
    • Flashes and color jumps on bass beats, sparkle on highs.
    • Automatic gain, so quiet and loud tracks are equally lively.
    • Stereo: The left strip follows the left channel and the right strip follows the right channel.
    • Palettes: Rainbow, Warm, Cool, Party.
  • Intensity levels: Subtle, Moderate, High, Extreme. Like Hue, these set how fast and how strongly the lights react.
  • Liquid Glass interface: macOS 26 glass design, with a backdrop that glows live in the strips' current colors.

The interface is in Turkish.

Supported devices

LED strip controllers that work with the duoCo Strip app and whose Bluetooth name contains ELK-BLEDOM, ELK-BLEDOB or MELK. The app was tested with two ELK-BLEDOB strips; other controllers that use the same protocol are expected to work too.

Requirements

  • macOS 26 (Tahoe) or later
  • A Mac with Apple silicon (M series)
  • Bluetooth

Installation

  1. Download the latest LEDStrip-x.y.dmg from the Releases page.
  2. Open the DMG and drag LEDStrip into the Applications folder.
  3. Open the app. On first launch macOS asks for Bluetooth permission; allow it.
  4. The first time you turn on screen or music sync, macOS asks for Screen & System Audio Recording permission. Enable LEDStrip in System Settings › Privacy & Security › Screen & System Audio Recording, then restart the app. Music sync reads system audio through this same permission.

The app is signed with a Developer ID and notarized by Apple.

Usage

  1. Close the duoCo Strip app on your phone. A strip can only connect to one device at a time, and your Mac can't see it while it's connected to the phone.
  2. Click a strip in the Şeritler (Strips) list on the left to connect it. Click it again to disconnect.
  3. Right-click a strip for these options:
    • Yeniden adlandır (Rename)
    • Yanıp söndür (Blink): Shows which physical strip a row belongs to.
    • Ekran tarafı (Screen side): Left, right or all.
  4. In the Işık senkronu (Light sync) card, choose the mode (Screen / Music), the intensity and the other settings, then turn on the switch.

Sync keeps running as long as the app is open, even if you close the window.

Building from source

There is no Xcode project; a single script builds the app with swiftc. You need Xcode or the Command Line Tools with the macOS 26 SDK.

./build.sh                                  # ~/Applications/LEDStrip.app
NOTARY_PROFILE=<profile> ./make_dmg.sh      # dist/LEDStrip-<version>.dmg (signed + notarized)

If your keychain has an Apple Development certificate, build.sh signs with it; otherwise it uses an ad-hoc signature. With ad-hoc signing, macOS asks for Bluetooth and screen recording permission again after every build. make_dmg.sh requires a Developer ID Application certificate. If NOTARY_PROFILE is set, it submits the DMG to Apple for notarization and staples the ticket to it.

The app icon is drawn in code by Icon/make_icon.swift; regenerate it with swift Icon/make_icon.swift Icon/AppIcon.icns.

How it works

  • Bluetooth: CoreBluetooth writes 9-byte commands (7E 00 <command> … EF) to the FFF3 characteristic of the FFF0 service: color 05 03 R G B, brightness 01, effect 03, speed 02, power 04.
  • Screen: ScreenCaptureKit reads the screen or window at 64×36, 12–24 times per second. Pixels are grouped by hue, with vivid and bright colors weighted more heavily, and the color of the heaviest group wins.
  • Music: ScreenCaptureKit captures system audio. Accelerate (vDSP) runs an FFT that splits it into bass, mid and treble bands, and beats are detected from sudden rises in the bass.
  • Source code:

Acknowledgements

The protocol details were worked out with the help of these open-source projects:

This project is not affiliated with duoCo, Philips Hue or Signify.

License

MIT

About

macOS controller for duoCo Strip / ELK-BLEDOM Bluetooth LED strips with Hue Sync–style screen and music sync

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages