STM32 + LVGL Firmware Tutorial - Phil's Lab

  Рет қаралды 15,581

Phil’s Lab

Phil’s Lab

Күн бұрын

Пікірлер: 77
@Εὐκλείδης300
@Εὐκλείδης300 2 ай бұрын
Thank you! Your lessons are always relevant for me. I think STMicroelectronics should pay you, because your lessons are better than their official ones.😀
@PhilsLab
@PhilsLab 2 ай бұрын
Haha thank you!
@dwagner6
@dwagner6 2 ай бұрын
Back to JLCPCB! Reminds me of following along to your STM32 KiCad tutorial that included LCSC/JLC component assembly. Great times!
@PhilsLab
@PhilsLab 2 ай бұрын
Thanks! That's the plan - to make more, 'quick' hardware design walkthroughs with them!
@hovek1988
@hovek1988 2 ай бұрын
I can't thank you enough for what you're doing man. Really sparked a new love for engineering for me. I already hold masters degree in electronic and computer engineering but always regretted not going embedded systems path. Trying to re-specialize now :) Take care.
@PhilsLab
@PhilsLab 2 ай бұрын
Thank you so much - I'm very glad to hear that! Hope all goes well with your career shift :)
@jbvalle
@jbvalle 2 ай бұрын
Thank you so much Phil! I love your clear and precise way of teaching. To the point, yet packed with information
@PhilsLab
@PhilsLab 2 ай бұрын
Thank you very much for your kind words!
@edgerokoth7234
@edgerokoth7234 2 ай бұрын
Thanks Phil, you are always amazing. Much appreciation from Kenya 🇰🇪🇰🇪🇰🇪🇰🇪
@PhilsLab
@PhilsLab 2 ай бұрын
Thank you, Edger!
@radman999
@radman999 2 ай бұрын
FYI.. from the EEZ-open github: Important note: Envox d.o.o. does not claim any ownership rights to the source code generated by the Build command except in the case of a project that uses EEZ Flow when it is given under the MIT license. The user owns the .eez-project file and all the source code generated from the file template definitions that are part of eez-project file. EEZ Studio may also generate files that are under MIT, BSD 2.0 or Public Domain license.
@isaacclark9825
@isaacclark9825 2 ай бұрын
Thanks for yet another fantastic tutorial!! I've wanted to learn to use LVGL, but I have not let the topic bubble up to the top of the self-study list. And now here is that GUI topic on a silver platter!!
@PhilsLab
@PhilsLab 2 ай бұрын
Thank you, Isaac!
@kensamuel2.0
@kensamuel2.0 Ай бұрын
Came Across ur Channel EEE student watching from Nigeria Starting this journey from scratch 😅❤ Keep up d work✅
@mawoodmain
@mawoodmain 2 ай бұрын
Hey Phil, have you had a look at zephyr RTOS yet? Seems to be the most interesting thing going on in the firmware world right now, very well integrated with STM32 MCUs and also integrates LVGL too.
@PhilsLab
@PhilsLab 2 ай бұрын
I haven't yet I'm afraid - it's been on my list, but haven't really found a reason to use it yet (other than maybe for the nRF MCUs)...
@mawoodmain
@mawoodmain 2 ай бұрын
@@PhilsLab I would give it a strong endorsement, definitely worth a good weekend look. I think you would really appreciate the use of device tree for pin configurations, it makes remapping a breeze and means you can swap out what MCU you are using in the snap of your fingers :D I've recently been playing with the native_sim stuff (the build setting to cross-compile the firmware for x64 /x86) and you can fully develop your LVGL GUI application running on linux or WSL2 then change the build command and magically its running on a STM32 eval board then another tweak and its running on your actual custom hardware with no C file changes. I was also staggered by the native_sim Bluetooth support, I was able to work on my Bluetooth low energy firmware running it on my laptop using my laptops Wi-Fi + Bluetooth chipset then run it on an ESP or NRF minutes later again with no actual code change.
@user-qf6yt3id3w
@user-qf6yt3id3w 2 ай бұрын
I like the way LVGL lets you have a minimum buffer size of 1/10th of the screen. It reminds me of Windows 3.1 printer drivers which would render a horizontal band in memory, send it to the printer and then render the next band because you couldn't guarantee enough Ram to render the whole page at once. I guess it does some sort of algorithm to render dirty rectangles, splitting them to get them to fit the buffer if necessary.
@abcdefghijklmnopqrst9852
@abcdefghijklmnopqrst9852 Ай бұрын
Good stuff as always Phil! I'd love to see a future design where it's a Linux based board instead of STM32 using HDMI w/ LVGL, something that can be used in car dashboards for example
@lars123mc
@lars123mc Ай бұрын
Have you considered a tutorial on STM32 LTDC hardware connections and firmware? Great videos as always!
@casualnoises2808
@casualnoises2808 2 ай бұрын
Great tutorial Phil! I can't wait to put it all into practice...
@PhilsLab
@PhilsLab 2 ай бұрын
Thanks! Hope all goes well with your projects :)
@casualnoises2808
@casualnoises2808 2 ай бұрын
@@PhilsLab With the help of your deep inside tutorials, it has to go well... thx!
@perceptron9834
@perceptron9834 2 ай бұрын
Excellent tutorial like always, u have so much knowledge in different topics, respect 😊
@PhilsLab
@PhilsLab 2 ай бұрын
Thank you very much!
2 ай бұрын
The moment I have money to spare, I'll definitely pay for one of your courses.
@PhilsLab
@PhilsLab 2 ай бұрын
I really appreciate that - thank you!
@durairaj5747
@durairaj5747 Ай бұрын
you covered all of them thank you so much timeline lifesaver 😄😁
@manuelcorcos4639
@manuelcorcos4639 2 ай бұрын
Great video Phil!
@PhilsLab
@PhilsLab 2 ай бұрын
Thank you, Manuel!
@matekovacs2696
@matekovacs2696 Ай бұрын
<a href="#" class="seekto" data-time="532">8:52</a> a little surprise on the left... SCHLONGLE xd
@喲嚯
@喲嚯 2 ай бұрын
you are great,I love your tutorial so much!
@PhilsLab
@PhilsLab 2 ай бұрын
Thank you!
@UncleBlondBeard
@UncleBlondBeard 2 ай бұрын
Great work, as always. Very useful!
@PhilsLab
@PhilsLab 2 ай бұрын
Many thanks!
@shahbaazable
@shahbaazable 2 ай бұрын
i recently got to know about this and intend to use on my zynq 4ev ultrascale +
@billyjoe3309
@billyjoe3309 2 ай бұрын
Awesome!!! Canvas will allow you to stream drone video to the screen!
@PhilsLab
@PhilsLab 2 ай бұрын
Thanks! I haven't forgotten about the drone + camera ideas from last video :D
@billyjoe3309
@billyjoe3309 2 ай бұрын
@ Really enjoyed this video, can’t wait to see the rest of this series! 😄
@Radiofreak1041
@Radiofreak1041 2 ай бұрын
Great video again Phil! Regarding the rotary encoders, will you show us how to read them in a non-blocking manner in a future video?
@PhilsLab
@PhilsLab 2 ай бұрын
Thank you! There's quite a bit of content on non-blocking encoder reads, e.g. from ControllersTech (interrupt-based), that I'd recommend checking out.
@marcocipriani01
@marcocipriani01 2 ай бұрын
What's the CPU usage when running LVGL? Measured for example using the FreeRTOS run time stats. Does it leave enough resources for other intensive tasks?
@PhilsLab
@PhilsLab 2 ай бұрын
Good question - I haven't tried LVGL with FreeRTOS yet, but will give that a go and report back.
@marcocipriani01
@marcocipriani01 2 ай бұрын
Thanks!
@Graham_Wideman
@Graham_Wideman 2 ай бұрын
@@PhilsLab I am also very interested in hearing about this. I see another poster asked about Zephyr RTOS with LVGL also, which seems a closely-related topic!
@kevinperillo
@kevinperillo 2 ай бұрын
Nice Video again, also I learned someting new. A great Tip, you could feed ChatGPT a hand drawn ui and ChatGPT does (most times) generate the lvgl Code +/- 😂 This was my solution, since no UI Generator works as I wanted. But next year LVGL will drop theier own UI Generator 🎉
@Εὐκλείδης300
@Εὐκλείδης300 2 ай бұрын
ChatGPT virus penetrated this page. Use the vaccine urgently!⚕😷
@PhilsLab
@PhilsLab 2 ай бұрын
Haha I'm afraid I've not been too happy with my ChatGPT attempts and prefer to do it the 'old fashioned' way.
@yank9904
@yank9904 2 ай бұрын
Great tutorial. Could you please make more esp32 based PCB design
@PhilsLab
@PhilsLab 2 ай бұрын
Thanks - yes, that's to come!
@spehropefhany
@spehropefhany 2 ай бұрын
Nice video, as usual. EEZ Studio's web page says: Output code is royalty-free, and could be generated under MIT, BSD 2.0 or Public Domain license.
@PhilsLab
@PhilsLab 2 ай бұрын
Ah okay great! I may have read an outdated forum post discussing the licensing then.
@jairogarcia1499
@jairogarcia1499 2 ай бұрын
Dude this is great!, could be possible that you makes a video for a ESP32 and IDF? Would be great, I think that too much people use espressif micros too
@PhilsLab
@PhilsLab 2 ай бұрын
Thanks! Yes, that's still on my list of videos to make. Wanted to make a full tutorial with JLCPCB for an ESP-based board as well before that.
@jairogarcia1499
@jairogarcia1499 Ай бұрын
​@@PhilsLab How cool! We are waiting for it, your videos are like a mini master, both makers, professionals ... many people learn thanks to you. In fact, next month I will start with your bundle in fedevel academy.
@Tatasaikrishna-c9q
@Tatasaikrishna-c9q 2 ай бұрын
Thanks for the tutorial! I have a question, how do you use displays such as this NHD-7.0-800480EF-ASXN#-CTP which have drivers: Built-in EK9716B Source Driver and Built-in EK73002AB2 Gate Driver. I was unable to find driver code for any of these drivers. I have enough pins on my MCU but I am unsure how to interface with these drivers.
@asmi06
@asmi06 2 ай бұрын
I personally prefer TouchGFX as it generates C++ classes as opposed to C code, and it uses MVP design which makes compex gui designs easier and more maintainable.
@metehus
@metehus Ай бұрын
Hey, please make a tutorial for using external flash, like qspi, for code storage and booting
@markocvejic6416
@markocvejic6416 2 ай бұрын
Have you tried using rust with embassy framework, what do you think about rust on embedded in general?
@platin2148
@platin2148 2 ай бұрын
It also works with HDMI and MIPI also LVDS. Do you have any guides for debugging a possible software issue of display connections?
@PhilsLab
@PhilsLab 2 ай бұрын
Difficult to say generally, other than the 'usual' troubleshooting (verify hardware connections, monitor signals on scope/logic analyser, ..). The hardware connections are usually fairly straightforward, so the issues I've encountered have typically been software-related.
@arbymohamed6136
@arbymohamed6136 26 күн бұрын
I am new to stm32 boards( not new to programming, so setup in cube ide wasn’t to hard) and I tried to use an st7796 screen. After trying failing to find a driver for it, I wrote a basic one and implemented lvgl. Enabling the performance monitor in the lv conf file allow to see the fps and I was at 6fps. This is probably due to the driver I wrote, I am using the same chip as in your video the stm32h743 which is plenty fast so I wouldn’t blame it. Curious to know the performance of your display Thank you
@arbymohamed6136
@arbymohamed6136 25 күн бұрын
update: i enabled dma on the spi bus i was using, modified the flush callback a bit and now i can get around 30 fps. In this tutorial you havent used dma, yet the screen seems to have a good refresh rate. any tips on how to achieve this? or should i just change to the ili9341 diaplay ?
@anilsuha5301
@anilsuha5301 2 ай бұрын
Thanks Phil, its a nice video!! I think ST has a tool to create the UI rt? if i'm not wrong. can we also use that?
@PhilsLab
@PhilsLab 2 ай бұрын
Thanks, Anil! Yes, ST has TouchGFX - sure you can use that, I happen to prefer LVGL.
@BoernTilStede
@BoernTilStede 2 ай бұрын
Just as simple as running LVGL "innit"
@A13tech
@A13tech 2 ай бұрын
excellent video, do you have any experience with TouchGFX or STemWIN for comparision ?
@PhilsLab
@PhilsLab 2 ай бұрын
I played around a bit with TouchGFX but wasn't too impressed.. Maybe I should give it another go.
@real_robotnik
@real_robotnik 2 ай бұрын
i love you.
@bob_mosavo
@bob_mosavo 2 ай бұрын
Thanks, Phil 👍
@PhilsLab
@PhilsLab 2 ай бұрын
Thanks for watching, Bob!
@michaelwittmann3176
@michaelwittmann3176 2 ай бұрын
This is the first time I've heard about LGVL and it's pretty interesting! Can I use it with an STM32F103CBT6 and a 1.44-inch, 128x128 ST7735 TFT screen? Also perfect video as always Phil :)
@PhilsLab
@PhilsLab 2 ай бұрын
Thanks, Michael! Yes, works with pretty much any processor and display!
@daomingjin
@daomingjin 2 ай бұрын
until LVGL is cabpable of rendering HTML v1.0 (no css, no js just HTML layout with frames ) it's really going to be a real PITA to make useful ....
@monkev1199
@monkev1199 Ай бұрын
@daomingjiin even a minimal web engine capable of rendering HTML is going to consume a lot of resources. You need to compromise somewhere whether it's more powerful hardware that runs Linux or doing some UI stuff by hand
STM32 USB SD Card Mass Storage Device Tutorial - Phil's Lab #148
27:27
SPI Hardware & PCB Design - Phil's Lab #134
33:22
Phil’s Lab
Рет қаралды 32 М.
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
I2C Hardware & PCB Design - Phil's Lab #132
34:50
Phil’s Lab
Рет қаралды 46 М.
How To Write A Driver (STM32, I2C, Datasheet) - Phil's Lab #30
38:21
Configuring Emacs on My New Laptop
2:00:09
Tsoding Daily
Рет қаралды 97 М.
STM32 + LCD Display (FMC) Firmware Tutorial - Phil's Lab #146
36:02
ESPHome now supports LVGL - Elecrow 5-inch ESP32 display
23:22
Vaclav Chaloupka
Рет қаралды 16 М.
Yes, I Changed My Mind: Using SquareLine Studio and LVGL Now!
8:41
Volos Projects
Рет қаралды 36 М.
2-Layer PCB Design Tips - Phil's Lab #137
32:27
Phil’s Lab
Рет қаралды 53 М.
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН