Okay, so I’m working on a project where I’m using an ESP32-S3 with ESP-IDF. The display is a 280x240 SPI LCD with an ST7789V3 driver. My goal is simple (or at least I thought it was): display PNG images and animated GIFs from a flash partition at decent speed.
I picked LVGL to get this done but, it’s been a total nightmare.
Let me explain what I’ve tried so far:
- First attempt: I used the official
esp_lvgl_port
But my MCU just kept getting stuck in bootloader (BOOTSEL) mode. No idea why and when i got the mcu to boot the lcd did not even initialized - Second attempt: I tried
nopnop2002/st7789
,the PNG decoder worked, and I was actually able to display an image. But it was super slow, exactly what I was trying to avoid. So I dropped it. - Third attempt: I went with the ESP-IDF’s built-in st7789 driver and manually wrote a basic driver. This time, the LCD initialized, but then when I tried to fill the screen with a red color, the screen just filled yellow ��. I checked the code like 10 times I still couldn’t get the right colors to display correctly.
- I even tried following this article: https://pcbartists.com/firmware/notes-using-lvgl-with-esp32/ but once again, the LCD just wouldn’t initialize at all.
At this point, I’ve honestly lost count of how many hours I’ve wasted on this. I’m mentally done. Everything seems to be breaking in a different way no matter what I do.
I’m using:
- ESP-IDF (latest version)
- LVGL (latest version)
- I’m totally open to sharing code snippets, logs, config files—whatever you need, just ask.
Please, if anyone has successfully gotten LVGL working with an ST7789V3 over SPI on ESP32-S3 (especially with PNG or GIF support), I would deeply appreciate your help. Thanks for even reading this far.