Our ESP32-P4 screen flicker fix is now in Espressif's Arduino core

Ran on a board

Ran on the owner's Waveshare ESP32-P4-WIFI6-Touch-LCD-4.3: blinks without the fix, holds with it, on Arduino and on ESP-IDF 6.1.

PR 407, merged into Espressif's esp32-arduino-lib-builder
Merged on 26 October 2026, closing espressif/arduino-esp32 issue 13026.

If you've got an ESP32-P4 board with a MIPI-DSI screen, you may have seen this. Your program saves a setting, writes a file or takes an update over the air, and the whole screen blinks black or blue for a moment. Every single time.

It isn't your code and it isn't your board. It caught me out on my own Waveshare 4.3-inch P4, so I went looking.

What was going on

The screen driver needs to keep feeding the panel, and while the chip writes to flash it can't. On a P4 with a DSI panel, that gap is long enough to see. Espressif's ESP-IDF has an option that keeps the panel fed through a flash write, but the Arduino core for the P4 was built with it switched off. Arduino users had no way to turn it on.

What we did about it

  • LCD Wizard's exports. Every Arduino export for a P4 DSI board keeps the picture going through flash writes, and every ESP-IDF export switches Espressif's option on. Both ran on my 4.3. Without the fix it blinks. With it, in my notes from the test, "the green is solid AF".
  • Everyone else. I reported it to Espressif as arduino-esp32 issue 13026 and offered the fix as esp32-arduino-lib-builder pull request 407. Espressif merged it on 26 October 2026 and closed the issue.

So once a core built with that change reaches you, every Arduino sketch on a P4 DSI screen gets the steady picture, whether or not it came from LCD Wizard. That's the bit I'm chuffed about.

If you're hitting it now

There's a page that explains the cause and the fix in full, for anyone, with or without LCD Wizard: ESP32-P4 DSI screen flickers when writing to flash. Every DSI board page links to it too, from the Waveshare 4.3 to the Elecrow CrowPanel Advanced 9-inch.

If you design in LCD Wizard you don't need to do anything. Export for a P4 DSI board and it's in there.

Why it matters to me

I spent years testing displays in fighter cockpits, where a screen that blinks is a fault, full stop. A panel that flashes when you save a setting is the same kind of fault. Finding it was half the job. Getting it fixed at the source, so nobody else has to find it, was the other half.

Free to start, in your browser

Design the screen. We'll write the firmware.

Drag widgets onto your board's real screen, press Preview, then export Arduino, ESP-IDF, MicroPython or ESPHome.

Read next

All posts