Тёмный

LVGL 9, [Ep. 01], From Scratch to Benchmark, For newbie/beginner/starter  

That Project
Подписаться 32 тыс.
Просмотров 15 тыс.
50% 1

LVGL is a great graphics tool. In particular, it can provide users with excellent graphical UI/UX even in low-power embedded environments with insufficient resources.
In this video, we will take a look at the newly released LVGL 9 from scratch to benchmark. I think this will be of great help to those just starting. If you don't need this part, please check out the next project video.
[Source Code]
github.com/0015/ThatProject/t...
[LVGL 9, [Ep. 06] My Air Quality Sensor, Draw IKEA UI]
• My Air Quality Sensor,...
[LVGL 9, [Ep. 05] Custom fonts are essential in GUI!]
• LVGL Tutorial with ESP...
[LVGL 9, [Ep. 04] Creating Interactive UI/UX Screens with LVGL 9 on ESP32: Implementing On-Screen Keyboard]
• LVGL Tutorial with ESP...
[LVGL 9, [Ep. 03] Creating Stunning UI on ESP32 with LVGL: A Step-by-Step Guide]
• LVGL Tutorial with ESP...
[LVGL 9, [Ep. 02], Examples, We can understand better and faster through LVGL Examples]
• LVGL Tutorial with ESP...
[LVGL 9, [Ep. 01], From Scratch to Benchmark, For newbie/beginner/starter]
• LVGL 9, [Ep. 01], From...
[LVGL Projects]
• ESP32 + LVGL Projects
[ESP32-S3-DevKitC-1-N8R8 Development Board]
amzn.to/3Smt1Gh
#LVGL9 #UI #Embedded #Benchmark #ESP32 #ThatProject

Наука

Опубликовано:

 

10 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 101   
@nischal_poudel
@nischal_poudel 5 месяцев назад
Thank you very much for the detailes tutorial, got the hardwares, will be looking more into this LVGL
@thecircuithelper
@thecircuithelper 4 месяца назад
Great video, very clear! Thanks!
@RWB123
@RWB123 22 дня назад
Thanks bro! This helped me get the Demo Benchmark running after tons of trouble getting my particular display integrated into LVGL. Being able to watch how to setup the folders made all the difference.
@surflaweb
@surflaweb 5 месяцев назад
Good job. Keep it up!
@r.faj.5636
@r.faj.5636 3 месяца назад
FINALLY!!!!!!!!!!!!! I got LVGL working 🥳. Bro this is the 4th time I have tried getting this library to work. I really did not want to port this other GUI library that I use on desktop... thanks for the helpful tutorial :D
@ugetridofit
@ugetridofit 5 месяцев назад
Thank you for the video!
@user-bb3ib9zn2d
@user-bb3ib9zn2d 5 месяцев назад
Very helpful!
@user-go9sn7dm4w
@user-go9sn7dm4w Месяц назад
Great videos!!
@gmnakamura6380
@gmnakamura6380 3 месяца назад
Thank you your advice about XPT2046😄
@arash5094
@arash5094 5 месяцев назад
thanks a lot for you best and first lvgl 9 video tutorial . please make a full tutorial for lvgl from beginners to pro level in a playlist because the lvgl 8 is much diffrent than lvgl 9
@crookeddream
@crookeddream 2 дня назад
im extremly stuck on keypad driver in lvgl 9. i cant do it. i need to register a callback so lvgl itself can handle cycling through menus. im on simulator eclipse.
@WESCLEYEMANUEL
@WESCLEYEMANUEL 3 месяца назад
Ganhou um inscrito! Continue falando nesse tom e velocidade de voz, o RU-vid traduz bem assim para o português do Brasil. Grato, está me ajudando muito. Por aqui é bem difícil ter conteúdos desse tipo.
@andrisetianabrata
@andrisetianabrata 5 месяцев назад
Heyy. I hope you make some tutorial with lvgl and physical buttons like a external push button. Im confused about make some group
@ThatProject
@ThatProject 5 месяцев назад
This is an example of using lv_group_create() when using a rotator on a device without a touch screen. It is built on top of LVGL 8, so it may differ from LVGL 9. github.com/0015/ThatProject/blob/master/ESP32_LVGL/LVGL8/ZX2D10GE01R-V4848_Arduino/ZX2D10GE01R-V4848_Arduino.ino
@andrisetianabrata
@andrisetianabrata 4 месяца назад
​@@ThatProjectIs the output of int16_t `cont_now = mt8901_get_count();` valued at -1 ccw, 0 stationary, 1 CW?
@ThatProject
@ThatProject 4 месяца назад
@@andrisetianabrata I believe that's correct.
@saulh.Barajas2025
@saulh.Barajas2025 2 месяца назад
I jave issues with WT32sc-01 coud you share the configuration for it?
@ThatProject
@ThatProject 2 месяца назад
This is the LovyanGFX settings for WT32-SC01 Plus used in LVGL 8. Please refer to this and try it first. I'll probably use the WT32-SC01 Plus in my next project. github.com/0015/ThatProject/blob/master/ESP32_LVGL/LVGL8_SquareLine/03_Let's_build_a_GPS_Speedometer/SC01Plus_BN880Q_GPS_App_Part2/SC01Plus_BN880Q_GPS_App_Part2.ino
@francescoserpetti6119
@francescoserpetti6119 3 месяца назад
Thank you very much for your intro. I’m working with an ESP32 with Arduino framework. I’ve already used previous versions of LVGL implementing my disp_flush and touch_read callback functions. With latest version of LVGL I can enable LV_USE_TFT_ESPI define and I saw from code that with lv_tft_espi_create function it creates automatically the flush callback. But what about the touch callback (compatible with TFT_eSPI)? I don’t have found any reference in LVGL code. Do I need to implement it? How can I get the TFT_eSPI reference (created in function lv_tft_espi_create) to define the touch_cb in my main, to avoid a new instance? or is better that I define it in lv_tft_espi.cpp file of LVGL? or, maybe, I’m on the wrong way… I would like to find the best practice. Thanks in advance
@ThatProject
@ThatProject 3 месяца назад
I think you are already familiar with using TFT_eSPI. And I think you are trying to use your xpt2046 touch. Am I right? If you specified TOUCH_CS PIN in User_Setup.h, you can receive touch information through TFT_eSPI. Looking at this example: github.com/0015/ThatProject/blob/master/ESP32_LVGL/LVGL9/LVGL9_Ep04_ExtraExample/LVGL9_Ep04_ExtraExample.ino Line #31, TFT_eSPI tft = TFT_eSPI(); tft is now available. With this, I rotated the screen. Now all you have to do is change my_touchpad_read() like this: void my_touchpad_read(lv_indev_drv_t *indev_driver, lv_indev_data_t *data) { uint16_t x = 0, y = 0; bool pressed = tft.getTouch(&x, &y); if (pressed) { data->state = LV_INDEV_STATE_PR; data->point.x = x; data->point.y = y; } else { data->state = LV_INDEV_STATE_REL; } }
@francescoserpetti6119
@francescoserpetti6119 3 месяца назад
​@@ThatProject Thank you very much for your answer. Yes, I vas used to do like your example, but now, with lv_tft_espi_create LVGL instantiate a TFT_eSPI object and I think that is a bad idea create a new SPI concurrent object. Probabily I need to do the same inside lv_tft_espi.cpp file, using the same object created in lv_tft_espi_create function
@ThatProject
@ThatProject 3 месяца назад
@@francescoserpetti6119 When creating a TFT_eSPI object in LVGL, use the "new" keyword. Then, assign this object to the TFT_eSPI pointer of the lv_tft_espi_t structure. Unfortunately, because lv_tft_espi_t is internal, there is currently no way to obtain this object via lv_display_get_driver_data(). It would be possible to change this struct in lvgl so that it can be used externally in the future, but there seems to be no way to reference this in the current version 9.1.0.
@francescoserpetti6119
@francescoserpetti6119 2 месяца назад
@@ThatProject And that's exactly my problem. I've to instantiate a new TFT_eSPI but it could create a confict with the object created internally by LVGL sharing the same SPI. Probably I've to extract only the touch driver from TFT_eSPI library and instantiate it in main.
@Kevin-sx6we
@Kevin-sx6we 5 месяцев назад
What software do you recommend for creating UI/UX? How about SquareLine Studio?
@ThatProject
@ThatProject 5 месяцев назад
SquareLine Studio is LVGL's official UI making tool. This is really cool and can help you create awesome displays. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-b_4m1A3A2yw.htmlsi=fI9cxdo4M5Jy4aOh
@FrankP83
@FrankP83 3 месяца назад
@@ThatProject any free alternative? Squareline is not free for a complex project :(
@ThatProject
@ThatProject 3 месяца назад
@@FrankP83 I agree. It is too expensive for commercial use. So, in this tutorial series, we will only work with LVGL. There doesn't seem to be a good UI Editor that can replace Squareline Studio yet.
@peeyushdadwal
@peeyushdadwal 5 месяцев назад
Hi, how can we add lvgl examples to our project?
@ThatProject
@ThatProject 5 месяцев назад
After moving the Example folder to the src folder, you can run the example through #include .
@FrankP83
@FrankP83 3 месяца назад
ciao!Any chance to have same tutorial for using LVGL with the LovyanGFX lib? I've the Makerfabs ESP32S335D display, with same your touch driver, the FT6236, with LovyangGFX, is already included i suppouse. Thanks in advance for your effort!
@ThatProject
@ThatProject 3 месяца назад
I'll probably cover LovyanGFX later too. Thanks.
@zekisolak4141
@zekisolak4141 4 месяца назад
Hi thanks for the tutorial. I have a crash issue though. I checked with tft_eSPI. board and screen works great. but when I try to compile lvgl demo, IDE crashes after sometime (1-2 mins ) giving ping error without a valid compile. Did you have this kind of error before?
@ThatProject
@ThatProject 4 месяца назад
I've experienced that kind of error. Seems like your IDE is out of memory or has some issues with it. What about changing the IDE version? Try the latest version or the previous version.
@zekisolak4141
@zekisolak4141 4 месяца назад
@@ThatProject I've installed latest nighty version which is the one error occurred. I've reduced the version to 1.8 now it kind of works. Compile time is ridiculously long some how.
@ThatProject
@ThatProject 4 месяца назад
@@zekisolak4141 Because there are so many widgets included in the benchmark, it takes a lot of time to compile.
@sniperchan7545
@sniperchan7545 3 месяца назад
Good job. Thank you very much . My screen is ST7701s, how to make ST7701s work in TFP_eSPI?Can you give me some help?
@ThatProject
@ThatProject 3 месяца назад
Have you properly set the pinout connected to your display in TFT_eSPI/User_Setup.h? What part are you asking me about?
@cmtg4471
@cmtg4471 Месяц назад
Hi I have some problem setting up my LCD for LVGL, can you create a video about it? Here are the details for my board: - ESP32-S3 - 4.3" - ILI9485 - Not Touchscreen - Board: ESP32-4827S043 (seen ok the back of the LCD board) Additional info: -As per checking it uses a RGB interface which is sadly not supported by tft_espi library
@ThatProject
@ThatProject Месяц назад
If TFT_eSPI is not supported, LovyanGFX or ArduinoGFX will definitely work. I hope you give this a try.
@cmtg4471
@cmtg4471 Месяц назад
@@ThatProject Do you have any tutorials for lovyan gfx? I searched the net if they supported it, but I cannot find any, I would love to make the lovyan gfx work on my display since it offers sprites.
@ThatProject
@ThatProject 29 дней назад
@@cmtg4471 Sorry, I don't have any direct tutorial videos for it. This is the official document. Check this out. lovyangfx.readthedocs.io/en/master/
@omraniachref9062
@omraniachref9062 5 месяцев назад
Does it work with esp32 t display? Not the S3
@ThatProject
@ThatProject 5 месяцев назад
This is possible if TFT_eSPI supports ST7789V. Have you checked?
@omraniachref9062
@omraniachref9062 5 месяцев назад
@@ThatProject well inside the user_setup.h there is st7789 so i think it's possible
@nperr
@nperr 4 месяца назад
Can you port it for idf framework?
@ThatProject
@ThatProject 4 месяца назад
I will try this in an IDF environment later as well.
@tariceanuadrianalexandru3130
@tariceanuadrianalexandru3130 4 месяца назад
Is there any chance for you to make a tutorial for lvgl and lottie?
@ThatProject
@ThatProject 4 месяца назад
Yes, it is currently being prepared.
@thexht7927
@thexht7927 2 месяца назад
Why it uses 0% CPU?
@ThatProject
@ThatProject 2 месяца назад
When in Idle, CPU usage is 0%.
@thexht7927
@thexht7927 2 месяца назад
@@ThatProject but I see the screen is still loading? Completely DMA?
@ThatProject
@ThatProject Месяц назад
@@thexht7927 Because of the use of DMA, it seems that the CPU is not used at all when drawing the screen. Let me check this part again. Thanks for the good point.
@BeeStone-op1nc
@BeeStone-op1nc 2 месяца назад
Thank you! I sent a dm to you on ig
@filipesigrist9252
@filipesigrist9252 4 месяца назад
Hello, I have an error when compiling the program, I have already tested several things, but without success, could you help me, it is related to LVGL. error : In file included from c:\users\fi\onedrive\documentos\arduino\libraries\lvgl\src/lv_init.h:17, from c:\users\fi\onedrive\documentos\arduino\libraries\lvgl\lvgl.h:24, from C:\Users\fi\OneDrive\Documents\Arduino\libraries\lvgl\src/lvgl.h:16, from C:\Users\Filol\Downloads\LVGL9_Benchmark_TFT-eSPI_Arduino\LVGL9_Benchmark_TFT-eSPI_Arduino.ino:15: c:\users\fi\onedrive\documentos\arduino\libraries\lvgl\src/lv_conf_internal.h:59:18: fatal error: ../../lv_conf.h: No such file or directory #include "../../lv_conf.h" /*Else assumes lv_conf.h is next to the lvgl folder*/ ^~~~~~~~~~~~~~~~~~~ compilation terminated. exit status 1 Compilation error: exit status 1
@ThatProject
@ThatProject 4 месяца назад
Isn't this a path issue in the lv_conf.h file? Have you set it up the same as this? ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-s4_fUwhw-dI.htmlsi=SRirLJ5ufCCtRfj_&t=356
@filipesigrist9252
@filipesigrist9252 4 месяца назад
I had copied the file to the scr folder, but for some reason there must have been a problem and when I copied the file again, it ended up working. But now I'm having problems with the Touch screen that doesn't want to work. Thank you very much for responding@@ThatProject​
@ThatProject
@ThatProject 4 месяца назад
@@filipesigrist9252 Touch input requires an appropriate touch driver. What type of touch IC do you have?
Далее
ESP32 S3 board with Round Touch Display GC9A01
5:30
Просмотров 96 тыс.
Stray Kids <ATE> Mashup Video
02:17
Просмотров 1,3 млн
Developing Embedded GUI with SquareLine Studio [2/2]
30:00
ESP32 + 7in LCD + Fast RGB Interface
27:42
Просмотров 7 тыс.
451 Which Processor can kill the ESP32?
11:24
Просмотров 339 тыс.
ПОКУПКА ТЕЛЕФОНА С АВИТО?🤭
1:00
Acer Predator Тараканьи Бега!
1:00
Просмотров 371 тыс.