Skip to content

iDotMatrix WLED UserMod v0.8.1 – ESP32-C3 Support & Stability Improvements

Choose a tag to compare

@piggei piggei released this 10 Sep 19:06
· 25 commits to main since this release

iDotMatrix WLED UserMod v0.8.1

Release 0.8.1 adds officially validated ESP32-C3 support and includes a focused set of stability, recovery, documentation, and test improvements.

Highlights

  • Added official ESP32-C3 4 MB / 16×16 matrix support
  • Migrated the ESP32-C3 profile to the WLED ESP-IDF 5 / shared-RMT backend
  • Added compatibility with NimBLE-Arduino 2.x on the ESP32-C3
  • Eliminated the LED flicker/spikes observed with the legacy ESP32-C3 RMT backend while BLE was active
  • Preserved the existing stable classic ESP32 + WLED 16.0.1 configuration
  • Improved GIF promotion failure handling and recovery
  • Made automation/program replacement transactional to prevent filesystem/NVS inconsistencies
  • Added comprehensive host-side regression tests for automation persistence and failure paths
  • Added GIF filesystem failure-injection tests
  • Added ASan/UBSan regression testing
  • Corrected and expanded architecture, protocol, build-profile, and testing documentation
  • Clarified FA02 packet handling:
    • 4112-byte permanent inline buffer
    • up to 8192-byte logical packets using temporary dynamic storage
  • Improved release/build identification and diagnostics

ESP32-C3 validated configuration

The ESP32-C3 build is based on the pinned WLED revision:

d55037f7510541eddc390c8f3d01afc5787aa44a

and uses:

  • WLED 17.0.0-devV5
  • ESP-IDF 5.5.4
  • shared-RMT LED backend
  • NimBLE-Arduino 2.5.1
  • AnimatedGIF 1.4.7
  • compact12/LZW12 GIF decoder

Hardware validation included BLE advertising and connection, iDotMatrix image/GIF playback, WLED effects, repeated WLED ↔ iDotMatrix switching, automation/program execution, WebSocket activity, and approximately 150 combined content/effect changes.

No LED flicker, random pixels, watchdog resets, or stability regressions were observed during the final ESP32-C3 validation.

Supported targets

Classic ESP32

  • WLED 16.0.1
  • 16×16 matrix
  • NimBLE-Arduino 1.4.3
  • Existing v0.8.x behaviour preserved

ESP32-C3

  • 4 MB flash
  • 16×16 matrix
  • WLED IDF5/shared-RMT build described above
  • NimBLE-Arduino 2.5.1
  • Hardware validated

Release identification

  • Release: 0.8.1
  • Validated build: 0.8.1-audit-fix1

The build identifier is intentionally retained because it identifies the exact source revision that completed the final hardware validation.

Notes

The ESP32-C3 WLED base is intentionally pinned to the revision listed above. Using an arbitrary newer WLED development build is not considered equivalent to the configuration validated for this release.

ESP32-S3 support and further iDotMatrix functionality changes are planned for the next development cycle.