STM32 Programming Tutorial for Custom Hardware | SWD, PWM, USB, SPI - Phil's Lab #13

  Рет қаралды 330,110

Phil’s Lab

Phil’s Lab

Күн бұрын

Пікірлер: 455
@PhilsLab
@PhilsLab 3 жыл бұрын
New hardware and PCB design course on mixed-signal embedded systems just released! ⏵Course content: www.phils-lab.net/courses ⏵Course sign-up: phils-lab-shop.fedevel.education
@AmaDoXX
@AmaDoXX 3 жыл бұрын
Thank you very much for you videos! Helps me a lot!
@spyral98
@spyral98 3 жыл бұрын
Definatelly would really like to see some of the more fancy stuff. Thanks for the videos!!
@bahtiyar.bayram
@bahtiyar.bayram 3 жыл бұрын
Can you write firmware without hal library?
@bobdole27
@bobdole27 3 жыл бұрын
What would i need if i wanted to program a chip itself ,with no board?
@cheesecake667
@cheesecake667 3 жыл бұрын
Rtos would be awesome! Also check out micro-ROS.
@RohitSardessai
@RohitSardessai 3 жыл бұрын
This channel is just fantastic. I've always wanted to learn this stuff and this is one of the finest resources I've stumbled upon. It's easy to find beginner tutorials like Arduino programming but when you get beyond that it becomes harder and harder to find good content and resources.
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you so much, Rohit! Yeah, it's hard to find resources that cover 'the middle ground' for STM32s, so I hope I can make some more videos on that.
@fullstacklab
@fullstacklab 3 жыл бұрын
best channel for pcb boards!
@HardFault0x00
@HardFault0x00 3 жыл бұрын
Great work! I'm using cubeIDE too and that's very convenient IDE to work with because the cubeMX hasbeen integrated, and can use dark mode lol BTW i'm waiting for section where the mcu interact with ext spi flash, it would be interesting! Keep it up!
@PhilsLab
@PhilsLab 3 жыл бұрын
Awesome, thank you! Yeah, CubeIDE is just really convenient to work with. Thanks for the suggestion, will aim to make a video with that in it!
@arthurclaret4481
@arthurclaret4481 16 күн бұрын
How is the compiled program transferred? Do you need a JTAG programmer, or is a serial communication channel enough?
@hgo31079
@hgo31079 2 жыл бұрын
Your videos are usually helpful, but I noticed here you didn't use ground pour on your stm dev board, why?
@ashwin372
@ashwin372 3 жыл бұрын
Subscribed
@PhilsLab
@PhilsLab 3 жыл бұрын
Awesome, thank you!
@rajimordecai1099
@rajimordecai1099 3 жыл бұрын
Hi Phil why write into the gyro chip? But I think, by its 'nature', we should only read data from it. What are we writing into it?
@gsisk911
@gsisk911 3 жыл бұрын
The IMU being used doesn’t just output purely raw data. It does some processing and filtering and other stuff. You can change the maximum degrees per second, put the board to sleep, use a burst output rather than a constant output, among plenty of other things you can find in the data sheet for that part.
@PhilsLab
@PhilsLab 3 жыл бұрын
Thanks, Tom - yeah I completely agree. Unfortunately, I don't have the (very expensive) equipment to test signal integrity :/
@chihebsabri691
@chihebsabri691 3 жыл бұрын
Keep up the good work. The best detailed tutorials ever. Never get bored I can watch your videos for hours 😍
@PhilsLab
@PhilsLab 3 жыл бұрын
Awesome, thank you very much Chiheb!
@frankbose544
@frankbose544 2 жыл бұрын
your stm32 videos are hands down the best on KZbin keep up the great work sir
@artrock8175
@artrock8175 2 жыл бұрын
Agreed! On a scale of 1 - 10, Phil takes his tutorials to an 11! (Spinal Tap Reference).
@stm3252
@stm3252 3 жыл бұрын
The best stm32 tutorial on KZbin! Hands down!!
@suvapillay9358
@suvapillay9358 3 жыл бұрын
Mate, you're gonna groom alot of engineers with all this content. Essentially, helping people earn their way in the world. God bless you. Take care, and Thank you.
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you, Suva!
@vinamarora7049
@vinamarora7049 3 жыл бұрын
This is some really high quality content/tutorial!
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you very much, Vinam!
@danhellgren5671
@danhellgren5671 3 жыл бұрын
Nice board! Is there a reason why you don't flood top and bottom layer with ground?
@cs2dsb
@cs2dsb 3 жыл бұрын
You can force USB to re-enumerate by pulling the USB data lines low for 100ns. You will have to reconfigure the gpio pins of course which is a bit annoying but it's easier than fiddling with cables. I believe it's called a "Single ended zero" in the USB literature.
@luancerilio
@luancerilio 3 жыл бұрын
Hi Phil! Thank you for share with us this nice and really good presented video. I'm excited to see a RTOS running on this board. Also it would be awesome if you make a board using STM32 interfacing with a Sub-GHz transceptor and some sensors to create a generic IoT node.
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you, Luan! RTOS + DMA should feature in the next video :) I'm afraid I'm not much of an IoT guy myself so am planning on doing a couple of other videos first - hopefully all of interest however!
@billyjoe3309
@billyjoe3309 3 жыл бұрын
I completely love your videos. Please continue these STM32 videos!
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you very much! More STM32 videos to come :)
@billyjoe3309
@billyjoe3309 3 жыл бұрын
@@PhilsLab Actually working on my first STM board, it's very complex with lots of functions. Using a STM32F7 driven by a LiPo with a high end display. Goal is smooth UI and handheld. I have never used STM32 stuff before so I'm new to the Cude software and your videos are really helping allot!
@marcorademan8433
@marcorademan8433 3 жыл бұрын
Would be great if you could also cover fancier stuff like SPI using DMA and perhaps cyclic analogue voltage sampling using DMA too
@PhilsLab
@PhilsLab 3 жыл бұрын
Yes, definitely have plans on making a video on how to set-up DMA!
@cpuchip
@cpuchip 3 жыл бұрын
@@PhilsLab that will be awesome to see! I'm trying to do gpio parallel in to circular fifo with DMA for a reverse engineering project on a broken calculator, so any DMA examples are great!
@jimybobjim
@jimybobjim 2 жыл бұрын
Hi, could you please give a more in-depth explanation of how u configured the clocks?
@hemanthkumar-dk6rg
@hemanthkumar-dk6rg 2 жыл бұрын
You down that program with St- link with swb Pina(clk,Dio pins) or usb. Is their any secondary boot loader you done . For uploading the new firmware every time that boot file also required ? Can you please explain
@ambient3708
@ambient3708 3 жыл бұрын
Its here and at Ben Eater's channel that I get content that very few give/or dish out properly, great staff!
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you very much!
@mashurshalehin4972
@mashurshalehin4972 3 жыл бұрын
Hey Phill. Great video. I am learning a lot. Please make a video on USB bootloader and firmware upgrading through USB if you get time.
@koro-koro4977
@koro-koro4977 3 жыл бұрын
Salute for your work and dedication. Thank you so much Phil's Lab..
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you!
@alxcuisine9575
@alxcuisine9575 3 жыл бұрын
Hi Phil ! Great Video ! Just a question for you, is there a reason you did not use copper pour for a GGND plane on either or both sides ? I would very much like to have your opinion on that!
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you very much! Yeah, from what I've read/heard/watched on PCB design (people like Eric Bogatin), there aren't many benefits (if any!) to pouring copper and it could possibly even create problems. Additionally, I don't like spending time filling my boards with stitching vias. Finally, I think it makes the board look cooler without the copper pours haha.
@davidbrooks8621
@davidbrooks8621 3 жыл бұрын
Phil, you have excellent presentation ability on topics that are on a different level and it is rare to see such a thing. The video is excellent and professional and shows all the basic steps to get started. I'm sure everyone will also be happy to see how DMA is enabled and how RTOS is used. Your contribution to amateurs, students and beginning engineers around the globe is unquestionable.
@PhilsLab
@PhilsLab 3 жыл бұрын
Hi David, Thank you so much for your very kind words. I'm glad to hear that this video has been helpful - thanks again!
@zeeshaniqbal7823
@zeeshaniqbal7823 3 жыл бұрын
Very nice, deep and clear overall tutorial. Right now I am learning MC such as STM32 and this gives me goosbump to interact with boards. Could you please also make a series or a video regarding basic concept of Hardware Design Engineer. I am making my career in this field. When I making circuits then so much confused about the components which are connected with ICs and other components. Thanks and appreciated..
@lohikarhu734
@lohikarhu734 3 жыл бұрын
have a look at LP5523 for RGB LEDs - it's a 9-channel driver, with built-in charge pump boost, so it can run up to 4.5 V on 6 of the channels, 3 channels connect to Vdd directly... has many interesting features, is very programmable for LED effects without CPU cycles, after programming and start. automatic temp compensation, channel grouping... very good to write drivers for, and you could find drivers for it on-line, as it was used in Nokia phones And, it's in a small package, about 2.7 x 2.7l
@germangomez1673
@germangomez1673 10 ай бұрын
Thanks so much for this video, one question about debug, in a minute 22:50h I can see the small interface PCB between STLink and JTAG connector, why? What function has it?
@PriyankBolia
@PriyankBolia 3 жыл бұрын
Can you make a basic tutorial about using the IDE, and what all clock frequencies setting means, how to select proper pins, etc.
@PhilsLab
@PhilsLab 3 жыл бұрын
Hi Priyank, I'd think there's quite a lot of information on the internet regarding that, so probably not, sorry - I'd like to cover more advanced topics in future videos.
@mikemartin101
@mikemartin101 2 жыл бұрын
Hi Phil! I’m finding your videos quite helpful as I learn how to program stm32. I was wondering if you could make a video showing how to control an stm32 over Ethernet using one of the stm32 versions which work on ethernet. Thank you!
@rage128
@rage128 3 жыл бұрын
Again great video. can you show us, how to use Arduino İDE with custom stm32 boards plesae :) do we need to make same firmware setting with stm32duino ?
@sumitmamoria
@sumitmamoria 3 жыл бұрын
Excellent video. I wish there could be a long tutorial series for using STM32Cube software with a more complete set of peripherals.
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you, Sumit. More videos on programming STM32 MCUs to come this month! :)
3 жыл бұрын
What about USB-Bootloader? Then you will not need any JTAG/SWD adapter.
@bastiaanschaap
@bastiaanschaap 3 жыл бұрын
Thank you for sharing Phil! All your videos are pure gold IMHO 👍🏻 Just a quick question: did you leave out the flash memory programming for a future video?
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you very much, Bastiaan! Yes, I left out a couple of things on this board for future videos, but planning on making them soon :)
@kulaniscap
@kulaniscap 2 ай бұрын
Can't recall when my eyes have been so glued to my screen. Awesome Channel, awesome video.
@adamjamesdonovan
@adamjamesdonovan 3 жыл бұрын
Id love to get your thoughts on setting up one of the L4 80mhz boards and also getting it to work with stm32duino for arduino:)
@vanguard6937
@vanguard6937 3 жыл бұрын
Awesome video series, this really has helped me learn kicad and the fundamentals of designing PCBs with stm32 microcontrollers. In a future video, can you go over using a USB type C connector with an stm32?
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you, very glad to hear that! I haven't had the need for a type C connector + STM32 just yet, but maybe sometime in the future. :)
@franciscofabregat1686
@franciscofabregat1686 2 жыл бұрын
What is the red board on the ST Link that you use to convert the 20 pin JTAG connector into the 10 pin connector on the board? I cannot seem to find anywhere what that board is. Thank you
@shibilimeledath3690
@shibilimeledath3690 2 жыл бұрын
I think you can find those in tag tagconnect website
@GeorgeTsiros
@GeorgeTsiros 3 жыл бұрын
" $5 for five 4-layer PCBs." what the f 😳 I wish i could design such things... I have troubles putting together a 555 blinker on a breadboard. I don't know what is wrong with me and circuitry, it's like a curse. Everything works fine in spice, nothing works IRL.
@PhilsLab
@PhilsLab 3 жыл бұрын
Haha I'm sure you've gotten stuff working! Then again I've also had a fair amount of 'learning experiences' :D
@DarkPlaysThings
@DarkPlaysThings 3 жыл бұрын
As someone who started out developing in Java, seeing a C development environment in Eclipse is both strange yet pleasantly familiar.
@aswinvt
@aswinvt 3 жыл бұрын
Great video... I would really like to see the entire board populated and in full functionality. Hope to see that soon. Keep up this awesome work..
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you! Yes, I'm planning on using this board for the next few videos with the functions combined.
@mouradmkhakh8903
@mouradmkhakh8903 3 жыл бұрын
Very interesting. Thank you it was very helpful and informative for me, a newbie comming from Avr 8bits.
@PhilsLab
@PhilsLab 3 жыл бұрын
Awesome, thank you for watching!
@majortom91gsg
@majortom91gsg 3 жыл бұрын
Where can I download the "usb_device.h" and "usb_cdc_if.h" libraries? I downloaded STM32CubeIDE, but I got the following compiler error: ../Core/Src/main.c:22:10: fatal error: usb_device.h: No such file or directory
@PhilsLab
@PhilsLab 3 жыл бұрын
They should be included automatically when you select the USB CDC device class in the CubeIDE config editor.
@dmssil3062
@dmssil3062 2 жыл бұрын
is it possible to get a video on using the stink-v3set. Thx
@ScuffedCircuits
@ScuffedCircuits 3 жыл бұрын
Great tutorial. It was tutorials just like this that helped get me into electronics a few years back.
@BM-jy6cb
@BM-jy6cb 3 жыл бұрын
Another top video -thanks for posting. Having recently decided to get back into microcontrollers (I'm 8051/8bit PIC vintage!) I'm a bit overawed with how far things have come. It's more akin to programming a full blown computer but with access to the peripherals than a "traditional" microcontroller. Now I'm feeling very old!
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you very much! Indeed, it's crazy how much you can get for so little money these days. ST has now even introduced the STM32MP1, which combines a MPU running embedded Linux with an MCU in one package for under 10 EUR for the cheapest one. Pretty crazy!
@ridvanmelihsahin9479
@ridvanmelihsahin9479 3 жыл бұрын
Hi, I watched KiCad STM32 pcb desihn video and now, I wanna coding this card but I want to use Arduino because STM32CubeIde so difficult and complicated for me, its possible or not, thank you for your answer!!
@hellopomelo2
@hellopomelo2 3 жыл бұрын
There are many webpages available detailing how you can program an stm32 MCU with arduino. Just search ‘stm32 arduino ide’ to get started :)
@pjotrmuis7284
@pjotrmuis7284 3 жыл бұрын
Absolutely an amazing video! This really gives a boost in the right direction when you want to know more about designing a standalone sensor or control unit. I really hope you also want to make a video about how to deal with ADC and write the data to the flash memory. Again really helpful Phil!!
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you, Pjotr! Yes, I'll be making quite a number of videos relating to the firmware of this board. Next one is on DMA and FreeRTOS! :)
@pjotrmuis7284
@pjotrmuis7284 3 жыл бұрын
@@PhilsLab awesome!!!
@MegaAks60
@MegaAks60 3 жыл бұрын
Please keep this videos coming. I'm learning such great things, that I couldn't find online before you! It's really rare to find someone who explains everything slowly, bit by bit(pun intended😅). Thank you!
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you! Very glad to hear that. Will definitely be keeping the videos coming! :)
@diehardmetalhead3797
@diehardmetalhead3797 3 жыл бұрын
This is gold!! What are the next steps? Which topics you wanna cover?
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you very much! I'd like to make a video on RTOS + DMA and then a couple videos on things such as real-time FIR/IIR filter implementation, extended Kalman filtering, etc.
@Shiniiee
@Shiniiee 3 жыл бұрын
@@PhilsLab That would be SWEET!
@trannhiem1639
@trannhiem1639 3 жыл бұрын
@@PhilsLab Hey Phil Thank youuuuuuuu for your great video again that so exciting to hear you will make some videos about RTOS, could you also cover some video about CMSIS FreeRTOS?
@marcorademan8433
@marcorademan8433 3 жыл бұрын
@@PhilsLab I am very excited for this! Since I study electronic engineering, it's very difficult obtaining such high quality YT resources as yours on slightly more advanced topics.
@fp2634
@fp2634 3 жыл бұрын
@@PhilsLab woow. Looking forward to seing those vidéos
@PJElliot
@PJElliot 3 жыл бұрын
Fantastic video!! It was very informative.
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you, Peter!
@PJElliot
@PJElliot 3 жыл бұрын
@@PhilsLab Have you done any STM32 boards with an Ethernet interface? If so, how easy was it to get going?
@1kreature
@1kreature 3 жыл бұрын
Very nice overview when using CubeMX and CubeIDE! But, what I always disliked about the code from CubeMX is how it only has a static config for the peripherals. This wastes a lot of power when things are only used sometimes. The inits are all called outside user code so any modifications are also deleted.
@fseeletronicos
@fseeletronicos 3 жыл бұрын
You are right. But imagine a big project with many peripherals to initiate? Would you like to code all necessary libraries or use CubeMX to initiate it all?
@masondaub9201
@masondaub9201 3 жыл бұрын
You can add user code to the HAL peripheral init functions. You can also manually turn off power to peripherals using the power registers and then call the HAL init functions to turn it back on with your cubemx configuration.
@ryno9732
@ryno9732 2 жыл бұрын
I really want to get into the electronics and this software design. This is such a good video and so well explained. But hell i am confused, lost and amazed all at the same time lol
@pnjunction5689
@pnjunction5689 3 жыл бұрын
Another great video! Thanks a lot! Inspired by your STRF video, I recently designed a really tiny board with the STM32L0 and the NRF24. I'm really amazed by the quality JLCPCB delivers for only a few bucks. Also debugging the STM32 appears to be much faster than the PIC microcontrollers I used in the past.
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you very much! That's awesome, did you get the boards already? Yeah, it's amazing how inexpensive assembled PCBs are with them - I just wish that they'd start offering assembly for 6-layer PCBs soon..
@pnjunction5689
@pnjunction5689 3 жыл бұрын
@@PhilsLab Yes, got the boards last week. They look great, but only had time to roughly test the SPI communication and turn on the transmitter in CW test mode. Unfortunately, I have to prioritize paid projects :-) Assembled 6-layer PCB would allow for some very interesting designs!
@FedePantalonesGordos
@FedePantalonesGordos 3 жыл бұрын
@@PhilsLab what kind of great projects do you have in mind, involving 6-layer PCBs? 👀
@sidharthap
@sidharthap 3 жыл бұрын
Yes please, more STM32CubeIDE C-programming tutorials !
@PhilsLab
@PhilsLab 3 жыл бұрын
More to come! :)
@rikilshah
@rikilshah 3 жыл бұрын
Great video. Very few people go this way to explain things in a simple and detailed way. Expect more content from you!
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you, Rikil! More content to come very soon :)
@CatalinRusnac
@CatalinRusnac 3 жыл бұрын
Phil, your videos are great! Thank you for the excellent tutorials! Could you please explain: for the RGB LED timers, what's the reasoning behind using TIM3_CH1, TIM3_CH2 and TIM4_CH1? Why not use 3 of the 4 channels of one timer? Or only one channel of 3 different timers?
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you, Catalin! My main reason was to just have the pins grouped next to each other. It made the routing easier and the software only a tiny bit more 'complicated'!
@sandsack123
@sandsack123 2 жыл бұрын
ST's HAL driver can be used for blinking LED project but nothing else! DO NOT use it in real projects.
@igorordecha
@igorordecha 8 ай бұрын
what else would you use? genuine question
@bhakara4436
@bhakara4436 Жыл бұрын
I'm not getting that USB port in device manager ...what to do?
@markday3145
@markday3145 3 жыл бұрын
A really nice overview! I'm going to go back and watch your earlier videos.
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you, Mark!
@tobias9507
@tobias9507 3 жыл бұрын
Great Video, can't wait for topics like DMA and RTOS! A quick question from someone who's more involved in hardware design and hasn't done a lot of firmware development, especially with 32bit MCUs. Is the generated low level code from CubeIDE or AtmelSTART (like drivers for peripherals) something that's actually used by professionals? Or are they usually written by themselves?
@sereftokmak9520
@sereftokmak9520 3 жыл бұрын
Dear Phil, thank you so much for your great videos!! l would like to ask a question about Firmware. I have designed my custom board and it has the same MCU, Crystal circuit, and USB pin configuration. When l test the USB in FS Mode, l could not read data from the USB connector. The CubeMX configurations as the same as yours. Is there anything that you can help with or give advice, l need your help :) Regards.
@MineAti
@MineAti 3 жыл бұрын
Let me know if you figure it out! I have the same problem
@sereftokmak9520
@sereftokmak9520 3 жыл бұрын
@@MineAti l did not solve it yet. But l realized I guess the serial resistor of the XTAL which is 47 ohm, should have been 680ohm according to datasheet XTAL calculation.
@PhilsLab
@PhilsLab 3 жыл бұрын
Hi Şeref, sometimes the driver can be a bit fussy under Windows and you may need to add a few more lines of code. This vid goes into a bit more detail: kzbin.info/www/bejne/nmq3YYWKqp6Aq8U Hope that helps!
@bitrot42
@bitrot42 3 жыл бұрын
Great tutorial! I've been wanting to give ST MCUs a try, this makes them feel a lot more approachable. At first glance, I can't help but feel like the HAL functions work a lot like the Arduino libs. Curious if that's good or bad, or if I'm just missing the point. Time to learn more, I guess....
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you very much! Yeah, they are very similar to the abstraction that the Arduino IDE/library provides. I think that's a good thing, as I don't want to be fiddling around with individual bits in registers, but rather focus on the actual program (e.g. implementing a Kalman filter, or whatever it is that is needed)!
@clamper5363
@clamper5363 3 жыл бұрын
As someone getting into this your videos have been one of my greatest resources, thank you so much for creating this awesome content!
@PhilsLab
@PhilsLab 3 жыл бұрын
My pleasure, thank you very much for watching! Really glad to hear that. Let me know if there's anything in particular you'd like to see in future videos :)
@germangomez1673
@germangomez1673 9 ай бұрын
Another question, is possible write a program by USB with the configuration explained in your video?
@ClassyJohn
@ClassyJohn 8 ай бұрын
Hi, I'm not Phil but the answer is no. In his PCB design, there is no dedicated hardware for flashing the board via USB. The USB interface is connected to the target MCU over USB-to-serial chip. Another chip would need to be added between USB and the target mcu to act as the debugger.
@chrisswallow3734
@chrisswallow3734 3 жыл бұрын
How much was the STM32F405RGT6 when you built these, now priced at $28 on LCSC!!
@gsisk911
@gsisk911 3 жыл бұрын
Should be around 12-14 USD. Remember there is a semiconductor shortage going on right now so there the price is certainly expected to rise
@rolfw2336
@rolfw2336 2 жыл бұрын
And about $33 now.. wake me up when the shortage is over!
@khaledsaleh664
@khaledsaleh664 3 жыл бұрын
Hi Phil, would you please help with the driver for the flash memory W25N01GVZEIG used in your PCB (RBoard). Thank you
@PhilsLab
@PhilsLab 3 жыл бұрын
Hi Khaled, Yeah, I plan to make a video at some point talking about how to program a driver for FLASH memories.
@nicholasantoniades9576
@nicholasantoniades9576 3 жыл бұрын
@@PhilsLab Please please do this, also when will your course come out?
@seifeddineboughanmi8473
@seifeddineboughanmi8473 3 жыл бұрын
Absolutely an amazing video! I suggest to make a tutorial for the CAN BUS interface.
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you! Yes, CAN is definitely on my list of things to make a video on.
@TheCalvinSkinner
@TheCalvinSkinner 3 жыл бұрын
@@PhilsLabWhat's the relative cost of your board in comparison to STM's dev boards?
@soufiane_krem
@soufiane_krem Ай бұрын
Thank you for providing this valuable guide on STM32 programming !
@saemipp
@saemipp 2 жыл бұрын
Hello Phil I usually never write comments on KZbin videos, but I just really wanted to let you know that I really enjoyed this one. I've never even touched an STM32 (i know my way around C but thats it) and I've sat here for the entire time just being amazed of how well you explained everything, even though it looks quite complicated. This video motivated me to now order such a board and maybe play around with it a little. So thank you for that!!
@PhilsLab
@PhilsLab 2 жыл бұрын
Thank you very much, Samuel! Very glad to hear that these videos have been helpful. Hope all goes well with your new board :)
@Ghostpalace
@Ghostpalace 3 жыл бұрын
Is the SWD nRESET pin really necessary?
@PhilsLab
@PhilsLab 3 жыл бұрын
Not necessary, but I typically include it to be able to do hardware-triggered resets.
@TheCalvinSkinner
@TheCalvinSkinner 3 жыл бұрын
STM32 RESOURCES? I have a difficult time understanding the HAL drivers and its structure. Are there any resources that explain in detail how to use all of it's features. Ideally would like to be able to use any HAL driver after building the foundational knowledge needed. I have a lot of experience coding in C but it seems that there are still some gaps in my understanding of MCU programing. I spent an entire semester of school programming on the register level, but without a professor around I find myself getting stuck with non functioning code. Our professor always gave us a large chunk of the code anyways. Any resources would be great: books, blogs and forums especially if I can have someone actually look at my code. Thank you for the content, it's really helpful!
@voytechj
@voytechj 3 жыл бұрын
Great project! One thing to do it better would be controlling light intensity in a nonlinear scale (gamma corrected). Human eye has a logarithmic response curve ~ x^1/2.2, so in range from 0 to 100 value 22 is perceived as a half. If power function pow(x, 2.2) (x in 0.0..1.0) is too slow you can use approximation: y=0.8*x^2 + 0.2*x^3 with max error < 1% or y=x^2 with max error 3.5%
@LOLWUT281
@LOLWUT281 3 жыл бұрын
The USB part is a bit more involved than what is described here. At least in windows, you have to modify the 'usbd_cdc_if.c' file to send back the com port info windows needs. Before I did that, I was getting configuration errors on all the Terminal programs, including the one included in CubeIDE. More info at ST's tutorial here: kzbin.info/www/bejne/nmq3YYWKqp6Aq8U
@bahadr4331
@bahadr4331 3 жыл бұрын
Vielen Dank für diese Video. Eine sehr gut beschriebene tutorial. Thanks Phil.
@PhilsLab
@PhilsLab 3 жыл бұрын
Danke fürs Zuschauen! :)
@baldebaldemord9588
@baldebaldemord9588 3 жыл бұрын
Sending data via USB VCP seems fairly easy. What I struggle with is reciving data from the PC. I need this since I want to controll the flow of my application from within a GUI on the PC side. I stumbled upon "CDC_Receive_FS". It seems to be some kind of Callback, that gets called whenever data is recevied via USB. I would like to use this in non Blocking mode, so the STM32 would do it's things until a new command is send by the user via PC. I don't have the hardware yet to test stuff (shoud arrive soon), so I'm just doing some research on the topic. It seems rather complicated. I would love a video from you about the topic!
@MrTada98
@MrTada98 3 жыл бұрын
The timer +1 thing is so that the 0 setting is not wasted. You obviously can't divide clock by 0. Offsetting everything by one is much easier than trying to explain people that 0 is not an option.
@arjunramesh6383
@arjunramesh6383 3 жыл бұрын
Yaay brother .Thankyou so much for the tutorial 👏👏👏❤
@PhilsLab
@PhilsLab 3 жыл бұрын
My pleasure, thanks for watching!
@arjunramesh6383
@arjunramesh6383 3 жыл бұрын
@@PhilsLab Eagerly waiting for more videos related to stm .Thanks for teaching .
@anandkachale5187
@anandkachale5187 3 жыл бұрын
Hey just a suggestion. I have been following the channel over 2 months i think. I have some experience with KiCad but in the initial days I really struggled. I think It would be a very nice idea to make a playlist of a kicad software course kind of video series. More about of learning KiCad.
@gagandeepsingh18102
@gagandeepsingh18102 3 жыл бұрын
Please provide shortcuts and interesting facts also please about kicad
@marcinwitkowski2981
@marcinwitkowski2981 3 жыл бұрын
This is what i wanted to see !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Great Video !!!
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you, Marcin!
@steveblack2420
@steveblack2420 Жыл бұрын
I just discovered your videos and they are awesome! I have a question for you: do you think it is possible to program an STM32 based PCB through the SPI1 interface instead of SWD? If so, what type of device can I use for this? Thank you so much!
@mahmoudkotb2233
@mahmoudkotb2233 Жыл бұрын
I have a question, why you didn't choose a different resistor values for the RGB LED, the Red should have a forward voltage about 2volt comparing to 3.2volt in case of blue and green ?
@kartikpandey5335
@kartikpandey5335 3 жыл бұрын
Hey Phil, great work ! Ive been a regular follower of your videos .I would like to ask you where can I begin to custom build my own Flight controller board which could run flight stacks such as Ardupilot .My reference template would be something like Pixhawk .Kindly suggest.
@germangomez1673
@germangomez1673 9 ай бұрын
Thanks for the video, excellent. One question, in case that I use CAN communications, Do you recommend an external oscillator or is enough an internal (about precision for CAN timmings)?
@v-xup6
@v-xup6 2 жыл бұрын
so if I have a EMW3088, that has a STM32 cortex m3 inside, how do i know what part number/package it is?
@CB7CatalystH22a
@CB7CatalystH22a Жыл бұрын
Would you do a video, or have you done a video, explaining in more detail about how you test your new board for issues with voltage and current? I'm sure it's hard to condense so much into one video, I really appreciate the knowledge you share!!!
@davidmonk7773
@davidmonk7773 Жыл бұрын
Hello, It's clear to me that you really understand what you're talking about and I would love some advice please. I'm repairing an amplifier whose SMPS appears to be controlled via a DSP board using a STM32F107 ic, i believe this ic is internally shorted but I'm not familiar with this type of topology at all or programming. Do you think it would be possible to read the coding (if any exists) from this chip and write to a new one? Thanks in advance David
@markhumes2645
@markhumes2645 2 жыл бұрын
Thank you for the great video! Have you had any success Receiving Data on the STM32 from USB OTG? Modifying and calling the CDC_Receive function doesn't seem to work
@shantoislam8223
@shantoislam8223 2 жыл бұрын
brother how did you learn stm32 programming ,please share me some information, book,pdf or something like that
@Fnta_discovery
@Fnta_discovery Жыл бұрын
Hi dear. I’d love you to give the manner or advice so that I can understand STM32 because when I see a code HAL I panicked suddenly. I have very difficult Best regards 😢
@Liam-ey2gs
@Liam-ey2gs 3 жыл бұрын
Thank you so much for your time and effort
@PhilsLab
@PhilsLab 3 жыл бұрын
Thank you very much for watching, Liam!
@Shinsei75
@Shinsei75 3 жыл бұрын
Pls. What part number of the inductor 600@600 MHz did you use?
@JayPatel-ce4jp
@JayPatel-ce4jp Жыл бұрын
If you have an STM32F3 Series Nucleo Board, you need to enable PG6 as it controls a pull-up resistor for a data + line, didn't realize until I read the documentation, all I did was toggle the pin in my setup, Also I realized that the bottom micro USB receptacle doesn't need power, I have a switchable on off set to off and the bottom USB port and it was still outputting to the virtual com port despite it being off.
@impulse_ger
@impulse_ger 3 жыл бұрын
I like the video before watching it
@PhilsLab
@PhilsLab 3 жыл бұрын
Haha thank you!
@aleXelaMec
@aleXelaMec 8 ай бұрын
Hey, thanks for a great tutorial ! as always. who to you flash the firmware using SWD instead of USB? you have dedicated pins for this, am i wrong? or is this for the first time only to flash the bootloader?
@EdwinFairchild
@EdwinFairchild 3 жыл бұрын
I'm assuming JLC is sponsoring the boards, but do you know how much this would cost out of pocket , including parts and partial assembly etc..??
@LegalizeAdulthood
@LegalizeAdulthood 3 жыл бұрын
He's using 5 extended parts, so that drives up the assembly cost quite a bit for a hobbyist ($15 = 5x$3 extended part fee alone). The parts are also not cheap sensors ($1 pressure sensor, $5 accelerometer), IIRC it was about $37 in parts alone. For me that drove up the cost for 5 PCBs + 2 assembly (e.g. minimum assembly order to jlcpcb) to around US$80. I didn't try re-quoting it with the expensive extended parts removed. Some of the extended parts can't be omitted because they are needed for the power supply (e.g. inductors for the buck regulator). So it was a little bit pricey for me to just order one right off the bat, just for playing around. I'll have to think about it some more.
@PhilsLab
@PhilsLab 3 жыл бұрын
I think excluding shipping the total cost would come to about 125 EUR. The IMU is pretty expensive (around 5 EUR a piece). But then again 125 EUR for five, 4-layer boards + all SMD components is incredibly cheap in my eyes. Shame the JLCPCB library is a bit limited however, would be great to be able to get BGA assembly at some point..
@LegalizeAdulthood
@LegalizeAdulthood 3 жыл бұрын
@@PhilsLab I agree that the pricing is reasonable for what's included. The only reason I didn't pull the trigger is that I just wanted to play along for learning and I wasn't going to use the sensors. For my project, I'm trying to make a small USB dongle (or maybe pair of dongles) that interfaces i) a VT100 terminal keyboard to a computer and ii) a USB keyboard to a VT100 terminal. I'm looking at BOM issues because I'd like to get the price down as cheap as possible (ideally < $10 assembled from jlcpcb). The STM microcontroller is great, but it's overkill for this project, so I'm considering those CH554 USB chips, although it's a bit daunting for a beginner due to the limited documentation on the chips. They're 8051 cores which are plenty sufficient for interfacing a keyboard with no other sensors. JLCPCB has two variants of the CH554 as extended parts. Other than the microcontroller, USB static protection, USB connector, I just need a few passives a +12V boost converter and a comparator, so I'm hoping I can keep the cost low.
@mangist
@mangist 2 жыл бұрын
Why is there no via stitching on this example? Also, why not use the SMD header connectors so that JLC can assemble them, instead of manually soldering through-hole headers? Thanks.
@ansible9340
@ansible9340 3 жыл бұрын
Started playing around with stm32f3discovery with rust, I am really into embedded right now and this is quality content
@PhilsLab
@PhilsLab 3 жыл бұрын
Awesome, thank you!
@coreyackland
@coreyackland 3 жыл бұрын
Hi Phil, is that a 2x5 2.54mm to 2x5 1.27mm cable? If so, where did you purchase it from?
@PhilsLab
@PhilsLab 3 жыл бұрын
Hi Corey, This is the adapter cable I'm using (20 pin 2.54mm to 10 pin 1.27mm): www.olimex.com/Products/ARM/JTAG/ARM-JTAG-20-10/ Should be available at the usual places (Mouser, DigiKey)!
How To Write A Driver (STM32, I2C, Datasheet) - Phil's Lab #30
38:21
ОТОМСТИЛ МАМЕ ЗА ЧИПСЫ🤯#shorts
00:44
INNA SERG
Рет қаралды 4,6 МЛН
Inside Out 2: ENVY & DISGUST STOLE JOY's DRINKS!!
00:32
AnythingAlexia
Рет қаралды 11 МЛН
Spongebob ate Michael Jackson 😱 #meme #spongebob #gmod
00:14
Mr. LoLo
Рет қаралды 10 МЛН
Extracting Firmware from Embedded Devices (SPI NOR Flash) ⚡
18:41
Flashback Team
Рет қаралды 577 М.
PROTOCOLS: UART - I2C - SPI - Serial communications #001
11:58
Electronoobs
Рет қаралды 1,4 МЛН
STM32 DMA and FreeRTOS Tutorial - Phil's Lab #14
29:10
Phil’s Lab
Рет қаралды 116 М.
Installing the STM32 USB Bootloader, Easily! [SEE DESCRIPTION]
8:02
Caleb Marting
Рет қаралды 265 М.
3 engineers race to design a PCB in 2 hours | Design Battle
11:50
Predictable Designs
Рет қаралды 225 М.
How to Select the Best STM32 Microcontroller for Your Project
21:37
Predictable Designs
Рет қаралды 10 М.
The Magic of Pogo Pins: Building a Custom Programming Fixture!
15:49
Zach of All Trades
Рет қаралды 82 М.
KiCad 6 STM32 PCB Design Full Tutorial - Phil's Lab #65
1:40:06
Phil’s Lab
Рет қаралды 597 М.
ОТОМСТИЛ МАМЕ ЗА ЧИПСЫ🤯#shorts
00:44
INNA SERG
Рет қаралды 4,6 МЛН