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

  Рет қаралды 23,410

That Project

That Project

Күн бұрын

Пікірлер: 122
@r.faj.5636
@r.faj.5636 8 ай бұрын
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
@nischal_poudel
@nischal_poudel 9 ай бұрын
Thank you very much for the detailes tutorial, got the hardwares, will be looking more into this LVGL
@RWB123
@RWB123 4 ай бұрын
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.
@-highvoltage4685
@-highvoltage4685 3 ай бұрын
you are a true legend I never thought I could ever get lvgl to work thx a lot + if anyone having slight differences in the .ino example file please downgrade to 9.0.0 since 9.1.1 has some differences
@ThatProject
@ThatProject 3 ай бұрын
What kind of issues are there?
@arash5094
@arash5094 9 ай бұрын
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
@gmnakamura6380
@gmnakamura6380 7 ай бұрын
Thank you your advice about XPT2046😄
@andrisetianabrata
@andrisetianabrata 9 ай бұрын
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 9 ай бұрын
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 8 ай бұрын
​@@ThatProjectIs the output of int16_t `cont_now = mt8901_get_count();` valued at -1 ccw, 0 stationary, 1 CW?
@ThatProject
@ThatProject 8 ай бұрын
@@andrisetianabrata I believe that's correct.
@thecircuithelper
@thecircuithelper 8 ай бұрын
Great video, very clear! Thanks!
@WESCLEYEMANUEL
@WESCLEYEMANUEL 7 ай бұрын
Ganhou um inscrito! Continue falando nesse tom e velocidade de voz, o KZbin traduz bem assim para o português do Brasil. Grato, está me ajudando muito. Por aqui é bem difícil ter conteúdos desse tipo.
@AaronPark-o9h
@AaronPark-o9h 9 ай бұрын
Very helpful!
@surflaweb
@surflaweb 9 ай бұрын
Good job. Keep it up!
@Alex000113
@Alex000113 Ай бұрын
Good video, thx !
@ugetridofit
@ugetridofit 9 ай бұрын
Thank you for the video!
@luisfilipe1459
@luisfilipe1459 2 ай бұрын
Great video, man! I would like to ask a question. The driver that my display uses is the ILI9488. Works perfectly with TFT_eSIM. But I saw that in User_setup the driver needs to be set and there is no such driver. So it doesn't work?
@ThatProject
@ThatProject 2 ай бұрын
ILI9488 is a graphic IC. Usually, the display has a touch IC separate from the graphic IC. (If the display supports touch). Please look for that first.
@anishkarbhari2908
@anishkarbhari2908 Ай бұрын
I've done every single step you mentioned in this video but even after uploading the code on ESP32 the display continues to stay blank. The display I'm using is Waveshare 1.69inch 240x280 pixels ST7789V2. The display is working properly and the connections are proper as well.
@ThatProject
@ThatProject Ай бұрын
@@anishkarbhari2908 As mentioned in the video, you need to configure it according to your display. Did you finish the setup for ST7789V2 correctly in user_setup.h of TFT_eSPI?
@anishkarbhari2908
@anishkarbhari2908 Ай бұрын
Yess I tried doing with both 7789 and 7789_2 I'm not getting an output
@anishkarbhari2908
@anishkarbhari2908 Ай бұрын
@@ThatProject I am using a ESP32 S3 for this project. So do I have to make changes in the Node MCU section in the user_setup.h file or the ESP32 section in the file??
@ThatProject
@ThatProject Ай бұрын
@@anishkarbhari2908 You only need to set up the ESP32 side.
@ThatProject
@ThatProject Ай бұрын
@@anishkarbhari2908 Please check the TFT_eSPI Github issues page to find people who are having issues with your display setup.
@Kevin-sx6we
@Kevin-sx6we 9 ай бұрын
What software do you recommend for creating UI/UX? How about SquareLine Studio?
@ThatProject
@ThatProject 9 ай бұрын
SquareLine Studio is LVGL's official UI making tool. This is really cool and can help you create awesome displays. kzbin.info/www/bejne/mJCXnmR3aKZlr9ksi=fI9cxdo4M5Jy4aOh
@FrankP83
@FrankP83 7 ай бұрын
@@ThatProject any free alternative? Squareline is not free for a complex project :(
@ThatProject
@ThatProject 7 ай бұрын
@@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.
@francescoserpetti6119
@francescoserpetti6119 7 ай бұрын
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 7 ай бұрын
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 7 ай бұрын
​@@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 7 ай бұрын
@@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 7 ай бұрын
@@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.
@Alex2Hsrw
@Alex2Hsrw 5 ай бұрын
Great videos!!
@sniperchan7545
@sniperchan7545 7 ай бұрын
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 7 ай бұрын
Have you properly set the pinout connected to your display in TFT_eSPI/User_Setup.h? What part are you asking me about?
@AndikaNurrahman
@AndikaNurrahman 3 ай бұрын
I am using an 8-bit parallel TFT shield and Wemos R32. Can I use the Adafruit_Touchscreen for LVGL?
@ThatProject
@ThatProject 3 ай бұрын
Yes, you can, but you need to implement the Display flushing part yourself. void my_disp_flush(lv_display_t *disp, const lv_area_t *area, uint8_t *px_map) { uint32_t w = lv_area_get_width(area); uint32_t h = lv_area_get_height(area); tft.startWrite(); tft.setAddrWindow(area->x1, area->y1, w, h); tft.writePixels((lgfx::rgb565_t *)px_map, w * h); tft.endWrite(); lv_disp_flush_ready(disp); } You can also use the Adafruit TouchScreen, but you'll need to modify the my_touchpad_read part. Check out my GitHub for more info. github.com/0015/ThatProject/blob/master/ESP32_LVGL/LVGL9/LVGL9_Ep06_Air_Sensor_UI/LVGL9_Ep06_Air_Sensor_UI.ino
@FrankP83
@FrankP83 7 ай бұрын
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 7 ай бұрын
I'll probably cover LovyanGFX later too. Thanks.
@MuhammadMustafaAkhterStudent
@MuhammadMustafaAkhterStudent 3 ай бұрын
Hi amazing tutorial. I am having some difficulties following up . Becuase i cannot see the driver i have which is ST7262E43 , i have a waveshare board 4.3 inch. Do you know how i cant set it up in tft-espi
@ThatProject
@ThatProject 3 ай бұрын
ST7262E43 is used on the official Espressif board ESP32-S3-LCD-EV-Board-2, so it seems like it needs to be set up using ESP-BSP. It seems like it can't be configured with TFT_eSPI.
@peeyushdadwal
@peeyushdadwal 9 ай бұрын
Hi, how can we add lvgl examples to our project?
@ThatProject
@ThatProject 9 ай бұрын
After moving the Example folder to the src folder, you can run the example through #include .
@tariceanuadrianalexandru3130
@tariceanuadrianalexandru3130 9 ай бұрын
Is there any chance for you to make a tutorial for lvgl and lottie?
@ThatProject
@ThatProject 9 ай бұрын
Yes, it is currently being prepared.
@Naixik
@Naixik Ай бұрын
It is possible to display a camera picture, I use frigate with reolink IP camera. I have a ESP 32 S3 LCD 7 inch.? Thanks
@ThatProject
@ThatProject Ай бұрын
This type of IP camera can only be accessed through an app created by the manufacturer. To use it in any other way, they must support it.
@zekisolak4141
@zekisolak4141 8 ай бұрын
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 8 ай бұрын
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 8 ай бұрын
@@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 8 ай бұрын
@@zekisolak4141 Because there are so many widgets included in the benchmark, it takes a lot of time to compile.
@crookeddream
@crookeddream 4 ай бұрын
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.
@CodeMotion4yt
@CodeMotion4yt 6 ай бұрын
I jave issues with WT32sc-01 coud you share the configuration for it?
@ThatProject
@ThatProject 6 ай бұрын
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
@cmtg4471
@cmtg4471 5 ай бұрын
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 5 ай бұрын
If TFT_eSPI is not supported, LovyanGFX or ArduinoGFX will definitely work. I hope you give this a try.
@cmtg4471
@cmtg4471 5 ай бұрын
@@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 5 ай бұрын
@@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 9 ай бұрын
Does it work with esp32 t display? Not the S3
@ThatProject
@ThatProject 9 ай бұрын
This is possible if TFT_eSPI supports ST7789V. Have you checked?
@omraniachref9062
@omraniachref9062 9 ай бұрын
@@ThatProject well inside the user_setup.h there is st7789 so i think it's possible
@nperr
@nperr 9 ай бұрын
Can you port it for idf framework?
@ThatProject
@ThatProject 9 ай бұрын
I will try this in an IDF environment later as well.
@thexht7927
@thexht7927 6 ай бұрын
Why it uses 0% CPU?
@ThatProject
@ThatProject 6 ай бұрын
When in Idle, CPU usage is 0%.
@thexht7927
@thexht7927 6 ай бұрын
@@ThatProject but I see the screen is still loading? Completely DMA?
@ThatProject
@ThatProject 6 ай бұрын
@@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.
@50031185
@50031185 2 ай бұрын
lvgl 太过于依赖CPU,对单片机是不太适合设计华丽的界面
@ThatProject
@ThatProject 2 ай бұрын
@@50031185 I agree, but no embedded GUI has been as successful as LVGL. Do you have any other alternatives in mind?
@50031185
@50031185 2 ай бұрын
@@ThatProject 现在一些嵌入式单片机厂家都在为自家的芯片推出了图形库,并同深度优化,我知道st的 touchgfx 支持自己的H7系列的gpu硬件,这方案是不错,当然这限制了用户的选择,其他厂商也有提供 emwin 的支持库,但是我还不太清楚是否有深度的优化
@filipesigrist9252
@filipesigrist9252 8 ай бұрын
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 8 ай бұрын
Isn't this a path issue in the lv_conf.h file? Have you set it up the same as this? kzbin.info/www/bejne/qWXCl4itndxgmqssi=SRirLJ5ufCCtRfj_&t=356
@filipesigrist9252
@filipesigrist9252 8 ай бұрын
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 8 ай бұрын
@@filipesigrist9252 Touch input requires an appropriate touch driver. What type of touch IC do you have?
@BeeStone-op1nc
@BeeStone-op1nc 6 ай бұрын
Thank you! I sent a dm to you on ig
Developing Embedded GUI with SquareLine Studio [2/2]
30:00
That Project
Рет қаралды 64 М.
小路飞还不知道他把路飞给擦没有了 #路飞#海贼王
00:32
路飞与唐舞桐
Рет қаралды 74 МЛН
CAN YOU DO THIS ?
00:23
STORROR
Рет қаралды 49 МЛН
風船をキャッチしろ!🎈 Balloon catch Challenges
00:57
はじめしゃちょー(hajime)
Рет қаралды 44 МЛН
Ice Cream or Surprise Trip Around the World?
00:31
Hungry FAM
Рет қаралды 5 МЛН
Customize Your ESP32 LCD with Any Font Imaginable
14:49
Volos Projects
Рет қаралды 20 М.
Yes, I Changed My Mind: Using SquareLine Studio and LVGL Now!
8:41
Volos Projects
Рет қаралды 32 М.
2023 New ESP32Berry Project, The base UI & ChatGPT Client
6:14
That Project
Рет қаралды 19 М.
Use EEZ Studio to Build an Arduino LVGL UI | nerdhut.de
8:49
Revolutionize Your ESP32 Projects with Live GPIO Pin Monitoring!
8:08
The Last Outpost Workshop
Рет қаралды 184 М.
ESPHome now supports LVGL - Elecrow 5-inch ESP32 display
23:22
Vaclav Chaloupka
Рет қаралды 11 М.
Why Are Open Source Alternatives So Bad?
13:06
Eric Murphy
Рет қаралды 670 М.
Don't be Fooled!! This Cheap Yellow Display Can Do a LOT!!
10:39
Talking Sasquach
Рет қаралды 42 М.
小路飞还不知道他把路飞给擦没有了 #路飞#海贼王
00:32
路飞与唐舞桐
Рет қаралды 74 МЛН