Espressif (ESP32 chip series)

LVGL can be used and configured as a standard ESP-IDF component.

More information about ESP-IDF build system can be found here.

LVGL demo project for ESP32

We've created lv_port_esp32, a project using ESP-IDF and LVGL to show one of the demos from lv_demos. You can configure the project to use one of the many supported display controllers and targets (chips).

See lvgl_esp32_drivers repository for a complete list of supported display and indev (touch) controllers and targets.

Using LVGL in your ESP-IDF project


  • ESP-IDF v4.1 and above

  • ESP evaluation board with a display

Obtaining LVGL

Option 1: git submodule

Simply clone LVGL into your project_root/components directory and it will be automatically integrated into the project. If the project is a git repository you can include LVGL as a git submodule:

git submodule add components/lvgl

The above command will clone LVGL's main repository into the components/lvgl directory. LVGL includes a CMakeLists.txt file that sets some configuration options so you can use LVGL right away.

Option 2: IDF Component Manager

LVGL is also distributed through IDF Component Manager. It allows users to seamlessly integrate LVGL component into their project with following command: add-dependency lvgl/lvgl>=8.*

During next project build, LVGL component will be fetched from the component registry and added to project build.


When you are ready to configure LVGL, launch the configuration menu with menuconfig in your project root directory, go to Component config and then LVGL configuration.

Using lvgl_esp32_drivers in ESP-IDF project

You can also add lvgl_esp32_drivers as a "component". This component should be located inside a directory named "components" in your project root directory.

When your project is a git repository you can include lvgl_esp32_drivers as a git submodule:

git submodule add components/lvgl_esp32_drivers