finds.dev← search

// the find

lvgl/lv_esp_idf

★ 1,309 · C · updated Sep 2026

LVGL ported to ESP32 including various display and touchpad drivers

A reference ESP-IDF project that wires LVGL, its display and touch drivers, and one of the bundled LVGL demos into buildable firmware for a set of ESP32 boards. It is aimed at someone who wants LVGL running on real hardware without first working out the ESP-IDF build layout. Treat it as a starting point to copy from, not a library to depend on.

- Board support is split into one JSON manifest per board under manifests/, with a separate sdkconfig.defaults for the S31 target. Board differences sit in config files rather than in the application code, so supporting a new board looks like a data change.

- Board BSPs come in through ESP-IDF's component manager (idf_component.yml and the add-dependency step), so display and touch drivers are versioned packages rather than vendored copies.

- The README covers both the LVGL Project Creator route and the plain idf.py route, which helps people who do not want to use the web tool.

- The main application is one short C file that initialises LVGL, the panel, and the touch driver before starting a demo, so the path from hardware init to first frame is easy to follow.

- Setup depends on a manual edit: unless you used the Project Creator, you must delete main/idf_component.yml. The README marks this in bold, but it is still an easy step to miss and the failure mode is not described.

- The main file is misspelled (dispaly_lvgl_demos_main.c), and the README does not say how to pick a demo or which LVGL version is pinned, so you cannot tell from the docs what you are building against.

- The README offers little beyond links out to LVGL and Espressif docs. It has no troubleshooting section, no memory or frame-rate expectations per board, and no notes on wiring.

- The README does not describe how to add a board that is not in manifests/. Anyone with custom hardware has to work out the driver wiring from the existing examples.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →