# pyidotmatrix: researching and implementing iDotMatrix BLE control

> Implements the iDotMatrix BLE display protocol as a typed Python SDK while documenting findings from vendor APK analysis and hardware probes. Packet builders cover images, GIFs, text, effects and native display modes; a bundled CLI decodes Android btsnoop captures into annotated traffic. The project records feature status against a reference 32×32 panel.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-08
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/Madhat69/pyidotmatrix>
- Primary source: <https://github.com/Madhat69/pyidotmatrix/blob/da00f35446882c44a881c13def0d347296cee44e/README.md>
- Catalog page: <https://awesomerea.org/resources/pyidotmatrix-protocol-case/>
- Record JSON: <https://awesomerea.org/resources/pyidotmatrix-protocol-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/pyidotmatrix-protocol-case/index.md)

## Requirements & limits

- **Prerequisites:** Python 3.12–3.14 and bleak are required for BLE use.
- **Limits:** Hardware findings were checked against one 32×32 panel; weekly scheduling is partially verified.
- **License:** GPL-3.0-or-later.

## Primary sources

1. <https://github.com/Madhat69/pyidotmatrix/blob/da00f35446882c44a881c13def0d347296cee44e/README.md>
2. <https://github.com/Madhat69/pyidotmatrix/blob/da00f35446882c44a881c13def0d347296cee44e/docs/architecture.md>

## More in Protocols

- [Skannerz Commander: reconstructing the toy's trade protocol](https://awesomerea.org/resources/skannerz-commander-trade-protocol-case/index.md) · Case study
- [AUKEY KM-G15 RGB Control: decoding keyboard USB HID commands](https://awesomerea.org/resources/aukey-km-g15-rgb-case/index.md) · Case study
- [SonyBridge: reconstructing second-generation Sony headset control](https://awesomerea.org/resources/sonybridge-v2-headphones-case/index.md) · Case study
- [HP Laser 1008a: reconstructing SPL3 printing on macOS](https://awesomerea.org/resources/hp-laser-1008a-spl3-case/index.md) · Case study
- [BMW iDrive: interpreting F44 controller CAN messages](https://awesomerea.org/resources/bmw-idrive-can-case/index.md) · Case study
- [ESP32 Controller for Charlton & Jenrick Fireplace: reconstructing remote control](https://awesomerea.org/resources/esp32-fireplace-controller-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
