Scroll speed ILI9488 and M5 Stack Core2 and MCUFriend_kbd on ESP32

Hi forum members!

Recently I have experimented with LVGL 7 and 8, and I am amazed with the quality and professionality of this library. (Congratulation to my “drusza” from Hungary! :wink:)

Actually I have some problem with all of the hardware combination, but none of them is the problem of LVGL.

My hardware:

  1. M5 Stack Core2 ESP32 ILI9342C
  2. A Node MCU clone and a 3.5" 480x320 SPI ILI9488 display
  3. An ESPDUINO-32 (Arduino like board) and an MCUFriend_kbd (Arduino Shield module)

My software:

  • I have tried LGVL 7 and 8 with a Paltform.IO espressif32 platform and esp32dev and m5stack-core2 board.
    • In this software config I used the Core 2’s own TFT library (and it was very fast and responsive!) :smiley:
    • The MCUFriend_kbd is useless, because the ESPDUINO-32 pinout overlaps with ADC2 and ADC2 and Wifi cannot be used together in ESP32. (WTF !!!) :scream: :rage:
    • For the Node MCU and ILI9488 I have used the TFT_eSPI library, which indicates the DMA cannot be used with ILI9488, and bingo! It was very very slow.
  • To check the ILI9488 I have downloaded and configured the lv_port_esp32 which uses LVGL 7.9.
    Here is a small video: LVGL test - YouTube (the source code is the same, only the sdkconfig is different)

On the video you can see, that the ILI9488 is very slow, but the Core 2 is much more acceptable though the pixels that should be scrolled are double in the former configuration, the Core 2 displays 5-6x more frames than the former.


  • The ILI9488 displays 33 FPS and 7% CPU all the time, and the Core 2 displays 5-6 FPS and over 90% CPU. How can this be when the sourcecode and the CPU is the same?
  • As you may have noticed on the video, the images is flipped but only on the Core 2. :dizzy_face: How can I correct this? (I use the ILI9341 since there is no 9342C support.)

Keep up the good work! Best wishes: