LVGL Projects

149 projects using LVGL

LVGL is a lightweight, open-source C graphics library designed to build professional user interfaces on any microcontroller or microprocessor. It features a hardware-independent architecture with low memory requirements, supporting advanced rendering features like anti-aliasing, animations, and complex layout engines.

Image Converter for LVGL

A Node.js-based command-line utility and web tool designed to convert standard image files into C arrays or binary formats compatible with the LVGL graphics library. It provides a memory-efficient alternative to older PHP-based converters, supporting various color formats and dithering algorithms for embedded displays.

lvgl
110

libtock-c: Tock Userland C Library

The C userland library and SDK for the Tock operating system, providing the core APIs and build system for developing embedded applications. It supports ARM Cortex-M and RISC-V architectures and includes integrated support for popular libraries like LWIP, LVGL, and OpenThread.

tock lvgllwipu8g2open-thread
88

LittlevGL2RTT

A middleware integration layer that seamlessly embeds the LittlevGL (LVGL) graphics library into the RT-Thread RTOS LCD framework. It eliminates the need for manual porting by providing a ready-to-use bridge between LVGL and RT-Thread's device drivers, supporting various input devices and display resolutions.

rt-thread lvgl
157

Lottie Animation Library for LVGL

An LVGL extension that enables the playback of Lottie animations using the Samsung rlottie engine. It allows embedded developers to integrate high-quality vector-based animations into their user interfaces via raw JSON strings or external files.

lvgl
42

Lumia-ESP32

A Windows Phone-inspired user interface demo for the WT32-SC01 ESP32 module. It leverages the LVGL graphics library and LovyanGFX to implement a comprehensive mobile-like environment including a lock screen, start menu, and several functional applications.

freertos lvgl
73

lv_chinese_ime

A custom component for the LVGL graphics library that extends the standard keyboard with Chinese Pinyin input method support. It is designed for embedded systems requiring localized text entry and is compatible with any environment where LVGL runs.

lvgl
37

lv_font_conv

A font converter tool that transforms TTF, WOFF, and OTF fonts into a compact bitmap format optimized for embedded systems. It supports anti-aliasing, kerning, and compression, with a specific output format for the LVGL graphics library.

lvgl
255

lv_i18n: Internationalization for LVGL

A lightweight internationalization (i18n) toolset and C library designed for embedded systems using the LVGL graphics library. It provides a gettext-like workflow for extracting strings from C source files, managing translations via YAML, and generating optimized C code for runtime translation.

lvgl
86

luavgl

A Lua wrapper for the LVGL graphics library that provides object-oriented widget management and class inheritance. It enables rapid UI development for embedded systems and includes a cross-platform PC simulator for testing.

nuttx lvgl
96

lv_lib_100ask

A comprehensive collection of out-of-the-box UI components and enhanced interfaces for the LVGL graphics library. It provides ready-to-use modules such as a Pinyin input method, page manager, file explorer, and NES simulator for embedded platforms.

freertos lvglmicropython
126

LVGL 8 on WT32-SC01 with Arduino

A project demonstrating the integration of LVGL 8.x and LovyanGFX on the WT32-SC01 ESP32-based development board. It provides a foundation for building high-performance graphical user interfaces on 3.5-inch capacitive touch displays using the Arduino framework.

freertos lvgl
105

LVGL C++ Binding

A C++17 wrapper for the Light and Versatile Graphics Library (LVGL), offering an object-oriented API for embedded graphical user interface development. It simplifies the integration of LVGL into C++ projects by providing bindings for widgets, drivers, and core functionality.

lvgl
60

LVGL Demo Embarcadores

A demonstration project showcasing the LVGL graphics library on the STM32F429-Discovery board. It integrates multiple hardware peripherals including GPS, IMU, and rotary encoders using FreeRTOS for task management. The application is designed to be portable between the physical ARM target and an x86-based simulator.

freertos lvgl
14

LVGL Demo Printer for Raspberry Pi 3

An embedded graphics application for Raspberry Pi 3 that implements a printer demo using the LVGL library and SDL2. It features a touch-enabled interface designed with GUI-Guider and is configured for the MPI3508 HDMI display on ARM Linux.

lvgl
15

LVGL Demo Test

A demonstration and testing project for the LVGL (Light and Versatile Graphics Library) version 7. It showcases UI components and graphical capabilities for embedded display systems.

lvgl
36

LVGL Display and Touchpad Drivers for ESP32

A comprehensive collection of display and input device drivers for the ESP32 SoC, specifically designed to interface with the LVGL graphics library. It supports a wide variety of TFT, monochrome, and e-Paper controllers using SPI and I2C interfaces within the ESP-IDF framework.

freertos lvgl
427

LVGL Display and Touchpad Drivers

A comprehensive collection of display and input device drivers designed for the LVGL graphics library. It provides ready-to-use implementations for various LCD controllers, touchscreens, and platform-specific interfaces like Linux FBDEV, DRM/KMS, and SDL.

lvgl
385

LVGL Emscripten Port

A port of the LVGL graphics library to Emscripten, enabling the compilation of embedded UI applications into JavaScript and WebAssembly. It provides a web-based simulation environment using SDL2 for graphics and input handling, allowing developers to test and showcase embedded interfaces in any modern browser. This project is widely used for creating interactive demos and simulating hardware displays without physical devices.

lvgl
114

LVGL Extended Demos

A collection of specialized and niche demo applications for the Light and Versatile Graphics Library (LVGL). It provides self-contained examples such as eBike interfaces and smartwatch stress tests designed for embedded systems and high-performance GUI development.

lvgl
543

LVGL for Android

A framework for developing HMI on Android using C and the LVGL library without relying on the Java Android API. It allows developers to run applications directly from the command line, making it ideal for BSP and MCU engineers working on factory modes, self-tests, or fast-camera interfaces.

lvgl
27

LVGL for Embedded Linux

A comprehensive porting layer and example project for running the LVGL graphics library on Linux-based embedded systems. It provides drivers for various display backends including FBDEV, DRM/KMS, Wayland, and SDL2, along with input support for evdev and libinput.

lvgl
395

LVGL Game Boy Advance Emulator

A high-performance Game Boy Advance emulator integrated with the LVGL graphics library. It features a decoupled architecture, zero-copy framebuffer rendering via lv_canvas, and support for both PC and Raspberry Pi platforms.

lvgl
52

LVGL Layout Preview

A real-time layout preview tool for the LVGL (Light and Versatile Graphics Library). It supports both LVGL v7 container layouts and LVGL v8 flexbox layouts, providing a visual way to understand and debug embedded UI positioning.

lvgl
18

LVGL MicroPython Bindings

Automatically generated MicroPython bindings for the LVGL graphics library, enabling high-level GUI development on microcontrollers. It features seamless integration with MicroPython's garbage collector, support for various display and touch drivers, and an automated API generation system for maintaining parity with the C library.

lvglmicropython
329

LVGL Offline Image Conversion Tool

A Windows-based offline utility for converting images into C arrays or binary files compatible with the LVGL graphics library. It supports various color formats, dithering, and batch processing, providing a local alternative to the official LVGL online converter.

lvgl
51

LVGL Port for Arm Cortex-M55 and MPS3 (AN547)

A professional LVGL port for the Arm Cortex-M55 processor, targeting the MPS3 FPGA prototyping board and the Corstone-300-FVP emulator. It features hardware acceleration using Arm-2D with Helium technology and supports the Ethos-U55 NPU for high-performance embedded graphics.

cmsis lvgl
20

LVGL Port for ESP32

A comprehensive port of the Light and Versatile Graphics Library (LVGL) for the ESP32 SoC using the ESP-IDF framework. It provides a modular driver system for various display and touch controllers, integrated directly into the ESP-IDF build system and configuration menu.

freertos lvgl
1,243

LVGL Port for M5Stack Core2

A port of the Light and Versatile Graphics Library (LVGL) for the M5Stack Core2 development kit based on the ESP32. It utilizes the ESP-IDF framework and FreeRTOS to provide a high-performance graphical user interface on the device's integrated display, including support for the AXP192 power management chip.

freertos lvgllwipspiffs
18

LVGL Port for STM32F429 Discovery Kit

A hardware-specific port of the LVGL graphics library for the STM32F429 Discovery development board. It features support for the onboard 2.4-inch QVGA TFT, resistive touch, and utilizes the STM32 DMA2D (Chrom-ART) GPU for accelerated rendering in a bare-metal environment.

lvgl
95

LVGL Port for Raspberry Pi Pico (MDK-ARM)

An MDK-ARM project template for the Raspberry Pi Pico featuring the LVGL graphics library. It leverages Arm Compiler 6, CMSIS-Packs for modular component management, and provides a ready-to-use configuration for the Waveshare 1.3-inch LCD module.

lvgl
33

LVGL Port for STM32F769 Discovery

A professional port of the LVGL graphics library to the STM32F769 Discovery kit. It provides a complete hardware abstraction layer for the board's 4-inch capacitive touch LCD, SDRAM, and MIPI-DSI interface.

lvgl
41

LVGL Port for Windows

A pre-configured Visual Studio project that ports the LVGL graphics library to the Windows desktop environment. It utilizes the Win32 API to provide a hardware abstraction layer (HAL) for display and input, enabling developers to prototype and test embedded user interfaces on a PC.

lvgl
87

LVGL Rust Bindings

Rust bindings for the LVGL (Light and Versatile Graphics Library), providing a safe and idiomatic interface for creating embedded GUIs. It supports #![no_std] environments and integrates with the embedded-graphics crate for display drivers.

lvgl
860

LVGL Rust to WASM

An example project demonstrating the use of the LVGL graphics library in Rust, compiled to WebAssembly (WASM) and native targets. It showcases cross-platform UI development using the embedded-graphics ecosystem and Emscripten.

lvgl
29

LVGL Terminal for PinePhone on Apache NuttX

A touchscreen terminal application for the PinePhone running the Apache NuttX RTOS. It utilizes the LVGL graphics library to provide a graphical interface for interacting with the NuttX NSH shell, enabling command execution directly on the device's display.

nuttx lvgl

LVGL Test App for Apache NuttX

A simplified test application for the LVGL graphics library running on the Apache NuttX RTOS. It provides drivers and configuration for display and touch input on hardware like the Pine64 PineDio Stack BL604 and ESP32.

nuttx lvgl