Screen flickering

Hello,

I’m currently working on writing an interface program using ESP32-8048S070 and generating code with Squareline Studio. However, when I execute EEPROM.commit() to write data to EEPROM, the screen experiences flickering. The update interval is set in the void loop() as follows:

void loop() {
lv_timer_handler(); /* let the GUI do its work */
delay(5);
}

How can I solve this problem?

1 Like

Hi.
I have the same problem. I think it is related to long recording, but I tried recording in a separate thread on core 0. Apparently, some pin is used that is connected to the matrix.
Were you able to fix it?

There are a lot of things that can cause the display to flicker. using the WiFi can sometimes cause it. depending on the pins used for the display. The biggest thing that seems to cause display flicker issues is using a display that doesn’t have GRAM. This would be an “RGB” display. These displays need a constant stream of data being sent to the display at all times. The issue here is that due to the frame buffers needing to be the entire size of the display the only place the buffer is going to fit is going to be in PSRAM. So what happens is any time you write to or read from flash or PSRAM the bandwidth that is available to the RAM gets divide by 2. This slows down the transfer to the display and the display will glitch as a result. writing to the “EEPROM” is writing to the NVS partition on the flash and the flash memory shares the same SPI bus as the PSRAM so the bandwidth on that SPI bus needs to get split. Only one device attached to an SPI bus is able to be accessed at any given point in time so there is a a lot of switching between the 2 and that causes enough of a delay where you see the display flicker.

1 Like