What Has Happened Since v5.2?#
LVGL Integrations#
LVGL's ecosystem expanded significantly with major platform integrations:
- Espressif officially supports LVGL as a GUI library for ESP32. Read more in this post.
- Zephyr, a popular RTOS for IoT, has integrated LVGL. Here is getting started example.
Community and Website Updates#
- Blog - LVGL's Blog has been launched. It's for you to share your projects, tutorials, tips, and tricks. Read here how to add your post.
- Forum - Our Forum is opened. Please use it for "how-to" questions and open GitHub issues for development related topics.
- Documentation - The documentation is moved to a public repository where you can send pull requests to improve it. The documentation is available Online and Offline.
Some Metrics#
- LVGL is getting more popular. According to the GitHub statistics LVGL is cloned every 10 minutes. (Not counting direct downloads from lvgl.com)
- LVGL was a Top trending repository of GitHub. It was among the top 25 most popular repositories when compared across all languages, not only C.
MicroPython Support#
Thanks to @amirgon, you can now use LVGL with MicroPython (a Python implementation for embedded systems). Read more in this post. You can try it on Linux or with ESP32 using this ready-to-use repository.
New Objects#
- lv_tileview - Container for smartwatch-like designs
- lv_spinbox - Set numeric value with
+and-buttons or keys - lv_table - Create lightweight tables
- lv_canvas - Draw to a buffer and display it as an image
New Object Features#
Core Objects#
- lv_obj - Add realign feature (save the last
lv_obj_aligndata and re-apply) - lv_obj - Add
lv_obj_align_origoto align the center of the object (works with realign)
Charts#
- lv_chart -
LV_CHART_TYPE_VERTICAL_LINEwhen the point count equals the chart width to draw only vertical lines - lv_chart - Add
LV_CHART_POINT_DEFspecial value to not draw a point
Input Widgets#
- lv_sw - Animated move (
lv_sw_set_anim_time(),lv_sw_on/off_anim()) - lv_btnm - Add
lv_btnm_get_pressed() - lv_btnm - Add recolor feature with
lv_btnm_set_recolor - lv_ta - Support
LV_GROUP_KEY_BACKSPACE - lv_ddlist - Add down arrow symbol option with
lv_ddlist_set_draw_arrow - lv_ddlist - Add ability to set label alignment
List and Scrollable Objects#
- lv_list - Remember the last selected button (only if the list is in a group)
- lv_list - Allow single button selection mode
- lv_list, lv_ta, lv_page - Scroll propagation feature to scroll the parent on "overscrolling"
- lv_list, lv_ta, lv_page - Edge flash effect to show circle on the edge on "overscrolling"
Other Widgets#
- lv_preload - Add
lv_preload_set_animation_type()andLV_PRELOAD_TYPE_FILLSPIN_ARC - lv_imgbtn - Add tiled option to set width dynamically by repeating the middle part
- lv_calendar - Add
lv_calendar_get_pressed_date - lv_tabview - Add
lv_tabview_set_hiddento hide tab buttons
New Other Features#
System Features#
- lv_lang - Multi-language interface to change UI's language at runtime
- lv_group - Add
LV_GROUP_KEY_BACKSPACE - lv_anim - Add overshoot and bounce path
- lv_anim - Add
lv_anim_count_running - lv_indev - Add
lv_indev_set_feedbackto add callback when something happened with an object - lv_vdb - Add true double buffering feature to work with only frame buffer address swapping
- lv_style - Add
LV_BORDER_INTERNALto remove the borders on the edges - lv_porting - Add display, input device, file system porting skeleton functions
Plans for v6.0#
The next major version will focus on:
- Multi-display support
- Runtime screen configuration (instead of hard-coded defines)
- Generic action handling (
lv_objwill have an action) - Better GPU handling
- Image rotation
- Better internationalization support (i18n)
You can track the progress in this issue.
