Hardware details and information to build an open firmware for Bluetooth LED badges, compatible with Badge Magic app
BadgeMagic target hardware features a custom 11x44 LED matrix display, Bluetooth LE and low power consumption.
The design relies on a single MCU. MCU type has changed depending on manufacturer batches.
- ARM M0 variant based on MM32L062PF
- ARM M0 variant based on MM32W062
- RISC-V variant based on CH582
See specific pages regarding each version of the hardware below
The custom 11x44 LED dot matrix displays using persistence of vision.
Bitmaps are drawn using 24 pins in charlieplexing technique.
Manufacturer firmware is closed source. Creating an open source compatible firmware is the goal of this project.
The badge stores bitmaps with preconfigured animation sequences. It uses 8 memory banks that can be used alternatively.
The 2 buttons configuration:
- Top button
- Switches device on or off (long press)
- Changes to Bluetooth upload mode (short press when on)
- Bottom button
- Switches to badge display instead of charging screen when plugged with USB
- Switches memory bank when displayed
- Changes brightness level (long press)
Here is some documentation on the BLE package format. There still are some unclear parts, but it seems to work.
See original led-name-badge-ls32 for USB update protocol reverse engineering
See Badge Magic app for Bluetooth update protocol
Address 38:3B:26:CC:03:C1
Name LSLED
Class 0x0
Appearance 0x0
Device UUID 0000fee0-0000-1000-8000-00805f9b34fb
or 0000fee1-0000-1000-8000-00805f9b34fb
Currently, only the RISC-V version is targeted as it seems the only one produced at the moment.
Please go to CH582 Badge Instructions and Reverse Engineering