Development docs. Unreleased and may change.Switch to Release v9.6.0

Requirements

Learn the minimal memory and other requirements to run LVGL.

Edit on GitHub

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_SIZE in lv_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