Subscribe for interesting News and useful Tutorials.   (one or two newsletter per month)


Do you need a GUI feature? Tell it!

The last release (v5.0) brought a bunch of new features like Unicode support, themes, easier poring, clearer architecture and new object types like: roller, keyboard or switch. This release was a big success and a lot of good feedback have arrived. However you, the great community, who use the library in real life projects always have new ideas. They might be dreams or requirements from the industry. As an open-source project LittlevGL's goal is satisfy real needs of people.

A lot of points already established which should be part of the next releases. Now you also can tell your visions and share your needs which features should LittlevGL contain in the feature.

Better CJK (Chinease-Japan-Korean) Font Handling

Chinese font support in LittelvGL

LittlevGL has a lot of users from Asia in China, Korea or India. To provide better support for these specific fonts the library will be extended to effectively handle sparse fonts with "gaps". It means you will be able to store non-continuous block of characters to save memory. Loading fonts from an external flash via SPI will be well supported as well!

Arabic font and Right-to-Left written text support

Arabic font support in LittelvGL

If you want to display Arabic fonts you will need this feature. Arabic letters need to be replaced according to their position in the text. This translation will be implemented in the next release. The library will also support displaying text right-to-left.

GUI from Lua Script

Script based with Lua in LittelvGL

It will be a very unique feature in the world of embedded GUI. LittlevGL will be able to create GUI from "text based" commands in real time. What does it mean in the practice? You load a "base program" once into your MCU and then you can send commands via serial port to create an object. Or you can store these commands on an SD card and your MCU can read the script from there. Later you just can change the SD card without flashing the microcontroller. The language of the commands will be Lua which is a well-known script language often used in graphics engines. A command to create button will look like this:
btn1 = btn_set(nil, {parent=lv_scr_act(), height = 150, width = 140, x = 10, y = 50, style_rel = lv_style_pretty})
And to modify something: btn_set(btn1, {width = 100})

Better support for monochrome and gray scale displays

Better Monochrome display support in LittlevGL

According to your feedback a lot of people use monochrome and gray scale displays. Now LittlevGL's internal graphics buffer (VDB) can use 1 byte as the smallest color unit. To save memory for displays with less then 256 colors, there will be updates to support 1 bit, 2 bit or 4 bit units too. It will highly reduce the required memory for the graphics buffer.

Updated font anti -aliasing for beautiful letters and less memory usage

Now the font anti-aliasing uses double sized letters and then filters (smooth) them to the desired sizes. It uses 4 bits to get 1 result pixel. So 4 times more memory is required. Using an other method to store and render fonts the same (or better) quality result can be achieved with half memory usage.

Multiple display support

Multiple display support in LittlevGL

The idea is raised to support multiple displays. Two method will be supported:

  • Make a larger screen from more displays For example 3 × 4 displays in an matrix. LittlevGL will handle them as one large display
  • Independent displays Use displays with independent content. For example: 1 main TFT, 1 auxiliary Monochrome display and VNC clients. Each of them can have different content.

Let's build something great together

If you have ideas, suggestions or feedback now is the time to determine directions of the graphics library. Don't be shy, just tell your thought! Everybody's voice matters!

How to contribute?

  • Just drop a comment below
  • Go to GitHub and open a new issue!
  • Go to the homepage and Contact

We need your help too

As you know LittlevGL is totally free, it don't have any income from licencing. To continue this work and deliver the features you need we ask you to support LittlevGL with a donation. It can be about a few dollars to show you appreciate our efforts or even a bigger amount to help covering the expenses. Every support is highly appreciated!

Thank you!

Did you like this article? Share it with your friends!

Subscribe for more interesting News and useful Tutorials   (one or two newsletter per month)

Have a question or have experience in this field? Share with us!

MarkDown supported

2018-02-15 12:19:37

Hi I need some help for using button long pressed action. I created 3 buttons and added them into a group where I added my input device which is 4 hardware keys ( Arrow and OK keys). I defined two actions for each key, a long pressed action and click action. whenever I pressed a key no matter for how long, just button action is run. I couldn't find any example for that, I appreciated it if some one could help me. Regards Masi

2018-02-15 13:42:14

Hi, Please ask your question on GitHub's issue tracker:

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