A free, portable embedded graphics library for creating beautiful UIs on any MCU, MPU, and display type.
LVGL is an open-source embedded graphics library written in C that allows developers to create graphical user interfaces for microcontrollers and microprocessors. It solves the problem of building modern, visually appealing UIs on resource-constrained embedded devices with limited memory and processing power. The library provides a comprehensive set of widgets, styling options, and layout systems while maintaining minimal hardware requirements.
Embedded systems engineers and firmware developers working on devices with displays, such as smartwatches, IoT dashboards, industrial HMIs, and medical devices. It's particularly valuable for teams needing to create custom UIs on MCUs/MPUs without relying on heavyweight operating systems.
Developers choose LVGL for its exceptional portability (no external dependencies), minimal resource requirements, and comprehensive feature set that rivals desktop UI frameworks. Its MIT license allows commercial use without restrictions, and the active community provides extensive documentation and examples.
Embedded graphics library to create beautiful UIs for any MCU, MPU and display type.
With no external dependencies and minimal requirements (~32kB RAM, ~128kB Flash), LVGL compiles for any MCU or MPU, making it universally adaptable for embedded systems.
Includes 30+ built-in widgets like charts, keyboards, and meters, enabling complex UIs without custom development from scratch.
Offers ~100 style properties with animations, shadows, and anti-aliasing, allowing deep customization of widgets in any state.
Features Flexbox and Grid-like systems for responsive design, crucial for varying screen sizes in embedded devices.
Requires writing custom display flush and input read callbacks, which can be complex and error-prone for developers new to embedded graphics.
Advanced features like the XML editor and Figma integration are part of LVGL Pro, a separate toolkit that may add cost or learning overhead.
Primarily designed for C with no built-in support for other languages, which might deter teams preferring Python or JavaScript for faster iteration.
Protocol Buffers - Google's data interchange format
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
JSON for Modern C++
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.