Guide to port LVGL

Hi All,

I’ve been eye balling the LVGL code for last couple of days and it seems to be making some sense now however i am now trying to port it to Arduino Due (32 bit controller) but I’m not sure where to start. I went through the paid LVGL course videos however the “Chip setup” section only talks about downloading the github code without going into much detail. Is there any document out there which explains this process in more detail?


Can you give more details about what lcd you plan on using?

The display I am working with is a 3.95" ST7796S (similar to ILI9488) Display Driver and a SPI touch controller. There’s a wiki page for this display (Ref_1) which provides drivers as well as GUI library however I’ve only been able to make it work on 8-bit Mega2560. The software package contains x2 driver libraries (one for 8/16 bit display and other for touch controller) and x1 GUI library.

I need a starting point as to how I can use the LCDWIKI_KBV and LCDWIKI_TOUCH libraries as reference to write a driver library compatible with LVGL and can work on Arduino Due which is a 32 bit controller.

Standard way of writing firmware/driver is to refer to the datasheet of the device and start writing code from scratch. If you have some guide/tutorial on that using LVGL, that too will help. My goal is not just to have this display working with Due but also learn some best practices of writing hardware drivers from more experienced ppl in this forum.

Thanks for your help in advance.


Here 16bit parallel 8080 for ILI9486 driver.

1 Like

Thanks for sharing the files @reisub. I spent few hours this weekend trying to make head and tails of this files however I’m a bit lost. Do you happen to have any document on how i can configure these files to work with Arduino Due board? I see ILI9486L_Driver.h file is using STM32 HAL file! I assume I will have to replace it with its Arduino equivalent ?
Also I assume the definition will have to be updated for ST776S ? Can you suggest how I can get these numbers from the datasheet of the chip?
Finally I don’t see any touch control library. Is that something i need to add separately ?

I use STM32CubeIDE with HAL drivers, but the TFT driver employs only Delay functions and FSMC initializes from HAL. All description LCD commands I get from the ILI9486 datasheet. I don’t use a touchscreen now. Unfortunately, I can’t say anything about Arduino since I don’t know this one.

1 Like

@Prash_KD Could it be possible for you to share the driver in case you completed it or some reference content for assistance - we’re working on that too.



My project for example Demo. LVGL 8.3.3/SquareLine Studio 1.1.1/STM32F407VET6/ILI9486L - YouTube

In conformity with instruction