Repository navigation
v0.7.1 – 64x64 media support, low-memory GIF pipeline and stability improvements
iDotMatrix Usermod v0.7.1
This release significantly expands media support and memory efficiency, especially on classic ESP32 boards without PSRAM.
Highlights
- Added 32x32 and 64x64 logical media profiles
- Added low-memory rescaling from 64x64 logical content to smaller physical WLED matrices
- Added a safe compact LZW12 decoder with the full 4096-code dictionary
- Added LittleFS frame caching for 64x64 GIF playback on ESP32 without PSRAM
- Improved GIF-to-GIF transitions and media lifecycle cleanup
- Added RAM-aware predecode scheduling to keep Wi-Fi and the Web UI responsive
- Added black staging during GIF preparation to avoid visible Solid-effect flashes
- Improved WLED ownership handling when switching between iDotMatrix media and normal WLED effects
- Added build/runtime diagnostics in
/json/info - Expanded host tests, regression tests and memory-safety checks
Memory architecture
64x64 GIF decoding on classic ESP32 required a dedicated low-memory path.
The final 0.7.1 architecture keeps the full 12-bit GIF code space while reducing decoder memory usage and moving playback frames to LittleFS cache storage. This allows large and complex GIFs to run while preserving enough internal RAM for WLED, BLE, Wi-Fi and the Web UI.
Boards with PSRAM can use the direct decoder path instead.
Validated configurations
- 16x16 native media
- 32x32 logical media rescaled to 16x16
- 64x64 logical media rescaled to 16x16 on classic ESP32 without PSRAM
- Repeated GIF switching
- Clock → GIF
- WLED effect → GIF
- GIF → GIF
- GIF → WLED effect
Notes
Native 64x64 output, PSRAM-backed direct playback and HUB75 integration remain areas for further validation and development.
See ARCHITECTURE.md, HISTORY.md and RELEASE_NOTES_0.7.1.md for the full technical details.