Littlev Graphics Libraray
LittlevGL provides everything you need to create a Graphical User Interface (GUI) on embedded systems with easy-to-use graphical elements, beautiful visual effects and low memory footprint.
Table Of Content
- 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, buttons 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 (50 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 develop on PC without embedded hardware
- Tutorials, examples, themes for rapid development
- Documentation and API references online
In the most sime case you need 4 things:
lv_tick_inc(1) in every millisecods in a Timer or Task
- Register a function which can copy a pixel array to an area of the screen.
- Register a function which can read an input device. (E.g. touch pad)
lv_task_handler() periodically in every few milliseconds
For more information visit https://littlevgl.com/porting
Or check the Porting tutorial
Clone or Download the lvgl repository:
git clone https://github.com/littlevgl/lvgl.git
Create project with your prefered IDE and add the lvgl folder
- Copy lvgl/lv_conf_templ.h as lv_conf.h next to the lvgl folder
- In the lv_conf.h delete the first
#if 0 and its
#endif. Let the default configurations at first.
- In your main.c: #include "lvgl/lvgl.h"
- In your main function:
- tick, display and input device initialization (see above)
- To test create a label:
lv_obj_t * label = lv_label_create(lv_scr_act(), NULL);
- In the main while(1) call
lv_task_handler(); and make a few milliseconds delay (e.g.
- Compile the code and load it to your embedded hardware
If you don't have got an embedded hardware you can test the graphics library in a PC simulator. The simulator uses SDL2 to emulate a display on your monitor and a touch pad with your mouse.
There is a pre-configured PC project for Eclipse CDT in this repository: https://github.com/littlevgl/pc_simulator
If you are pleased with the graphics library, found it useful or be happy with the support you got, please help its further development: