A fix for ESP32-P4 MIPI DSI panels flashing white during flash writes
An ESPHome pull request generated with Claude Code keeps the DSI interrupts running while flash is written, so panels stop flashing white during OTA and preference saves.
Credits
- Source byline clydebarrow Source ↗
Earliest dated source:
The full story
On the ESP32-P4, a MIPI DSI panel flashed white for a frame whenever flash was written, for preferences or OTA, because the DSI interrupts waited for the disabled cache. This ESPHome pull request, generated with Claude Code, enables cache-safe DSI interrupts and moves a refresh callback into IRAM so setup no longer hangs. It was tested on an M5Stack Tab5 writing a preference every second: the panel flashed before the change and stayed steady after.
How it was done
Tools
Themes
Loading themes…
Sources
From the maker's own write-up or code. We summarise what they report; we haven't tested it ourselves.
- ESPHome Project: [mipi_dsi] Keep the panel running while flash is writtenSource byline: clydebarrowPublished
The pull request.
- The project: developers.esphome.io
ESPHome's contribution guide, linked from the pull request.