Requirements
Learn the minimal memory and other requirements to run LVGL.
Basically, every modern controller which is able to drive a display is suitable to run LVGL. The minimal requirements are:
-
Processor: 16, 32 or 64 bit microcontroller or processor (> 16 MHz clock speed is recommended)
-
Flash/ROM: > 64 kB for the very essential components (> 180 kB is recommended)
-
RAM:
- Static RAM usage: ~2 kB depending on the used features and Widget types
- Stack: > 2kB (> 8 kB recommended)
- Dynamic data (heap): > 2 KB (> 48 kB is recommended if using many GUI Widgets).
Set by
LV_MEM_SIZEinlv_conf.h. - Display buffer: > "Horizontal resolution" pixels (> 10 × "Horizontal resolution" is recommended)
- One frame buffer in the MCU or in an external display controller
-
Operating system: Bare metal or any RTOS (FreeRTOS, Zephyr, NuttX, etc.) or desktop OS (e.g. Linux)
-
Frameworks: CMake, Make, Managed builds (e.g. Eclipse), Arduino, Chip vendor IDEs, also easy to integrate into any build system
-
GPU: LVGL has its own software rendering engine, but GPUs in MCUs can be enabled in
lv_conf.h. OpenGL ES is needed only to render glTF -
C99 or newer compiler
-
Basic C (or C++) knowledge:
Memory usage may vary depending on architecture, compiler and build options.
Last updated on