v7.11.0-dev
Introduction
Key features
Requirements
License
Repository layout
Release policy
Branches
Release cycle
Tags
Changelog
Side projects
Version support
FAQ
Where can I ask questions?
Is my MCU/hardware supported?
Is my display supported?
Nothing happens, my display driver is not called. What have I missed?
Why the display driver is called only once? Only the upper part of the display is refreshed.
Why I see only garbage on the screen?
Why I see non-sense colors on the screen?
How to speed up my UI?
How to reduce flash/ROM usage?
How to reduce the RAM usage
How to work with an operating system?
Get started
Quick overview
Get started in a simulator
Add LVGL into your project
Learn the basics
Widgets
Events
Parts
States
Styles
Themes
Examples
Button with label
Styling buttons
Slider and alignment
Micropython
Simulator on PC
Select an IDE
Set-up Eclipse CDT
Install Eclipse CDT
Install SDL 2
Pre-configured project
Add the pre-configured project to Eclipse CDT
Compile and Run
STM32
NXP
Creating new project with LVGL
Adding HW acceleration for NXP iMX RT platforms using PXP (PiXel Pipeline) engine for existing projects
Features supported:
Basic configuration:
Basic initialization:
Project setup:
Advanced configuration:
Espressif (ESP32)
Get the LVGL demo project for ESP32
Use LVGL in your ESP32 project
Prerequisites
Get LVGL
Use lvgl_esp32_drivers in your project
Support for ESP32-S2
Arduino
Get the LVGL Ardunio library
Set up drivers
Configure LVGL
Configure the examples
Initialize LVGL and run an example
Debugging and logging
Micropython
What is Micropython?
Highlights of Micropython
Why Micropython + LVGL?
Here are some advantages of using LVGL in Micropython:
Micropython + LVGL could be used for:
So what does it look like?
A simple example
How can I use it?
Online Simulator
PC Simulator
Embedded platform
Where can I find more information?
NuttX RTOS
What is NuttX?
Highlights of NuttX
Why NuttX + LVGL?
Here are some advantages of using LVGL in NuttX
NuttX + LVGL could be used for
How to get started with NuttX and LVGL?
First you need to install the pre-requisite on your system
Now let's to create a workspace to save our files
Clone the NuttX and Apps repositories:
Configure NuttX to use the stm32f429i-disco board and the LVGL Demo
Flashing the firmware in the board using OpenOCD:
Where can I find more information?
Porting
System overview
Set-up a project
Get the library
Configuration file
Initialization
Display interface
Display buffer
Display driver
Rotation
API
Input device interface
Types of input devices
Touchpad, mouse or any pointer
Keypad or keyboard
Encoder
Button
Other features
API
Tick interface
API
Task Handler
Sleep management
Operating system and interrupts
Tasks and threads
Interrupts
Logging
Log level
Logging with printf
Custom log function
Add logs
Overview
Objects
Attributes
Basic attributes
Specific attributes
Working mechanisms
Parent-child structure
Moving together
Visibility only on the parent
Create - delete objects
Screens
Create screens
Get the active screen
Load screens
Handling multiple displays
Parts
States
Layers
Order of creation
Bring to the foreground
Top and sys layers
Events
Event types
Generic events
Special events
Custom data
Send events manually
Arbitrary events
Refresh event
Styles
States
Cascading styles
Inheritance
Parts
Initialize styles and set/get properties
Managing style list
Local styles
Transitions
Properties
Mixed properties
Padding and margin properties
Background properties
Border properties
Outline properties
Shadow properties
Pattern properties
Value properties
Text properties
Line properties
Image properties
Transition properties
Scale properties
Themes
Extending themes
Example
Styling a button
API
Input devices
Pointers
Keypad and encoder
Groups
Styling
API
Input device
Groups
Displays
Multiple display support
Using only one display
Mirror display
Split image
Screens
Transparent screens
Features of displays
Inactivity
Background
Colors
Convert color
Swap 16 colors
Create and mix colors
Opacity
Built-in colors
API
Display
Colors
Fonts
Unicode support
Built-in fonts
Normal fonts
Special fonts
Special features
Bidirectional support
Arabic and Persian support
Subpixel rendering
Compress fonts
Add new font
Add new symbols
Load font in run-time
Add a new font engine
Images
Store images
Variables
Files
Color formats
Add and use images
Online converter
Manually create an image
Use images
Image decoder
Custom image formats
Register an image decoder
Manually use an image decoder
Image caching
Cache size
Value of images
Memory usage
Clean the cache
API
Image decoder
Image cache
Image buffer
Image draw
File system
Add a driver
Usage example
Use drivers for images
API
Animations
Create an animation
Animation path
Speed vs time
Delete animations
API
Input device
Tasks
Create a task
Ready and Reset
Set parameters
One-shot tasks
Measure idle time
Asynchronous calls
API
Drawing
Buffering types
Mechanism of screen refreshing
Masking
C
MicroPython
Widgets
Base object (lv_obj)
Overview
Coordinates
Parents and children
Screens
Layers
Events
Parts
States
Style
Attributes
Protect
Groups
Extended click area
Events
Keys
Example
C
MicroPython
API
Arc (lv_arc)
Overview
Parts and Styles
Usage
Angles
Rotation
Range and values
Type
Events
Keys
Example
C
MicroPython
API
Bar (lv_bar)
Overview
Parts and Styles
Usage
Value and range
Modes
Events
Keys
Example
C
MicroPython
API
Button (lv_btn)
Overview
Parts and Styles
Usage
States
Checkable
Layout and Fit
Events
Keys
Example
C
MicroPython
API
Button matrix (lv_btnmatrix)
Overview
Parts and Styles
Usage
Button's text
Control buttons
One check
Recolor
Aligning the button's text
Notes
Events
Keys
Example
C
MicroPython
API
Calendar (lv_calendar)
Overview
Parts and Styles
Usage
Overview
Current date
Shown date
Highlighted days
Name of the days
Name of the months
Events
Keys
Example
C
MicroPython
API
Canvas (lv_canvas)
Overview
Parts and Styles
Usage
Buffer
Palette
Drawing
Transformations
Blur
Events
Keys
Example
C
MicroPython
API
Checkbox (lv_cb)
Overview
Parts and Styles
Usage
Text
Check/Uncheck
Disabled
Get/Set Checkbox State
Events
Keys
Example
C
MicroPython
API
Chart (lv_chart)
Overview
Parts and Styles
Usage
Data series
Series' type
Modify the data
Override default start point for series
Set an external data source
Get current chart information
Update modes
Number of points
Vertical range
Division lines
Tick marks and labels
Cursor
Events
Keys
Example
C
MicroPython
API
Container (lv_cont)
Overview
Parts and Styles
Usage
Layout
Autofit
Events
Keys
Example
C
MicroPython
API
Color picker (lv_cpicker)
Overview
Parts and Styles
Usage
Type
Set color
Color mode
Knob color
Events
Keys
Example
C
MicroPython
API
Drop-down list (lv_dropdown)
Overview
Parts and Styles
Usage
Overview
Set options
Get selected option
Direction
Symbol
Maximum height
Show selected
Animation time
Manually open/close
Events
Keys
Example
C
MicroPython
API
Gauge (lv_gauge)
Overview
Parts and Styles
Usage
Set value and needles
Scale
Range
Needle image
Critical value
Events
Keys
Example
C
MicroPython
API
Image (lv_img)
Overview
Parts and Styles
Usage
Image source
Label as an image
Transparency
Palette and Alpha index
Recolor
Auto-size
Mosaic
Offset
Transformations
Rotate
Events
Keys
Example
C
MicroPython
API
Image button (lv_imgbtn)
Overview
Parts and Styles
Usage
Image sources
Button features
Events
Keys
Example
C
MicroPython
API
Keyboard (lv_keyboard)
Overview
Parts and Styles
Usage
Modes
Assign Text area
New Keymap
Events
Keys
Examples
C
MicroPython
API
Label (lv_label)
Overview
Parts and Styles
Usage
Set text
Line break
Long modes
Text align
Text recolor
Very long texts
Symbols
Events
Keys
Example
C
MicroPython
API
LED (lv_led)
Overview
Parts and Styles
Usage
Brightness
Toggle
Events
Keys
Example
C
MicroPython
API
Line (lv_line)
Overview
Parts and Styles
Usage
Set points
Auto-size
Invert y
Events
Keys
Example
C
MicroPython
API
List (lv_list)
Overview
Parts and Styles
Usage
Add buttons
Delete buttons
Manual navigation
Layout
Edge flash
Scroll propagation
Events
Keys
Example
C
MicroPython
API
Line meter (lv_lmeter)
Overview
Parts and Styles
Usage
Set value
Range and Angles
Angle offset
Mirror
Events
Keys
Example
C
MicroPython
API
Message box (lv_msgbox)
Overview
Parts and Styles
Usage
Set text
Add buttons
Auto-close
Events
Example
C
MicroPython
API
Object mask (lv_objmask)
Overview
Parts and Styles
Usage
Adding mask
Update mask
Remove mask
Events
Keys
Example
C
MicroPython
API
Page (lv_page)
Overview
Parts and Styles
Usage
Scrollbars
Glue object
Focus object
Manual navigation
Edge flash
Scroll propagation
Clean the page
Scrollable API
Events
Example
C
MicroPython
API
Roller (lv_roller)
Overview
Parts and Styles
Usage
Set options
Get selected option
Align the options
Visible rows
Animation time
Events
Keys
Example
C
MicroPython
API
Slider (lv_slider)
Overview
Parts and Styles
Usage
Value and range
Symmetrical and Range
Knob-only mode
Events
Keys
Example
C
MicroPython
API
Spinbox (lv_spinbox)
Overview
Parts and Styles
Set format
Value and ranges
Events
Keys
Example
C
MicroPython
API
Example
Spinner (lv_spinner)
Overview
Parts and Styles
Usage
Arc length
Spinning speed
Spin types
Spin direction
Events
Keys
Example
C
MicroPython
MicroPython
API
Switch (lv_switch)
Overview
Parts and Styles
Change state
Animation time
Events
Keys
Example
C
MicroPython
API
Table (lv_table)
Overview
Parts and Styles
Usage
Rows and Columns
Width and Height
Set cell value
Align
Cell type
Merge cells
Crop text
Scroll
Events
Keys
Example
C
MicroPython
MicroPython
API
Tabview (lv_tabview)
Overview
Parts and Styles
Usage
Adding tab
Change tab
Change tab's name
Tab button's position
Animation time
Scroll propagation
Events
Keys
Example
C
MicroPython
API
Text area (lv_textarea)
Overview
Parts and Styles
Usage
Add text
Placeholder
Delete character
Move the cursor
Hide the cursor
Cursor blink time
One line mode
Password mode
Text align
Accepted characters
Max text length
Very long texts
Select text
Scrollbars
Scroll propagation
Edge flash
Events
Keys
Example
C
MicroPython
API
Tile view (lv_tileview)
Overview
Parts and Styles
Usage
Valid positions
Set tile
Add element
Scroll propagation
Animation time
Edge flash
Events
Keys
Example
C
MicroPython
API
Window (lv_win)
Overview
Parts and Styles
Title
Control buttons
Scrollbars
Manual scroll and focus
Layout
Events
Keys
Example
C
MicroPython
API
Contributing
Introduction
Pull request
From GitHub
From command line
Developer Certification of Origin (DCO)
Overview
Accepted licenses and copyright notices
Your own work
Use code from online source
Use MIT licensed code
Use GPL licensed code
When you get started with LVGL
Give LVGL a Star
Tell what you have achieved
Write examples
Improve the docs
Translate the docs
Write a blog post
When you already use LVGL
Give feedback
Report bugs
Send fixes
Join the conversations in the Forum
Add features
When you are confident with LVGL
Become a maintainer
Move your project repository under LVGL organization
LVGL
»
Porting
Edit on GitHub
Porting
ΒΆ
System overview
Set-up a project
Get the library
Configuration file
Initialization
Display interface
Display buffer
Display driver
Rotation
API
Input device interface
Types of input devices
Other features
API
Tick interface
API
Task Handler
Sleep management
Operating system and interrupts
Tasks and threads
Interrupts
Logging
Log level
Logging with printf
Custom log function
Add logs