Try out LVGL Pro - A complete toolkit to build, test, share, and ship UIs efficiently!
LVGL
Release

LVGL v7.3 Released with Event Refresh API

LVGL v7.3 introduces refresh events for simplified UI updates, Arduino library support, and new GIF/BMP decoder libraries.

Gabor Kiss-VamosiGabor Kiss-Vamosi2 min read

The most interesting yet very simple feature of v7.3.0 is lv_event_send_refresh(obj) and lv_event_send_refresh_recursive(obj). They send an LV_EVENT_REFRESH event to an object or to all its descendants too. lv_event_send_refresh_recursive(NULL) will notify all the existing objects.

In the refresh event of an object the developer can see the current value of some variables and update the object accordingly. For example, update the label's text to a measured value, or to the newly selected language, or set the state of a checkbox according to a boolean variable.

The gist is you don't have to check whether the object exists or not before updating it. Just notify all objects or all children of an object and if an object is there, and its refresh event is implemented it will do its job. Read more in the event documentation.

New Features#

  • Add lv_event_send_refresh, lv_event_send_refresh_recursive to easily send LV_EVENT_REFRESH to objects
  • Add LV_MEMCPY_MEMSET_STD to use standard memcpy and memset
  • Add lv_tabview_set_tab_name() function - used to change a tab's name
  • Add LV_THEME_MATERIAL_FLAG_NO_TRANSITION and LV_THEME_MATERIAL_FLAG_NO_FOCUS flags
  • Reduce code size by adding: LV_USE_FONT_COMPRESSED, LV_FONT_USE_SUBPX, LV_USE_OUTLINE, LV_USE_PATTERN, LV_USE_VALUE_STR and applying some optimization
  • Add lv_task_get_next

Bugfixes#

  • Do not print warning for missing glyph if its height OR width is zero
  • Prevent duplicated sending of LV_EVENT_INSERT from text area
  • Tidy outer edges of cpicker widget
  • Remove duplicated lines from lv_tabview_add_tab
  • btnmatrix: handle combined states of buttons (e.g. checked + disabled)
  • textarea: fix typo in lv_textarea_set_scrollbar_mode
  • gauge: fix image needle drawing
  • fix using freed memory in _lv_style_list_remove_style

Arduino Library#

The core LVGL repository and lv_examples are now directly available as Arduino libraries:

See the Arduino README for more info.

New Repositories#

Note: lv_lib_lodepng is renamed to lv_lib_png for consistency.

About the author

Gabor Kiss-Vamosi
Gabor Kiss-Vamosi

CEO & Creator of LVGL

Founder and lead developer of LVGL, the open-source embedded graphics library used in millions of devices worldwide.

Meet the people behind the blog

Discover the talented writers sharing their knowledge about LVGL

View Authors

Subscribe to our newsletter to not miss any news about LVGL. We will send maximum of 2 mails per month.

LVGL

LVGL is the most popular free and open source embedded graphics library targeting any MCU, MPU and display type to build beautiful UIs.

We also do services like UI design, implementation and consulting.

© 2026 LVGL. All rights reserved.
YouTubeGitHubLinkedIn