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
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.
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.
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 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!
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 :)
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!
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!
Amazing tutorial Phil! No wasted time, just clear and complete explanations. On the downside, now engineering managers are going to expect that we can crank out a complete project in 38 minuets.
Hello Phil I usually never write comments on RUclips 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!!
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!!
This is awesome, especially with the long tutorial on making a PCB. I struggled so much trying to figure out how to program and debug a cheap blue pill board. I couldn't find a straightforward tutorial on getting started. I spent countless hours trying to figure out what I needed to program and debug with stlink. Thanks again.
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!
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.
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.
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..
@@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!
@@PhilsLab Yes. I saw your last video using FreeRTOS and DMA. Those are definitely more advance ^^ Looking forward seeing more RTOS-driven software design.
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.
@@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?
@@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.
Awesome video! I hope this will be a whole video series. The topic is not covered well on the internet yet, so I think the community welcomes it nicely!
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
Phil, your videos are absolutely amazing and very educational. I'm looking to exclusively use the STM32 for my client's projects because of the low cost, high performance and lots of support online. Your video show that I'd be making the right decision to use the STM32 microcontroller series with the ST-LINK/V2 programmer for in-circuit debugging, break points and single stepping through my embedded software code. Thanks for your videos and tutorials.
Thank you very much! I'm very glad to hear that. Yeah, before settling with the STM32 line of MCUs, I had a pretty long look around for the best MCU manufacturer (in my eyes). Just the fact that things like CubeIDE, HAL, etc. exist made the choice pretty clear to me. Also, the fact that the debugger is so much cheaper than most debuggers available.. Hope all goes well with your STM32 designs! :)
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.
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!
Great video, nice to see some one reading the data sheets this seems to be a lost art. Proper embedded firmware design being talked through. well worth the time to watch.
Thank you very much! Yeah, I try to write the drivers from the firmware as opposed to just copying from another source. Not sure how other people do it though!
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%
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..
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.
@@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!
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
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?
I just found your videos last week! Thank you for putting them together. You're empowering us to make our own boards and program them too! Definitely not as scary as I originally thought. I'd love to seem more fancy stuff, like using DMA and an external ADC board design design. Or High Speed USB phy on an stm32f405. I'm working on reverse engineering some hardware and will need to make my own board to fit an existing enclosure, so your videos are perfectly timed for my needs thanks!
Thank you very much for watching! Very glad that you found my channel. The new firmware video covers a bit of DMA stuff. Definitely would like to make a video on interfacing an STM32 via DMA with an external codec as well.
@@PhilsLab i already watched it, and even followed along with a nucleo f411re board. I haven't ordered one of your f405 little brains yet. But I plan too once I save a little. I hope to finish my design for my gpio dma project first so I can order both at the same time with JLCPCB.
Super video! I've been so busy learning atmega328 chip so I haven't had the time look into STM yet but I really want to learn STM32 mcu's so this was perfect.
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.
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?
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!
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?
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!!!
Hello sir! This is the first video which really made me understand STM32 programming and firmware creation. Even though the code syntax and language is not so comprehensible for me, as i understood learning C is going to be the first step after that do i have to learn embedded C programming? For understanding microcontrollers and different peripherals what should i do? Again thank you so much for the video ❤❤
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: ruclips.net/video/h9T0RTu9Muc/видео.html
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!
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.
The Impedance match choice on JLPCB is not something I have ever noticed... I've never had problems but perhaps been lucky. I tend to keep my USB traces pretty matched length wise and sitting above a ground plane. Might have to watch your earlier video. Great content here... starting with any eco system is a big step and this will really help people.
Thank you for watching! Yeah, for USB FS it doesn't really matter to be honest. The signal/rise times are so slow that you can go pretty wild with routing before you get any problems.
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!
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
Hi Phil and thanks for the great video! What kind of connector are you using for SWD (min 4:17)? Is it part of JLCPCB library? If so can you share de Cxxxxx reference?
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?
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!
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.
That's a nice tutorial! However I would have preferred you using snprintf, since it's aimed at beginners. I don't even think I would have been more difficult to understand, since the usb transmit function also takes a buffer size
Thank you, Peter! Yeah, could've used snprintf - I guess I just used the first function that came into my mind. Just wanted to quickly get something out on the USB and show the CDC_Transmit_FS() function.
I used to blame ST's HAL too. But I saw lately they improved it. Moreover, you can choose now to use only the low level drivers which are pretty good...
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
Thank you very much for you videos! Helps me a lot!
Definatelly would really like to see some of the more fancy stuff. Thanks for the videos!!
Can you write firmware without hal library?
What would i need if i wanted to program a chip itself ,with no board?
Rtos would be awesome! Also check out micro-ROS.
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.
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.
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.
Thank you, Suva!
your stm32 videos are hands down the best on RUclips keep up the great work sir
Agreed! On a scale of 1 - 10, Phil takes his tutorials to an 11! (Spinal Tap Reference).
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.
Hi David, Thank you so much for your very kind words. I'm glad to hear that this video has been helpful - thanks again!
Keep up the good work. The best detailed tutorials ever. Never get bored I can watch your videos for hours 😍
Awesome, thank you very much Chiheb!
The best stm32 tutorial on RUclips! Hands down!!
I completely love your videos. Please continue these STM32 videos!
Thank you very much! More STM32 videos to come :)
@@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!
As someone getting into this your videos have been one of my greatest resources, thank you so much for creating this awesome content!
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 :)
Its here and at Ben Eater's channel that I get content that very few give/or dish out properly, great staff!
Thank you very much!
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!
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!
Amazing tutorial Phil! No wasted time, just clear and complete explanations. On the downside, now engineering managers are going to expect that we can crank out a complete project in 38 minuets.
Hello Phil
I usually never write comments on RUclips 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!!
Thank you very much, Samuel! Very glad to hear that these videos have been helpful. Hope all goes well with your new board :)
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!!
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! :)
@@PhilsLab awesome!!!
This is some really high quality content/tutorial!
Thank you very much, Vinam!
Started playing around with stm32f3discovery with rust, I am really into embedded right now and this is quality content
Awesome, thank you!
This is awesome, especially with the long tutorial on making a PCB. I struggled so much trying to figure out how to program and debug a cheap blue pill board. I couldn't find a straightforward tutorial on getting started. I spent countless hours trying to figure out what I needed to program and debug with stlink. Thanks again.
Thank you, glad it helped out! Yeah, it takes a while to figure this stuff out - but definitely worth it in the end.
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!
Thank you! Very glad to hear that. Will definitely be keeping the videos coming! :)
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..
Thank you! Yes, I'm planning on using this board for the next few videos with the functions combined.
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.
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.
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..
@@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!
@@PhilsLab what kind of great projects do you have in mind, involving 6-layer PCBs? 👀
Can't recall when my eyes have been so glued to my screen. Awesome Channel, awesome video.
While more advance subject is more my cup of tea, I really appreciate what your doing.
This would have help me a lot when I was beginning.
Thank you! Yeah, just trying to cover the basics before moving on to actually implementing something useful (and more advanced) :)
@@PhilsLab Yes. I saw your last video using FreeRTOS and DMA. Those are definitely more advance ^^
Looking forward seeing more RTOS-driven software design.
Great video. Very few people go this way to explain things in a simple and detailed way. Expect more content from you!
Thank you, Rikil! More content to come very soon :)
This is the most clear and simple explanation on stm32 MCU!
Waiting for quaternion math on IMU calculation routine.
Thanks!
Thank you! Sensor fusion video coming soon! :)
This is gold!! What are the next steps? Which topics you wanna cover?
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.
@@PhilsLab That would be SWEET!
@@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?
@@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.
@@PhilsLab woow. Looking forward to seing those vidéos
Awesome video! I hope this will be a whole video series. The topic is not covered well on the internet yet, so I think the community welcomes it nicely!
Thank you very much! Yeah, hoping to show the basics of writing firmware and then to build up to actually implement something 'useful'!
A really nice overview! I'm going to go back and watch your earlier videos.
Thank you, Mark!
Yes please, more STM32CubeIDE C-programming tutorials !
More to come! :)
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
Great tutorial. It was tutorials just like this that helped get me into electronics a few years back.
Salute for your work and dedication. Thank you so much Phil's Lab..
Thank you!
Excellent video. I wish there could be a long tutorial series for using STM32Cube software with a more complete set of peripherals.
Thank you, Sumit. More videos on programming STM32 MCUs to come this month! :)
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.
Phil, your videos are absolutely amazing and very educational.
I'm looking to exclusively use the STM32 for my client's projects because of the low cost, high performance and lots of support online. Your video show that I'd be making the right decision to use the STM32 microcontroller series with the ST-LINK/V2 programmer for in-circuit debugging, break points and single stepping through my embedded software code. Thanks for your videos and tutorials.
Thank you very much! I'm very glad to hear that.
Yeah, before settling with the STM32 line of MCUs, I had a pretty long look around for the best MCU manufacturer (in my eyes). Just the fact that things like CubeIDE, HAL, etc. exist made the choice pretty clear to me. Also, the fact that the debugger is so much cheaper than most debuggers available..
Hope all goes well with your STM32 designs! :)
@@PhilsLab If I remember they make an isolated and a non-isolated programmer. Do you have a recommendation?
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.
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!
Thank you for providing this valuable guide on STM32 programming !
Great video, nice to see some one reading the data sheets this seems to be a lost art. Proper embedded firmware design being talked through. well worth the time to watch.
Thank you very much! Yeah, I try to write the drivers from the firmware as opposed to just copying from another source. Not sure how other people do it though!
@@PhilsLab You hear a lot of "I’ll wait until a library is available"
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%
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..
Can you make a basic tutorial about using the IDE, and what all clock frequencies setting means, how to select proper pins, etc.
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.
Great timing. I just recently got a few of the WEACT modules. Great video and really helped me understand CubeIDE. Thank you.
Very glad to hear that, thanks for watching, Jessie!
Would be great if you could also cover fancier stuff like SPI using DMA and perhaps cyclic analogue voltage sampling using DMA too
Yes, definitely have plans on making a video on how to set-up DMA!
@@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!
Hi Phil. Great video. the 40min more productive of my weekend. thanks so much for sharing your knowledge.
Awesome, thank you, Mauricio!
Have been searching for content like this for a while now thank you for taking the time to provide such an amazing content .
Awesome, well thank you for watching! :)
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
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?
I just found your videos last week! Thank you for putting them together. You're empowering us to make our own boards and program them too! Definitely not as scary as I originally thought. I'd love to seem more fancy stuff, like using DMA and an external ADC board design design. Or High Speed USB phy on an stm32f405.
I'm working on reverse engineering some hardware and will need to make my own board to fit an existing enclosure, so your videos are perfectly timed for my needs thanks!
Thank you very much for watching! Very glad that you found my channel.
The new firmware video covers a bit of DMA stuff. Definitely would like to make a video on interfacing an STM32 via DMA with an external codec as well.
@@PhilsLab i already watched it, and even followed along with a nucleo f411re board. I haven't ordered one of your f405 little brains yet. But I plan too once I save a little. I hope to finish my design for my gpio dma project first so I can order both at the same time with JLCPCB.
best channel for pcb boards!
Vielen Dank für diese Video. Eine sehr gut beschriebene tutorial. Thanks Phil.
Danke fürs Zuschauen! :)
Love the stuff you are teaching here... So glad that I discovered your channel!
Thank you very much for watching, Abhishek!
Fantastic video!! It was very informative.
Thank you, Peter!
@@PhilsLab Have you done any STM32 boards with an Ethernet interface? If so, how easy was it to get going?
Nice board! Is there a reason why you don't flood top and bottom layer with ground?
Super informational video, thank you very much! Excited to see what's coming in the future, cheers!
Thank you very much! :)
Super video! I've been so busy learning atmega328 chip so I haven't had the time look into STM yet but I really want to learn STM32 mcu's so this was perfect.
Awesome, yeah I think it's well worth getting into STM32 MCUs. So many doors open (so to speak) when you make the jump!
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.
Hi, could you please give a more in-depth explanation of how u configured the clocks?
Absolutely an amazing video! I suggest to make a tutorial for the CAN BUS interface.
Thank you! Yes, CAN is definitely on my list of things to make a video on.
@@PhilsLabWhat's the relative cost of your board in comparison to STM's dev boards?
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?
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 :)
As someone who started out developing in Java, seeing a C development environment in Eclipse is both strange yet pleasantly familiar.
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!
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!
You are VERA LEVEL BRO!
So Awesome! A lot of love from my team!
Thank you very much!
Very interesting. Thank you it was very helpful and informative for me, a newbie comming from Avr 8bits.
Awesome, thank you for watching!
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?
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. :)
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!!!
Beautiful board
I really enjoy watching it, thank you Phil!
That's great to hear, thank you!
Hello sir! This is the first video which really made me understand STM32 programming and firmware creation. Even though the code syntax and language is not so comprehensible for me, as i understood learning C is going to be the first step after that do i have to learn embedded C programming? For understanding microcontrollers and different peripherals what should i do?
Again thank you so much for the video ❤❤
This is what i wanted to see !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Great Video !!!
Thank you, Marcin!
Grate work ! Keep on going, your videos are helping me so much in my graduation project, Thanx for your efforts :D
Awesome, thank you - very glad to hear that! :)
Really Cool project, really well explained and presented as usual. Great work! :D
Thank you, Rasmus :D
Hi Phil, you should implement an RTOS for applications like this, its so much fun and really ups the system as a whole.
Hi Søren, More 'fancy' programming videos to come (incl. DMA, RTOS, etc.). This one was just to show how to quickly test a custom PCB.
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: ruclips.net/video/h9T0RTu9Muc/видео.html
Your videos are great! I was looking exactly for this. Thanks
Thank you very much, very glad to hear that!
hi that was a interesting video i've just got into stm32 micro-controllers so this is use full info look forward to seeing more of your videos
Thank you, Glynn!
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!
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.
Excellent video, thank you! You are insanely productive.
Thank you very much!
this is more complicated than i thought but it's worth learning
That so cool :D I only worked with STM32 briefly, before I caught the build it all out of TTL bug lol.
Thank you! Well hope this video can get you back on the 'STM32-train' :D
The Impedance match choice on JLPCB is not something I have ever noticed... I've never had problems but perhaps been lucky. I tend to keep my USB traces pretty matched length wise and sitting above a ground plane. Might have to watch your earlier video. Great content here... starting with any eco system is a big step and this will really help people.
Thank you for watching! Yeah, for USB FS it doesn't really matter to be honest. The signal/rise times are so slow that you can go pretty wild with routing before you get any problems.
Really great content. Detailed and well explained. Thanks!
Thank you very much!
Thanks for your nice explanation. That actually helps me a lot! Subscribed.
Awesome, thank you :)
Yaay brother .Thankyou so much for the tutorial 👏👏👏❤
My pleasure, thanks for watching!
@@PhilsLab Eagerly waiting for more videos related to stm .Thanks for teaching .
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!
Thanks for sharing this victory walkthrough
👍😀
Haha thank you, Asger!
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
Thank you for another great video. Do you think you could go over how you figured out how to wire up that memory? And how to interface with it?
It's just an SPI memory chip, so uses simple SPI bus like anything else. Loads of libraries and arduino code examples for using them
Awesome video. Great instruction and explanation. Thank you!
Thank you very much, Adam!
Hi Phil and thanks for the great video!
What kind of connector are you using for SWD (min 4:17)? Is it part of JLCPCB library? If so can you share de Cxxxxx reference?
Hi Miguel, Thank you!
It's a 1.27mm pitch, 2x5, SMD vertical header. I'm not sure JLC has something like that in stock, I assembled this myself.
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?
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!
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.
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:)
Nice video!! Great detailed explanation! Thanks again
Thank you for watching, Fernando!
is it possible to get a video on using the stink-v3set. Thx
That's a nice tutorial! However I would have preferred you using snprintf, since it's aimed at beginners. I don't even think I would have been more difficult to understand, since the usb transmit function also takes a buffer size
Thank you, Peter! Yeah, could've used snprintf - I guess I just used the first function that came into my mind. Just wanted to quickly get something out on the USB and show the CDC_Transmit_FS() function.
Hey Phil, great videos! I was wondering where the tutorial for designing this pcd is
I used to blame ST's HAL too. But I saw lately they improved it. Moreover, you can choose now to use only the low level drivers which are pretty good...
Yeah, they've definitely improved over time. I do occasionally find little bugs but I'm sure over time they'll all be ironed out.
Мужик, да ты просто гений.
Большое спасибо, братан!
Thank you so much Phil's Lab
Thank you for watching, Emre :)