// the find
lvgl/lv_esp_idf
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.