create new tag
view all tags

GUI programming with LVGL


Very often, the microcontroller part of an IoT project allows user interaction only though the network connection, e.g. through a program with graphical user interface (GUI) on a PC. Sometimes however, it may be interesting to be able to interact with the device also locally.

The LoLin 2,4" TFT display has 320x240 pixels and an integrated touch screen (see TFT display. This device is powerful enough to run graphical user interfaces.


Most GUI libraries require computing resources which are simply not available on a microcontroller. The Light and Versatile Graphics Library ( LVGL) however, has been designed to be used on such resource restricted devices. The library is written in C but a MicroPython language binding is available.

Adding the library to the MicroPython firmware is not exactly trivial and therefore a special version of MicroPython, lv_micropython, has been developed, integrating everything that is needed to access LVGL from MicroPython. LVGL comes with a big number of small example programs showing the use of all of its widgets (GUI components) written in C and in MicroPython.

-- Uli Raich - 2022-05-23


Topic revision: r1 - 2022-05-23 - UliRaich
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback