Hi I need some help getting started with littlevgl as it really is a huge unknown to me.
I did a simple fake UI design for a prop design I did a little while back using the Nextion HMI displays.
A video showing the UI Tricorder UI
I have been massively burned by nextion with quality fade and down right corrupt actions by its staff…
Because of all this I want to recreate my Fake UI animation design in LittlevGL so I can control the quality of hardware used in my props.
As you can see Im using a fairly large amount of graphic assets. Is this something LittlevGL can handle? Im assuming the graphic assets need to be loaded in an a flash chip of some sort. Is LittlevGL capable of loading assets quickly and displaying them?
And Does littlevGL IDE convert the assets into usable binaries? Im guessing rgb565 for small 2.8 inch spi driven displays?
How are the widgets in the IDE made? Are they simply functions with data inputs that then convert the data into GL draw commands as part of each screen draw cycle?
So if I need my own new graphic element I can create my own function call and fill it with GL commands? Can I use the IDE to wysiwyg up new widgits and generate code with it?
Also does littlevGL do graphic tiles? So i can load a bunch of icons in 1 image, and tile it?
My first version used an atmega328p but as I now need to do UI AND led animations and touch and sound… I think an MCU upgrade is in order. stm32f103?
Anyway info you can give me would be incredibly helpful…
I think it’s more a question of the hardware you use, the amount of ROM/RAM you have, your display driver etc.
lvgl is just the rendering software engine.
You can use the image converter tool of lvgl for converting image formats, or directly load PNG files with the PNG image decoder.
There is no “lvgl IDE”, or a GUI builder tool (yet). lvgl is just a C library. You build it and use it to render widgets, such as buttons, text labels etc. In your case - probably a lot of images.
You can create new widgets (“objects”) if you want, but this requires more effort than just using the library.
What kind of graphic elements do you need, that are missing from lvgl?
Also, I’m not sure what you mean by “GL draw commands”. lvgl is not like opengl - it is rendering everything in software and sends buffers of pixels to the display using a display driver.
You can place and align objects as you like, if that’s what you mean.
atmega328p is definitely too weak to render complex graphics at high speeds…
Are you going to use SPI display or some parallel bus? What data rates do you need?
No, this forum and github are the main collaboration tools used for lvgl, although discord could be an interesting addition. @kisvegabor, what do you think?
As an upgrade I would consider using a STM32F4xx with graphics support. There are similar boards to Bluepill with F401/F411 for about 5 bucks, or the STM32F407VE Black where you can directly plug a tft on.
That is real fun.