LVGL

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

Features

  • Powerful building: blocks buttons, charts, lists, sliders, images etc
  • Advanced graphics with animations, anti-aliasing, opacity, smooth scrolling
  • Various input: devices touch pad, mouse, keyboard and external buttons
  • Multi language support with UTF-8 decoding
  • Fully customizable graphical elements
  • Hardware independent to use with any microcontroller or display
  • Scalable to operate with few memory (at least 64-180 kB Flash, and 16-32 kB RAM)
  • OS, External memory and GPU supported but not required
  • Single frame buffer operation even with advances graphical effects
  • Written in C for maximal compatibility
  • PC simulator to develop without embedded hardware
  • Tutorials, examples, themes for rapid development
  • Advanced support and professional GUI development service
  • Documentation and API references online
  • Free and open source under MIT licence

Resource

  • X-TRACK. A GPS bicycle speedometer that supports offline maps and track recording .
  • ThatProject. *That Project’s project repository.
  • ZSWatch. ZSWatch - the Open Source Zephyr™ based Smartwatch, including both HW and FW..
  • lv_port_esp32. LVGL ported to ESP32 including various display and touchpad drivers.
  • WatchX. Open-source smart watch, based on LittlevGL Embedded GUI Library.
  • OMOTE. Open Source Remote Using ESP32 and LVGL.
  • lv_binding_rust. LVGL bindings for Rust. A powerful and easy-to-use embedded GUI with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash). .
  • openHASP. HomeAutomation Switchplate based on lvgl for ESP32.
  • lv_demos. Examples, tutorials and applications for the LVGL embedded GUI library.
  • X-Knob. X-Knob - A smart knob based on LVGL UI library, supports Smart Home(MQTT) and Surface Dial (BT) // LVGL UI 框架下的力反馈智能旋钮 (smartknob + X-TRACK) .
  • HandsomeMod. IOT freedom for end users!.
  • lv_drivers. TFT and touch pad drivers for LVGL embedded GUI library.
  • X-CTRL. Open-source model remote controller.
  • lvgl_esp32_drivers. Drivers for ESP32 to be used with LVGL.
  • lv_port_pc_eclipse. PC simulator project for LVGL embedded GUI Library. Recommended on Linux and Mac..
  • lv_binding_micropython. LVGL binding for MicroPython.
  • WatchX-II. A brand-new designed open source smart watch .
  • lv_port_linux_frame_buffer. LVGL configured to work with a standard Linux framebuffer.
  • ESP32-TUX. ESP32-TUX - ESP32 / ESP32-XX Touch UX Template using LVGL to get you started .
  • esp32_composite_video_lib. ESP32 library that generates composite video signal for PAL, SECAM and NTSC..
  • lv_font_conv. Converts TTF/WOFF fonts to compact bitmap format.
  • ESP32Berry. ESP32Berry Project.
  • uReflowOven-Esp32-Micropython. μReflow Oven controller based on ESP32 with MicroPython & LVGL.
  • lv_port_win_codeblocks. Windows PC simulator project for LVGL embedded GUI Library.
  • SL_SDK. SL_SDK provides an easy-to-use software framework with united HAL and OSAL, also including a runtime environment to speed-up development for embedded devices like COTEX-M, RISC-V and so on. .
  • OV-Watch. A powerful Smart Watch. Only cost ¥80 RMB ( $12 USD )..
  • LVGL8-WT32-SC01-Arduino. ESP32 + WT32-SC01 + LOVYANGFX + LVGL8 with Arduino.
  • lv_port_windows. LVGL ported to Windows.
  • XC-OS. Open source graphics operating system for microcontroller.
  • lv_port_stm32f429_disco. LVGL ported to STM32F429I-DISC1 using SW4STM32 (Ac6) IDE.
  • lv_binding_js. React bindings for LVGL ⚛️.
  • esp32-smartdisplay. PlatformIO library LVGL Drivers for Sunton Smart display boards. This library supports these boards without any effort. ESP32-2432S028R, ESP32-3248S035R, ESP32-3248S035C.
  • MarauderCentauri. A suite of WiFi/Bluetooth offensive and defensive tools for the ESP32 and ESP8266.
  • XTerminal. a multi functional embedded device based on esp32,integrated with music player,weather,clock,Arduboy games,etc.
  • lv_img_conv. Image converter for LVGL, written in JS.
  • lv_lib_png. PNG decoder for LVGL.
  • lv_lib_100ask. lv_lib_100ask is a reference for various out of the box schemes based on lvgl library or an enhanced interface for various components of lvgl library..
  • lv_utils. Convert images or system fonts to C arrays. Written for LVGL embedded GUI library.
  • Lumia-ESP32. A demo project for WT32-SC01 module.
  • lv_lib_qrcode. QR code generation with LVGL.
  • lv_web_emscripten. LVGL ported to Emscripten to be converted to JavaScript.
  • lv_lib_freetype. Interface to FreeType to generate font bitmaps run time.
  • bbn-m5stack-tough. M5Stack Tough (ESP-32) Sailing Instruments Display and Autopilot Control.
  • esphome-lvgl. ESPhome with LVGL component.
  • lvgl-watch. Open-Smartwatch手表,基于LVGL8.0.
  • WT32-SqLn. Getting started with Wireless Tag’s WT32-SC01 Plus using SquareLine Studio and LVGL.
  • Lvgl_image_convert_tool. 基于LVGl图片转换离线版封装的小工具,不仅有界面,还可以一键生成到项目里哦.
  • LVGL_UI_Creator. Drag and Drop UI Creation for LVGL.
  • pid-stm32f746. Embedded graphical interface for PID control.
  • lv_i18n. Internationalization (i18n) for LVGL.
  • lv_lib_gif. GIF library for LVGL.
  • AWatch. An ESP32 TTGO T-Watch (2019 edition) Amiga-inspired Countdown Timer Watch.
  • LVGL-DemoTest. LVGL demo test.
  • lv_binding_cpp. [WIP] C++ binding for LVGL.
  • lv_lib_split_jpg. JPG decoder for LVGL .
  • lv_gba_emu. LVGL Game Boy Advance Emulator.
  • luavgl. lua + lvgl = luavgl An optimized lvgl Lua binding.
  • EUC-Dash-ESP32. Bluetooth Dashboard for electric unicycles (EUCs) for ESP32(ttgo t-watch). requires PlatformIO to build.
  • lv_100ask_linux_desktop. 百问网linux桌面GUI,基于LVGL 8.x。.
  • ESP32-LVGL8x-SDSPI. ESP32 / ESP32-S3 with LVGL widgets using LovyanGFX + SD SPI working with multiple display size support.
  • air32f103-template. AIR32F103 template project for GNU Arm Embedded Toolchain.
  • lv_chinese_ime. lv_chinese_ime:支持中文输入法的LVGL键盘部件增强插件。lv_chinese_ime: LVGL keyboard widget enhancement plugin that supports Chinese input method..
  • ESP32-Watch-Projects. ESP32-Watch.
  • Launcher_lvgl. Use LVGL make a launcher.
  • lv_lib_rlottie. Lottie animation support for LVGL.
  • M5Pi-Launcher. Launcher for M5Pi based on LVGL..
  • espgaggia. Automate your gaggia classic or other machine….
  • lv_port_stm32f769_disco. LVGL ported to STM32F769 Discovery using CubeIDE.
  • dt78-esp32-firmware. Firmware for the DT78 watch based on ESP32 microcontroller.
  • Deck. 基于稚晖君的Peak和FASTSHIFT的X-TRACK,享受丝滑UI并构建自己的玩具.
  • STM32_DisplayLink. Connecting USB-VGA adapter to STM32.
  • paMcuLib. My commonLib for MCUs. 我的mcu通用库.
  • cdroid. CDroid is a android like GUI toolkit base on C++11,It is a cross-platform GUI engine for embedded system.Mybe an other choice of emwin ,touchgfx,awtk. it is more frientdly for android developers..
  • blog. Post, News and Tutorials about LVGL embedded GUI library.
  • steeringWheel_MeterBox_STM32_FreeRTOS. 一款功能强大的大学生方程式赛车方向盘。.
  • lvgl-rs-wasm. Example of LVLG in Rust compiled to WASM..
  • lv_port_raspberry_pi_pico_mdk. An MDK template for Raspberry Pi Pico + LVGL.
  • T-Display-S3. An example project for LILYGO’s T-Display-S3 using the PlatfomIO IDE, Arduino framework and LVGL..
  • Vex-Autonomous-Selector. An Autonomous Selector Made using LVGL for VEX + PROS.
  • lv_layout_preview. Real time preview of lvgl layout..
  • lvglpp. A C++ wrapper for LVGL.
  • open-authenticator-app. Firmware for Open Authenticator.
  • lvgl_port_M5Core2. LVGL ported to M5Core2(esp32)..
  • VFO-ESP32-Si5351. VFO ESP32 Si5351.
  • pinephone-lvgl-zig. LVGL for PinePhone (and WebAssembly) with Zig and Apache NuttX RTOS.
  • lv_lib_bmp. BMP decoder library for LVGL.
  • lvgl-demo-embarcadores. Aplicação de exemplo usando a biblioteca gráfica LVGL..
  • barebones-watchface. Barebones Watch Face for Rust + Mynewt on PineTime Smart Watch.
  • SC01_Plus_HMI_example. Arduino example using SquareLine Studio to make an HMI with an SC01_plus capacitive display..
  • esp32_offline_osm. Offline (OSM) maps on ESP32.
  • esp32-st7789v-ft6236u-arduino. 1.3inch 240x240 LVGL Arduino PlatormIO.
  • lvgl-nrf52840-mdk-sample. A simple example of how to use a LVGL widget in Zephyr RTOS running on a nRF52840_mdk board and a ST7789 - 240x240 IPS display.
  • lvgl_touch_calibration. A complete lvgl screen object for performing calibration of a resistive touch panel..
  • LinuxCodeLibrary. Embedded Linux Code Library..
  • pinetime. zephyr based PineTime smartwatch.
  • lvgl-rasp-sdl. “Demo printer” LVGL application for Raspbery Pi 3 using SDL library..
  • rp2040-eSPI-lvgl. a simple demo with eSPI and LVGL resistance touch screen based on RP2040.
  • lvgl-for-android. You can use C to develop HMI in android without java android-api , and can run app in cmdline directly. ideally situated for bsp and mcu engineers to develop HMI in android,who familiarize with lvgl.
  • zig-lvgl-nuttx. Zig LVGL Touchscreen App on Apache NuttX RTOS.
  • docs. Meta repository for compiled documentation. Do not send PRs here - they will be closed. The Markdown files are now located in the main repository: https://github.com/lvgl/lvgl.

Website: https://lvgl.io/

Source code: https://github.com/lvgl/lvgl

License: MIT