LittlevGL is a free and open-source graphics library providing everything you need to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint.

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, encoder etc

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 (80 kB Flash, 10 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

Simulator to start embedded GUI design on PC without embedded hardware

Tutorials, examples, themes for rapid GUI design

Advanced support and professional embedded GUI development service

Documentation and API references online

Free and open-source developed only from Donations

Powerful graphical objects

LittlevGL is a complete graphic framework where you don't need to think about drawing of primitive shapes. You can build your GUI from easy-to-use building blocks instead like buttons, charts, images, lists, sliders, switches, keyboard and so on.

See all the Object types.

Graphical building blocks (wigdets) in LittlevGL (lvgl) to create embedded GUI with microcontrollers

Engaging graphics

In the world of smart phones users want to see state-of-the-art, innovative user interfaces even on the display of embedded devices.

Using LittlevGL your embedded GUI will impress your customers with smooth animation, opacity, shadows and anti-aliasing.

All these with only one frame buffer and 10..20 kB RAM (without double buffering). It might eliminate external RAM to keep your PCB simple with a cheaper microcontroller.

Themes to speed up embedded GUI design

You can customize the objects one-by-one but it's much faster and easier use a theme!

You will find a matching theme for GUIs in Industry, Instruments, Smart home, Health care or anything else.

Check the Existing themes

LittlevGL in the practice

The LittlevGL API is simple and clean. Look how easy it is to create a button and a label on it. To learn more check the Documentation or the Tutorial

The result of the code example:

LittlevGL (lvgl) embedded GUI library example code result
/*Add a button*/
lv_obj_t * btn1 = lv_btn_create(lv_scr_act(), NULL);             /*Add to the active screen*/
lv_obj_set_pos(btn1, 10, 10);                                    /*Adjust the position*/
lv_btn_set_action(btn1, LV_BTN_ACTION_CLICK, my_click_action);   /*Assign a callback for clicking*/

/*Add text*/
lv_obj_t * label = lv_label_create(btn1, NULL);                  /*Put on 'btn1'*/
lv_label_set_text(label, "Click me");                            /*Modify the label's text*/
            

Try the TFT simulator on PC

A Littlev Graphics Library based GUI can run in a simulator on your PC. Hence you can try the graphics library and begin the embedded GUI design and development without any PCB, microcontroller or TFT display.

Runs on Windows, Linux and OSX as well. Learn more here.

LittlevGL (lvgl) embedded graphicy library run on PC without the need of TFT display and microcontroller

Open-source C code

The graphics library is written in C to run in any embedded system: Microcontroller or Single Board Computer with ARM Cortex M or A, Intel, AMD or MIPS core from STM, NXP, Microchip, Freescale etc.

The graphic library is open-source and you can use it for free in your embedded development. But LittlevGL needs your support to keep it free and bring new features! If you like it please Support its development with a few dollar!

LittlevGL (lvgl) embedded graphicy library run on PC without the need of TFT display and microcontroller

Embedded GUIs with Littlev Graphics Library

Port to STM32 Discovery

STM32F429 Discovery using
font anti-aliasing and animations.
Read more in this post

PIC32MX microcontrollers drives a 480x320 TFT display using SSD1963 display controller

PIC32MX with SSD1963

A 80 MHz PIC32MX microcontroller
with 128 kB RAM drives a TFT using
SSD1963 via parallel port.

LED light controller embedded GUI with LittlevGL and STM32

RGB LED Light Controller

RGB LED controller GUI with STM32F4 on a
800x480 TFT with Capacitve touch panel.
From Teguh Sobirin

MC66 GSM drives a TFT display without additional microcontroller

GSM module driven TFT

Quectel M66 GSM module drives a
TFT display directly via SPI.
From Ajay Bhargav

LittlevGL (lvgl) embedded GUI library to created graphical user interface for monochrome displays

Monochrome Display

Simplified styles for a monochrome
display driven by a 16 bit PIC24
microcontroller via SPI.

Do you have a LittlevGL GUI?
Show it here

Blog for embedded GUI enthusiasts

New release v5.1 -  4x Faster Anti-aliasing, Sparse Font Support and more

New release v5.1 - 4x Faster Anti-aliasing, Sparse Font Support and more

Read post
Embedded GUI using Linux frame buffer device with LittlevGL

Embedded GUI using Linux frame buffer device with LittlevGL

Read post
Embedded GUI on STM32 Discovery Board with Littlev Graphics Library

Embedded GUI on STM32 Discovery Board with Littlev Graphics Library

Read post
Do you need a GUI feature? Tell it!

Do you need a GUI feature? Tell it!

Read post

Need help with your embedded GUI?

To report issues, bugs or request features, please use GitHub's Issue Tracker

For professional support or emnbedded GUI design and development check the Services

For anything else don't hasitate to send a message here

LittlevGL - Open-source Embedded GUI Library

LittlevGL is a free and open-source graphics library providing everything you need to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint.

If you like LittlevGL, please
support its deveopment!


The founder of Littlev Graphics Library (LittlevGL) and related software modules is:
Gábor Kiss-Vámosi
All Rights Reserved ©  2018 Hungary