How to setup LVGL drivers for ILI9341 with ESP32


I want to set up a display with my ESP32s3, LVGL and ESP-IDF. I have done that successfully in the past, but now I need to switch a display with a great driver in lvgl_esp32_drivers, but for the sake of me I spent several hours and couldn’t get anything to display. I want to use ILI9241 but had found no example that would show me how to initialise it. Every think I tried has resulted in a ESP crash:

0x40375d8e: panic_abort at /Users/user/esp5/esp-idf/components/esp_system/panic.c:423

0x4037a9a9: esp_system_abort at /Users/user/esp5/esp-idf/components/esp_system/esp_system.c:153

0x40380905: __assert_func at /Users/user/esp5/esp-idf/components/newlib/assert.c:78

0x4037ba36: uxQueueMessagesWaiting at /Users/user/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/queue.c:2093 (discriminator 1)

0x42008c9d: disp_wait_for_pending_transactions at /Users/user/Documents/Projects/project/project/Meteo-ESP32-S2/components/lvgl_esp32_drivers/lvgl_tft/disp_spi.c:278

0x42008933: ssd1680_write_cmd at /Users/user/Documents/Projects/project/project/Meteo-ESP32-S2/components/lvgl_esp32_drivers/lvgl_tft/ssd1680.c:363
 (inlined by) ssd1680_init at /Users/user/Documents/Projects/project/project/Meteo-ESP32-S2/components/lvgl_esp32_drivers/lvgl_tft/ssd1680.c:276

0x4200835e: lvgl_init at /Users/user/Documents/Projects/project/project/Meteo-ESP32-S2/main/software/lvgl_handler.h:111 (discriminator 2)

0x42008777: app_main at /Users/user/Documents/Projects/project/project/Meteo-ESP32-S2/main/main.c:228

0x4202b8b7: main_task at /Users/user/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/port_common.c:131 (discriminator 2)

0x4037d4c5: vPortTaskWrapper at /Users/user/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:154

And I have no idea how to do that properly - I have configured the menuconfig stuff, but I’m stuck here. Does anybody have any code that would show me how it is done, ili9341_init() with lv_init() does not seem to work…

What MCU/Processor/Board and compiler are you using?


What LVGL version are you using?


What do you want to achieve?

Display anything