↓ Skip to main content
  1. Home projects/

iDotMatrix client and ESP32 bridge

··
Table of Contents

iDotMatrix panels are cheap LED pixel displays (16×16, 32×32 or 64×64) controlled over Bluetooth Low Energy from a phone app. This project controls them from a computer instead, and adds a Wi-Fi bridge.

It started as a fork of the community python3-idotmatrix-library, which reverse-engineered the protocol, and reworks it into a Python package:

  • an IDotMatrixClient with a connection manager and feature modules for text, images, GIFs, clock, countdown, stopwatch, effects, scoreboard, graffiti, eco mode and system commands;
  • image and GIF conversion helpers;
  • a digital picture-frame mode that watches a folder;
  • a work/rest (pomodoro-style) timer with a small web interface.

The ESP32 bridge
#

The repository also contains Rust firmware for an ESP32. It joins the Wi-Fi network, announces itself as idotmatrix.local over mDNS and exposes a small HTTP API. It keeps the rendering and timer state and forwards updates to the panel over BLE, so any computer on the network can drive the display without its own Bluetooth connection. The firmware core can be tested on the host.

Tech: Python (bleak, Pillow, uv, pytest), Rust, ESP-IDF. Licence: GPL. Source on GitHub.

Related