Repository navigation
v0.6.0 – First Stable iDotMatrix Command Foundation
First stable command-capable release
This release establishes the stable foundation of the iDotMatrix Usermod for WLED.
An ESP running WLED can now emulate an iDotMatrix BLE peripheral, be discovered and connected by the official iDotMatrix app, and execute the primary display commands.
Verified functionality
-
BLE discovery and connection from the official iDotMatrix app
-
Device profiles:
0x01– 16×160x03– 32×320x04– 64×64
-
Correct app power-switch initialization after connection
-
Screen ON/OFF mapped to WLED power
-
iDotMatrix brightness mapped to WLED master brightness
-
Full-screen RGB mapped to WLED static color
-
BLE advertising restarted after disconnection
-
Wi-Fi and BLE operating together
Architecture
The implementation is divided into independent components:
IDotMatrixBLEServer– BLE transport, GATT services and bounded receive queueIDotMatrixProtocol– packet validation, decoding and responsesIDotMatrixWLEDAdapter– mapping between protocol events and WLEDusermod_idotmatrix.cpp– Usermod lifecycle, configuration and diagnostics
BLE callbacks remain short and non-blocking. WLED state changes are processed from the normal Usermod loop.
Important limitations
- Brightness synchronization currently works only from the iDotMatrix app to WLED.
- Brightness changes made directly in WLED cannot update the app slider because no verified device-to-app brightness-state message is known.
- Full-screen RGB affects the active and selected WLED segments.
- Graffiti/pixel drawing and the resolution-independent framebuffer are not implemented yet.
- Text, clock, GIF/media, countdown, stopwatch, alarms and schedules are not included in this release.
- Fragmented commands and payloads larger than the current 64-byte command slot are not yet supported.
- The WLED I2S LED backend is required; RMT is not compatible with BLE on the tested classic ESP32 configuration.
- The supplied 4 MB partition layout disables OTA updates. Upload through USB/serial is required.
Verified build environment
- WLED
0.16.0.1 - Classic ESP32 /
esp32dev - PlatformIO
espressif32@~6.13.0 - Arduino-ESP32
2.0.17 - ESP-IDF
4.4.7 - NimBLE-Arduino
1.4.3 - WLED digital LED driver set to I2S
This stable release contains the same runtime source code validated as 0.6.0-dev.7, with consolidated documentation and version metadata.
See README.md, PROTOCOL.md, ARCHITECTURE.md, TESTING.md, HISTORY.md and TODO.md for installation details, protocol coverage, known limitations and the development roadmap.