GUI programming with LVGL
Introduction
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.
LVGL
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
Comments