Installing the STM32 USB Bootloader, Easily! [SEE DESCRIPTION]

Поделиться
HTML-код
  • Опубликовано: 10 фев 2025
  • I wasn’t able to easily find information on how to add USB bootloader support. I have compiled my findings and hopefully you will find this very useful.
    PLEASE READ:
    This video is now a year and a half old. I have a new version of the video here:
    • How to Install the STM...
    The dan drown stm32 link below that I used in the video is now old. There are multiple versions of the STM32 core now, this is the newest version, but may be incompatible with what is shown in the video. I am working on a new version of the video.
    STM32 "Blue Pill" Discord, join for easy access to like-minded developers
    / discord
    Add this to your Additional URLs under File/Preferences (OLD, BUT SHOULD STILL WORK):
    dan.drown.org/s...
    Links:
    Flash Loader:
    goo.gl/e1mqwt
    Drivers:
    goo.gl/WB1TzB
    Binaries:
    goo.gl/kLJT21
    Serial Adapter:
    Amazon:
    goo.gl/H9hdFb
    Ebay:
    goo.gl/aNzgew
    Song:
    Prototyperaptor - Awe Listen to the track here:
    spoti.fi/2HwfxDh

Комментарии • 481

  • @duprod5482
    @duprod5482 6 лет назад +15

    I really like the detail of the LED blinking in sync with the music at the end.. :)

    • @CalebMarting
      @CalebMarting  6 лет назад +3

      You are the first person to notice! You get a cookie

  • @baconocalypse
    @baconocalypse 5 лет назад +1

    Thank you for explaining it without a lot of fanfare and jumping around. There's enough to keep track of figuring this stuff out without trying to follow a scattered video too.
    I knew I'd found something special at 0:22

  • @markcummings150
    @markcummings150 2 года назад +2

    I’m just getting started with these devices, so this info is exactly what I need to get past the initial hurdles.

  • @MrBirinco
    @MrBirinco 6 лет назад +1

    After bad (native usb port) experiences with Arduino SAMD21 MINI, I have decided to switch to STM32. I have ordered a couple different model of STM32 boards from China and was searching some sources to learn how to get it working with Arduino IDE. This is the best what I found so far... Now, I beleive that I am ready to work with STM32 boards when they arrive. You saved my days... Thanks a lot.

  • @CalebMarting
    @CalebMarting  6 лет назад

    I created a Discord for this community. Please join if you want quick and easy access to other like-minded STM32 developers.
    discord.gg/wrMcmXA

  • @RakshithPrakash
    @RakshithPrakash 6 лет назад +51

    Wow this video is art, so precise and perfectly explained!!

  • @torresm8438
    @torresm8438 6 лет назад +2

    This video saved me!!! I tried a hundred different things but with your help I was finally able to do it!! Thank you!!!!

    • @CalebMarting
      @CalebMarting  6 лет назад +2

      I made it because it took a lot of experimenting to figure out how to do it. I documented it to save people the time. Thank you for watching!

  • @PeterAbt
    @PeterAbt 5 лет назад +1

    very satisfying led-music sync at the end! 🤩
    and great, informative video btw, thank you!

  • @donpgibson
    @donpgibson 6 лет назад +13

    Thank you for your clear explanation on how to do this. A real time saver!!!

    • @CalebMarting
      @CalebMarting  6 лет назад +3

      No problem, I got upset at how hard it was to find this info so I made it easy for everyone else!

    • @johncherry108
      @johncherry108 6 лет назад

      A little 'Windows-centric', unfortunately.

    • @CalebMarting
      @CalebMarting  6 лет назад

      What system should I make a video for?

    • @AndrewGlasgow2020
      @AndrewGlasgow2020 6 лет назад

      I use a MacBook Air Laptop or an iMac. I did not yet succeed in installing an FDTI driver on OSX ... ?

    • @ctjet99channel
      @ctjet99channel 6 лет назад

      Andrew W Symons I don't know anything about Mac setup, check online for other types of drivers?

  • @macieksoft
    @macieksoft 6 лет назад +52

    2:35 Don''t hold the board like this! You can make short circuit with metal tools!

    • @CalebMarting
      @CalebMarting  6 лет назад +17

      Some other people commented about this. I just did it so my fat fingers weren't in the way. Don't short your board!

    • @PatTrainor
      @PatTrainor 4 года назад

      He's just making sure everything is electrostatically grounded! :) And it those huge SMCs can't take that, or are cold sodder'd (my way of saying), good to know now. :)

    • @juanmontes8905
      @juanmontes8905 4 года назад

      the board isn't even connected

    • @macieksoft
      @macieksoft 4 года назад

      @@juanmontes8905 I mean the FTDI USBUART board. You can see him connecting it to the USB when holding it with tweezers.

    • @CalebMarting
      @CalebMarting  4 года назад +2

      Yeah the other end was unconnected from the computer but I can definitely see how bad it looked. It was just for a clearer picture of the board and I don't have any plastic tweezers

  • @jlaroche0
    @jlaroche0 6 лет назад

    Fantastic video! You're the man. So happy people are recognizing the utter awesomeness of the STM32!

  • @SalarAzad
    @SalarAzad 6 лет назад +4

    Great explanation Sir, that was very helpful. You should definitely do a series about the STM32 boards and development.

  • @kosa2004
    @kosa2004 5 лет назад

    Thank you very much for this great and detailed video. I am using genuine /and fake/ STM32 blue pill boards for a time now. With your help my job just got better. You saved my life dude :) Thanks again!!

    • @CalebMarting
      @CalebMarting  5 лет назад +2

      No problem! There is actually a new bootloader version and I'm working on a new video so stay tuned!

  • @edwardarruda7215
    @edwardarruda7215 6 лет назад

    Im a neophyte and had a difficult time trying to figure out what to do at the driver web pages. Figured it out and finally got it done. And it worked the first time.

  • @UpcycleElectronics
    @UpcycleElectronics 5 лет назад

    Well done. This is the best and most complete explanation I've seen. I might actually dig a couple of these out of the back of a drawer and try them again.

    • @CalebMarting
      @CalebMarting  5 лет назад +1

      I recently uploaded a new video about the HID bootloader for these. I would recommend that tutorial a little more. I'm not as proud of that video as I am if this one, but that bootloader works so much better when it's working right. Best of luck!

  • @renelefebvre53
    @renelefebvre53 4 года назад

    Hello, after a lot of trials and tests, I followed your video step by step and I finally managed to get the bootloader (...pc13.bin) for my "blue-pill" module working.
    I'm with windows 10 and it's much more random than with W7.
    Thanks for everything!
    Bonjour, après beaucoup d'essais et de tests, j'ai suivi votre vidéo pas à pas et j'ai enfin réussi à mettre en fonctionnement le bootloader (...pc13.bin) pour mon module "blue-pill".
    Je suis avec windows 10 et c'est bien plus aléatoire qu'avec W7.
    Merci pour tout !

    • @CalebMarting
      @CalebMarting  4 года назад

      If you would like to try it I have a new version of the bootloader that doesn't require any weird drivers, it's a little more difficult to get it up and running but I've had a lot of success with it. ruclips.net/video/Myon8H111PQ/видео.html

  • @MatejBosansky
    @MatejBosansky 5 лет назад +3

    If you have only 5V serial converter, you can use it also. Just do not power board from serials 5v, but power board via usb and keep GND connected. A9 and A10 pins are 5V tolerant.

  • @robertcoyle1532
    @robertcoyle1532 6 лет назад

    Nice job Caleb...straight to the point and no bullshit.

  • @TheBodysome
    @TheBodysome 5 лет назад +3

    That final send off image, I will never see emojis the same

  • @wonkastudio-johnny
    @wonkastudio-johnny 4 года назад

    do you know anything about unlocking the hidden 64k flash on these boards ?

  • @jean-marclugrin1902
    @jean-marclugrin1902 6 лет назад +3

    Very well done, thanks. I wish it existed two months ago when I had to painfully find it by myself. But now with this video I am at last able to reproduce it 😀

  • @accountdeactivated5486
    @accountdeactivated5486 6 лет назад +2

    Absolutely perfect tutorial, exactly what I was looking for. Thank you! Btw there is a 5V pin on the STM32 Module

    • @ctjet99channel
      @ctjet99channel 6 лет назад +1

      Ws2812B actually, most of the IO is five volt tolerant as well. You should be fine if you leave it on 5 volts but it's just better to be safe than sorry

    • @accountdeactivated5486
      @accountdeactivated5486 6 лет назад +1

      It is safe, the 5V pin just goes to a LDO that regulates it to 3.3V

  • @WhatAmIGonnaGet
    @WhatAmIGonnaGet 6 лет назад

    Yes more STM32 videos. I am learning this too, from standard 8-bit Arduino. I like the uarts and hardware interrupts, for projects like closed loop motor control with encoders.

  • @brotschuh
    @brotschuh 6 лет назад +1

    For everybody who is missing the information: To load the compiled sketch to the STM32 you should set the program jumper to 1 like shown THEN press the reset button. You have to do this everytime you want to upload a new sketch. Once it is loaded it will imidiatly start. If you diconnect power you set the jumper back to 0 and the program starts to run.
    Some Knockoffs may want to have the LED_BUILTIN renamed to PC13. However mine worked also with LED_BUILTIN and also when I mixed both pin named up and used them together 😂
    Also mine worked fine when I accidently connected the VCC from the FTDI board to the 5Volt Pin of the STM32

  • @DeusExAstra
    @DeusExAstra 6 лет назад

    Thanks for the video. I'm just getting started with this and after my initial research I decided to buy some stm32 boards. Never used any Arduinos, but these stm32s seemed much more capable and so cheap, I didnt see a reason to start with the actual Arduinos. Any more videos on this subject would be appreciated for us newbs. =)

  • @EdwinFairchild
    @EdwinFairchild 6 лет назад +1

    The stm32 comes with a usb bootloader from the factory, what it doesnt come with as the ARDUINO bootloader. With a St-link programmer ($5.00) instead of the FTDI thingy you have debug capabilities, you can step through your code while its running live line by line so having serial (SWD) is still very useful, of course you'd have to upgrade your IDEfrom the Arduino and go for something like KEIL or SystemWorkbench or Truestudio which is for stm32 which is now also free like the rest. And once you upgrade IDE you are not stuck using just the STM32F103 you can use any stm32 chip, some have dual cores one core runing bluetooth and thus eliminate those huge bluetooth dongles etc. And if you dont like to open the datasheet and learn how to program the chip you can use STM32Cube and just call functions that do everything for you, Arduino style, you dont learn much but you get things done quickly so for hobbyists its perfect.

    • @CalebMarting
      @CalebMarting  6 лет назад +1

      This is some really good information, you wouldn't ever want to help me write for a video about this would you? (Yes I know it's a lot to ask)

    • @CalebMarting
      @CalebMarting  6 лет назад +1

      Truth is I've tried to experiment with stm32cube and another idea but I got stuck

    • @EdwinFairchild
      @EdwinFairchild 6 лет назад

      i wouldnt mind , im trying to start a blog myself about programming microcontrollers and personal projects etc... school just keeps me busy though... but yeah I wouldnt mind helping out when and where I can

    • @CalebMarting
      @CalebMarting  6 лет назад

      School keeps me busy too

  • @venkir1408
    @venkir1408 5 лет назад

    Great, very nicely explained. Did anyone notice the green LED blink with the beat sound at last ?

    • @CalebMarting
      @CalebMarting  5 лет назад

      A few did but it's always great to see the little detail noticed :)

  • @lahirupamodya6188
    @lahirupamodya6188 6 лет назад

    great video! , Caleb Marting. I struggled a lot to install the USB bootloader a few months ago but I failed. I will differently try this tomorrow. Please do the mini-series on STM32. It would be a great resource for beginners. cheers !

  • @stephenremillard9462
    @stephenremillard9462 5 лет назад +1

    I was about to toss my SMT32 in the trash but your amazingly useful video saved it. Thank you!

    • @TheChrisey
      @TheChrisey 5 лет назад

      Why would you do that? Those chips are awesome.

  • @elChico-TV
    @elChico-TV 6 лет назад +23

    What can i say awesome explanation this STM32F103C8T6 are next generation mcu for cheap diy projects its same price as arduino pro mini but far better

    • @CalebMarting
      @CalebMarting  6 лет назад +5

      I hope the Arduino community embraces them

    • @Danixu86
      @Danixu86 5 лет назад

      The only thing that I've found that is worst than Arduino (at least on my board), is the ADC converter... Even when is connected to GND it still saying that is not zero, and I was unable to measure the right voltage because there are much variance in measurements. With an arduino board I was able to do it becuase is more stable.
      Also a good thing that I can do with this board is to play with clocks easily. I'm able to create a 200kHz PWM signal with a few lines, and for now I'm not able to create a PWM signal higher than 1kHz on Arduino. Is better for a proyect that I want to do of an SPS.

  • @reinermunch5159
    @reinermunch5159 6 лет назад

    yeah, it works. Great job. Thanks a lot. Now I can jump over to stm32 easily

  • @sajjsamm
    @sajjsamm 5 лет назад

    thank you very much, after watching that video I was able to run my STM board finally!!

  • @KarelQuast
    @KarelQuast 6 лет назад

    It really works. Thank you so much for step-by-step guide for dummies :-)

  • @klazzera
    @klazzera 5 лет назад +2

    some boards have the 100kohm R3 resistor that connect BOOT0 header to mcu. In my case, when BOOT0 jumper is on 1 position, the pin on mcu only pulled up to 1 volt, which had me failed to flash the firmware. you might need to replace R3 with 10k. i just replaced it with a 2.2k smd resistor i had and it worked.

    • @CalebMarting
      @CalebMarting  5 лет назад +2

      Interesting, thank you for your knowledge!

    • @sam25_25
      @sam25_25 5 лет назад

      This has helped! Thank you :)

    • @klazzera
      @klazzera 5 лет назад

      @@sam25_25 you're welcome, i'm happy to hear someone to benefit from my discovery

  • @dzee9481
    @dzee9481 5 лет назад +1

    Very informative video. I would love to see these processors used in either for Analog to Digital type of projects as well as Digital to Analog. Like the Teensy processors Paul has provided a nice web interface to build the DAC components. I was looking at using one of these processor to avoid buying DACs and ADC and Reference voltage since these should all be built into the processor.

  • @dwisaputra5936
    @dwisaputra5936 6 лет назад +2

    perfectly explained ..... thanx man, ur video really helped my time

  • @GameProgrammer79
    @GameProgrammer79 4 года назад

    Thanks for the video. quite useful and subscribed a thumbs up

  • @sadashivkamath
    @sadashivkamath 6 лет назад +1

    Great Video and well presented...! Quite informative & crisp..!!

  • @seanocansey2956
    @seanocansey2956 5 лет назад

    This vid is really well explained and easy to follow 👍🏾

  • @anibalvilelarj
    @anibalvilelarj 6 лет назад

    Congratulations ! Great work. It worked fine for me. Thank you !

  • @LKbrilliant
    @LKbrilliant 6 лет назад +2

    Works like a charm.!! Thanks

  • @alfasih
    @alfasih 3 года назад +2

    I thought any stm32 should support DFU bootloader on the usb port out of the box. At least in the datasheet they didn't say anything about adding any extra bootloader in AN3156 document. Or the goal of this video is to add an Arduino bootloader on the STM32? It is confusing to me.

    • @CalebMarting
      @CalebMarting  3 года назад

      This is not required, and it just provides a way to upload bin files or use Arduino on the STM 32 f103 without needing an external programmer like a serial adapter or st-link. The f103 is old enough where it doesn't actually come with a dfu bootloader, and instead code can only be uploaded typically over serial or dfu. This bootloader is basically only useful for Arduino development however

  • @ramadoingstuffs8135
    @ramadoingstuffs8135 5 лет назад

    Perfectly work. Thank you so much!

  • @hseegreen
    @hseegreen 5 лет назад

    Suscribed! excellent description in excellent way! :)) Thanx

  • @brianhenning2014
    @brianhenning2014 6 лет назад

    Detailed instructions, worked great!

  • @dave-in-nj9393
    @dave-in-nj9393 4 года назад +1

    MAGIC SMOKE REFILL KIT @ 1.55
    Sadly, Sparkfun discontinued sales of the Magic Smoke Refill Kit
    I did some research to see if I could replicate it. The crystalline structure of the silicon that makes up the chips seem to crystallize in a tetrahedron form. when the voltage gets too high, the angular lattice of the silicone vaporizes, but the structure remains partially intact.
    By a rather complicated osmosis process, it might be able to be replenished. The best I could figure is that it would be a process of:
    Tetra-Osmosis Tetrahedron Angular Lattice Binary Sedimentation
    unfortunately, the acronym does not sound quite as scientific.

  • @TechInventorAman
    @TechInventorAman 6 лет назад

    At 2:33 you tell us to take the (boot 0) jumper and place it to 1 position. But right at 3:09 both jumpers come to 0 positions. Why is it so . And according to some links online putting jumpers according to 2:33 puts the board in serial mode . I tried uploading the code , it worked , great . But the moment i try to re-upload the code the board no longer accepts the new code by overwriting the previous code just like normal arduinos do . It only accepts the new code when i press the reset button (which erases everything ) why is it so can you explain .

    • @CalebMarting
      @CalebMarting  6 лет назад

      I moved the jumper back between takes and didn't realize. Boot 0 wipes the program memory when the board is turned on, effectively erasing a sketch. When I moved it back after uploading the blink sketch, I told it to keep that sketch in program memory on next turn on.
      If you install the USB bootloader, it's effectively another sketch on top of the ones you upload, so you can upload multiple times without resetting. You needed to keep pressing the reset button to clear the program memory and put it back into serial mode. Does that make sense?

    • @TechInventorAman
      @TechInventorAman 6 лет назад +2

      @@CalebMarting i got it thanks . I never thought you will actually reply so early . I'm quite impressed 😄😄 thumbs up for that !!! .

  • @AlexanderLang1980
    @AlexanderLang1980 4 года назад +1

    Thanks for this video...I got things working ;)

    • @CalebMarting
      @CalebMarting  4 года назад +1

      You're welcome, that's why I made it!

  • @agentpx
    @agentpx 6 лет назад

    0:13 when you are very delicate handling the stm32 but in the end lose a grip and stm32 fell onto the floor lol

    • @CalebMarting
      @CalebMarting  6 лет назад

      May have happened a few times during filming

  • @caffeinatedinsanity2324
    @caffeinatedinsanity2324 4 года назад

    If you plan on using the blue pill as a usb device for a project, I recommend not installing the usb bootloader because I did some usb projects with STM32CubeIDE and they take quite a lot of memory. I don't have exact numbers written down but I could use over 40% of flash and RAM just to make a mouse with a joystick. Black Pills' uCs have an inherent USB bootloader according to datasheet though.

  • @gauravapte5126
    @gauravapte5126 6 лет назад +4

    thanks man.u made my day

    • @CalebMarting
      @CalebMarting  6 лет назад +1

      Glad to hear it!

    • @gauravapte5126
      @gauravapte5126 6 лет назад

      After flashing bootloader..
      I am successfully able to blink led and lcd programming..
      But i am unable to make call using gsm quectel m95 model.
      It was working before flashing bootloader..
      Can you help me please

    • @CalebMarting
      @CalebMarting  6 лет назад +1

      I have no idea what would cause that. What exactly are you trying to do

    • @gauravapte5126
      @gauravapte5126 6 лет назад

      I am having quectel m95 gsm module.. i am trying to make call from that module to particular number..
      Code is successfully uploaded..but no response from gsm module..

    • @CalebMarting
      @CalebMarting  6 лет назад +1

      The only thing I can think of is that it somehow is messing with the uart or something. Can you try the same pin/comm method with a different device?

  • @khalidtubail
    @khalidtubail 6 лет назад

    really awesome,,, thanks a lot.
    now i can enjoy programming with this board.

    • @CalebMarting
      @CalebMarting  6 лет назад

      No problem! I'm working on more videos for this board so stay tuned!

  • @karllaun2427
    @karllaun2427 5 лет назад

    Great information! Just a heads-up, you have to register an e-mail address to download the flasher software. If your programming computer doesn't have an e-mail client (for verification) like mine, getting the flasher software will be problematic.

    • @hgcsm
      @hgcsm 5 лет назад

      www.guerrillamail.com/

  • @rezamjj
    @rezamjj Год назад

    Hi, I have an .ioc file, how can I transfer it to blue pill with this method (using usb to ttl)?

  • @Levisgil47
    @Levisgil47 6 лет назад

    Thanks for your comment. Specially this comment at 5:15 which is the main cause of faillure for most of us...

  • @gaborm4767
    @gaborm4767 4 года назад +1

    Why do you need this bootloader if STM32 has an internal DFU bootloader?

    • @CalebMarting
      @CalebMarting  4 года назад

      Some stm32s don't have a dfu bootloader, for instance the f103c8. If this were about the f4x1 you would be correct, and I have a video on those too

    • @gaborm4767
      @gaborm4767 4 года назад

      thank you. where can I get info about it? They don't mention it here:
      www.st.com/resource/en/programming_manual/cd00283419-stm32f10xxx-flash-memory-microcontrollers-stmicroelectronics.pdf
      www.st.com/resource/en/application_note/cd00264379-usb-dfu-protocol-used-in-the-stm32-bootloader-stmicroelectronics.pdf

    • @CalebMarting
      @CalebMarting  4 года назад

      www.google.com/url?sa=t&source=web&rct=j&url=www.st.com/resource/en/reference_manual/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf&ved=2ahUKEwi31qK4wYztAhVEGDQIHexmDn8QFjAAegQIJBAC&usg=AOvVaw2kF0T1D3TzsgvgnX7fvMku under the section titled "boot configuration"

  • @arifindobson
    @arifindobson 6 лет назад

    This is superb, awesome and amazing.

  • @wiktorjaworski1710
    @wiktorjaworski1710 2 года назад

    Hey, just a quick question - can i use a rs232 to usb adapter instead of the ftdi breakout board? I can't order it now but i want to try using it

    • @CalebMarting
      @CalebMarting  2 года назад

      You'd have to check the data sheet, I think it only supports uart for upload, check the bootloader section in the chip sdatasheets

  • @jakubstejskal6806
    @jakubstejskal6806 5 лет назад

    Hello, I am getting error unable to flash memory in (5:01) and cannot download data. Any advice? Thank you

    • @CalebMarting
      @CalebMarting  5 лет назад

      Is it a genuine stm32 or is there a different company's name on the chip? It could be that the flash memory is locked as well but I don't know how to fix that

    • @jakubstejskal6806
      @jakubstejskal6806 5 лет назад

      ​@@CalebMarting Thanks for quick response. I do not know much about the chip. I had to erase all first then flashing worked. Now i can't get over another issue; unknown usb device, code 43 which seems to be unsolvable so I guess am done with this.

    • @jakubstejskal6806
      @jakubstejskal6806 5 лет назад

      I figured it out. So, for those who have same problem:
      Bootloader generic_boot20_pc13 (26.12.2019) not works on some old boards, you can check versions by code written on head of STM32 chip or better by value of Resistor R10 which on these boards equals to 10kOhm.
      1) In Demonstrator GUI, first "erase all" (first option in Demonstrator) and then you can upload bootloader with "no erase". Another way is to use STLink 2 and cubeMX programmer - you dont need switch boot jumper and its faster.
      2) Find 2 years old bootloader (you can find in history on github), upload to bluepill, and voila, Windows recognizing device as "Maple DFU" in "libusb-win32" category in device manager. In COM and LPT ports you need unninstall all devices. Run arduino IDE and upload random sketch with COM port grayed out (empty), other settings just like in video. You can hear "tudy tydu" and it's done. Working for me.

  • @beakytwitch7905
    @beakytwitch7905 4 года назад

    The Arduino does bootloader for the first few seconds, then becomes available as a USB serial port. Does that happen here too?

  • @TheSalesEngineer
    @TheSalesEngineer 6 лет назад +17

    "multimmiter" *shivers*

    • @CalebMarting
      @CalebMarting  6 лет назад +1

      Multi-meter, voltmeter, what would you want me to call it and/or use?
      P.s. I have had that multimeter since I was a small child so I use what I have.

    • @TheSalesEngineer
      @TheSalesEngineer 6 лет назад

      Caleb Marting...the pronunciation, my friend. Like when someone pronounces GIF as "jiff", or SQL as "seequill"... :) love the atm vids, I subscribed! A small mixing thing, but at 2:31 you moved boot0 to 1, but showed it on 0 at 3:07... :)

    • @CalebMarting
      @CalebMarting  6 лет назад

      Oh, I hate pronunciation. We pronounce solder as sodder (sod-er) instead of (sold-er). So bad.
      Yeah I didn't take enough footage so there were issues with mixing. Thanks for the sub!

    • @TheChrisey
      @TheChrisey 5 лет назад

      Lol yeah I reacted to that too. "Mult-immiter" instead of "Multi-Meter"

    • @AlexanderLang1980
      @AlexanderLang1980 4 года назад

      As a Brit I say "multimmiter" in a faux American accent to poke colleagues...good harmless fun - first time I actually heard someone pronounce it that way in real life

  • @Shubham-9996
    @Shubham-9996 4 года назад

    After completion of procedure,
    Is there any need to change that jumpers boot point at any point in FUTURE application and different codes

    • @CalebMarting
      @CalebMarting  4 года назад

      The only jumper you would change is the boot one jumper. The opposite of the one that you used. When it's in the one position it forces the bootloader to be enabled, so if you having issues uploading code you can put the boot one jumper to one. Otherwise you should never need to move jumpers

    • @Shubham-9996
      @Shubham-9996 4 года назад

      @@CalebMarting
      Thank you so much...

  • @pflanzgarten
    @pflanzgarten 5 лет назад +2

    Thanks a lot Caleb. I get it!!! Now, i can program my bluepills through USB and use Serial Port Monitor. Only a question. I need to press the reset button after upload a program. Upload works fine, but before press the reset button, the COM port apears disabled. After pressing the reset button, the Serial Port Monitor and COM Port works fine. Both jumpers on 0 position.

    • @dansdroids4067
      @dansdroids4067 5 лет назад

      I get the same issue, resulting in the error mentioned with the missing footage... any ideas of a workaround? seems like the usb is failing to reset the stm32 into flash mode?

    • @CalebMarting
      @CalebMarting  5 лет назад

      Yes some STM32s can't reset themselves, meaning you need to reset it. either reset when it's attempting to program or something like that

    • @CalebMarting
      @CalebMarting  5 лет назад

      Basically the USB can't reset it and therefore it can't find the right DFU device

    • @dansdroids4067
      @dansdroids4067 5 лет назад

      @@CalebMarting Thank you. Is that the resistor hack that ive seen others doing?

    • @CalebMarting
      @CalebMarting  5 лет назад +1

      It's one of the ways to perform the fix. you should test before you do that though because sometimes it's not required based on your computer or something else.you can also get around needing to do the resistor hack by resetting it as you're uploading. Did that make sense?

  • @testingbeta7169
    @testingbeta7169 5 лет назад

    thankyou for making world easier place :)

  • @Jeroen1278
    @Jeroen1278 4 года назад

    Great explanation, thanks.

  • @siddharthdhaka
    @siddharthdhaka 5 лет назад

    i did every step , redid again , restarted pc and all ... still Stm32 not recognised .
    i had some resistors lying around , made series combination to reach a value of 1.5k and attached where you are showing in the video. shorted R10. NO gain .
    then checked R10 value with my multimeter , it came out to be 1.3k
    and checked R2 value , which was 10K.
    Is R2 's value ok? and can you help me in any way?

    • @CalebMarting
      @CalebMarting  5 лет назад +1

      I've been hearing that this has been failing recently. I made this video 2 years ago so it's possible something has changed in that time. I would recommend getting an ST Link V2 as it is $2-5 and it is just pretty nice

    • @siddharthdhaka
      @siddharthdhaka 5 лет назад

      @@CalebMarting thanks for your reply. Hmm i might get one..
      also if use the stmflash application to clear all the pages , will it remove the bootloader?
      and i was thinking to try using usb with ubuntu and see if this problem persist . Or if you know , this will be same in ubuntu ? then i will be saved from all the headache of setting everything in ubuntu .

    • @CalebMarting
      @CalebMarting  5 лет назад +1

      You can overwrite the bootloader by just uploading another program over serial (move boot 0 to 1 position, etc)

    • @siddharthdhaka
      @siddharthdhaka 5 лет назад

      @@CalebMarting thanks

  • @MejoradoLopezJonathan
    @MejoradoLopezJonathan 8 месяцев назад

    this tutorial works for the programs in the stm32cubeide?

  • @apexablaze
    @apexablaze Год назад

    My Port got detected but it is not detecting as mapple mini it is getting detected as generic stm321f103c series😢

  • @armincal9834
    @armincal9834 3 года назад

    This doesn't mean that I can upload programs directly from stm32 cube ide right? I don't have a separate stlink only the one on my nucleo and I'm not detaching it

    • @CalebMarting
      @CalebMarting  3 года назад

      I don't believe it's possible unless you make a custom upload command which I think is technically feasible. However you won't get the benefits of debugging code and such. You might need to steal the python script or whatever it uses from the actual Arduino files. If you try my hid bootloader it comes with a flasher CLI that you could use

    • @armincal9834
      @armincal9834 3 года назад

      @@CalebMarting thank you very much for answering. Currently I'm using a USB to TTL converter to connect this custom Chinese blue pill to my PC. I want to upload a program I have compiled in cube ide. I believe I can do so using stm32 cube programmer. Now the question is do I upload the . elf file or . bin file?

    • @CalebMarting
      @CalebMarting  3 года назад

      Elf is used for debugging, bin is what you want to upload, although don't be afraid to experiment, you pretty much can't break it unlike a regular computer

    • @armincal9834
      @armincal9834 3 года назад +1

      @@CalebMarting thanks for helping me. Like and subscribed!

  • @mutantthegreat7963
    @mutantthegreat7963 2 года назад

    Rocking. Cheers

  • @EmbSysDev
    @EmbSysDev 6 лет назад

    Hi Caleb,
    1)This worked for me,but i wish to put back the original serial UART bootloader.Will the same procedure work ?
    2) Any idea where I could download the .bin file for the originl bootloader ? I could not find it online or maybe not looking in the proper places.
    3) How does the flash loader know where to place the .bin file for the bootloader or the user application in the device memory ?
    TIA
    Thomas

    • @CalebMarting
      @CalebMarting  6 лет назад

      All you have to do is place the boot 0 jumper back to boot 1 and you should be able to upload via uart again I believe

    • @EmbSysDev
      @EmbSysDev 6 лет назад

      It detects the chip,but gives an error after uploading.The same file works OK , if i load it with a STLINK.I think its because I have changed to a USB bootloader perhaps.So i wanted to put the original bootloader and load via UART0.

    • @CalebMarting
      @CalebMarting  6 лет назад

      Are you moving boot zero to the 1 position and then plugging it into power?

    • @EmbSysDev
      @EmbSysDev 6 лет назад

      @@CalebMarting Hi Caleb,as usual a trivial mistake from my side.I did not notice the drop down menu which chooses the memory size of the device.Selected the right one and now it works perfectly.
      From what I read in the STM32duino wiki :
      "The standard ('factory', 'native', 'STM') bootloader is always available -- being stored in read-only memory -- and cannot be modified or deleted. You can access it by configuring the boot pins high or low, and then powering (or resetting) the MCU."
      I had assumed wrongly that the USB bootloader overwrites the UART bootloader.
      Thanks for your cordial replies !!

    • @CalebMarting
      @CalebMarting  6 лет назад

      No problem!

  • @mladencukon9a3xz79
    @mladencukon9a3xz79 4 года назад

    when i try conect with stm cube programmer said"verify the boot mode and check the serial port configuration" but i see in arduino ide port like port6 ,maybe you know whats the problem.thanks in advance.

    • @CalebMarting
      @CalebMarting  4 года назад

      If you're connecting with serial in STM32 cube prog, you need to have boot one in the one position, press reset, and then connect with the serial port

    • @mladencukon9a3xz79
      @mladencukon9a3xz79 4 года назад

      @@CalebMarting thanks so much ,but i try this,interesting thing that my China Blue Pill board ,green led blinking always ,i think that isnt ok !

    • @mladencukon9a3xz79
      @mladencukon9a3xz79 4 года назад +1

      @@CalebMarting now is ok, i changed 100k on midle pin boot0 to stm32, now is 10k, thanks.

  • @omniyambot9876
    @omniyambot9876 4 года назад +1

    How do you deal with fake FTDI drivers?

    • @CalebMarting
      @CalebMarting  4 года назад +1

      Shouldn't matter too much. I just installed them and then use them as I would any other adapter. I assume you're talking about the CH340

    • @omniyambot9876
      @omniyambot9876 4 года назад +1

      @@CalebMarting ohh I see, actually I'm not aware that I've bought a fake FTDI and it doesn't work, apparently it was bricked by the official company. Very sad as I'm very poor. Tried every instructions online nothing worked lol.

  • @insanet3
    @insanet3 5 лет назад +1

    hey man tremendous video, can you make a tutorial on how to make the stm32 simulate a usb Keyboard?. can it be done with arduino programming? or do you have to use the st-link thingy?

    • @CalebMarting
      @CalebMarting  5 лет назад

      I've gotten it to work before with just Arduino but it sort of messes with the bootloader if I remember right. I'll look into it haha

    • @dieSpinnt
      @dieSpinnt 5 лет назад

      ​@@CalebMarting It works, but you won't like this kind of configuration during development. It's cumbersome and annoying. Maybe later as end-user update mechanism.
      The boot-loader and your USB-stack will fight against each other every code-update time, worsened by the fact that such a blue pill has no proper USB re-enumeration circuitry like the maple series and most likely has the wrong pull up resistors(like you stated in your video. good job).
      For USB development I use a proper programming adapter as @insanet3 asked. So you have proper debugging available and two paths: One for development and one for the USB realization of your project. Prepare to invest some time, because this can be a hard task to wrap your head around and get your USB stuff working:)

    • @CalebMarting
      @CalebMarting  5 лет назад

      You are exactly right, I had the same experience as you

    • @CalebMarting
      @CalebMarting  5 лет назад

      Thank you for your insightful comment!

  • @CJ-tv9hd
    @CJ-tv9hd 6 лет назад +2

    Mmmmmmm.... Absolutely splended! I am the globaglinkgalub, the shubbleduble...

  • @ashif2997
    @ashif2997 6 лет назад

    thank you, caleb, it's awesome

  • @kawur1
    @kawur1 6 лет назад

    Nice! It worked! Thanks a lot

    • @CalebMarting
      @CalebMarting  6 лет назад

      Wouldn't have made a video if it didn't work ;p

  • @blaedd
    @blaedd 6 лет назад

    While I'd double check the datasheet and schematic. Most STM32 inputs that aren't in analog mode are usually 5V tolerant. (3.3V is still preferable, but it would be an odd setup to damage the MCU)

    • @CalebMarting
      @CalebMarting  6 лет назад

      I was going to make a second video calling my first self a liar but I'll explain that later

  • @jaragon1udem
    @jaragon1udem 5 лет назад

    Can we use this bootloader without using arduino ? I ask because I prefer Keil. I just want the support for the USB port in the STM32

    • @CalebMarting
      @CalebMarting  5 лет назад +1

      I'm not sure, I haven't gotten it to work with mbed or anything. You could extract how the .bin file is uploaded and just use keil to run that file

  • @AhmedAli-op6ng
    @AhmedAli-op6ng 5 лет назад

    i followed the same process as you and uploaded binary file and succesfully installed drivers but as soon as i plug stm32 to my pc it throws error that it does not recognise this device.
    any help

    • @CalebMarting
      @CalebMarting  5 лет назад

      It could be a faulty board but try reinstalling the drivers again

    • @AhmedAli-op6ng
      @AhmedAli-op6ng 5 лет назад

      @@CalebMarting i did 4 5 times but same problem . but i am still be able to upload code using usb to serial converter.

  • @paul.alarner6410
    @paul.alarner6410 2 месяца назад

    if the links are too old files why not fix it?

  • @CaptFrost-ed8ij
    @CaptFrost-ed8ij 5 лет назад

    Thank you so much for the video! One question, I can undo the bootloader by flashing a random program via serial I assume? Like loading the blink program via arduino serial?

    • @CalebMarting
      @CalebMarting  5 лет назад +2

      Anything written over serial will overwrite the bootloader, that is correct

    • @CaptFrost-ed8ij
      @CaptFrost-ed8ij 5 лет назад

      @@CalebMarting Thank you! I've also tried on the STM32F103RB development board. The board has PB11 connected to the led, I've tested 2-3 binaries and the generic_pc13 seems to be working!(Couldn't find PB11 binary) I've tried to learn more about this, could you explain on why specific binaries must be loaded on board which have different pins connected to the userled?

    • @CalebMarting
      @CalebMarting  5 лет назад +1

      I think it's just so that the board knows which pins are mapped to what, sometimes certain boards have extra peripherals and stuff. If pc13 works then you should be set

  • @MarkG0MGX
    @MarkG0MGX 5 лет назад

    I can flash (and verify) the bootloader fine, but when I plug the USB cable into my Win10 machine I get Code 43 device cannot start :-( I can't fix this. R3 is 1K5

    • @CalebMarting
      @CalebMarting  5 лет назад

      Sounds like a driver issue... Hmmm, could you join the discord mentioned in the description of the video?

    • @MarkG0MGX
      @MarkG0MGX 5 лет назад

      @@CalebMarting Its very strange - with or without the bootloader installed the USB connection direct to the board generates the code 43 error - tried 2 PCs and they are both the same. The board looks identical to yours :-(

    • @CalebMarting
      @CalebMarting  5 лет назад

      I think that definitely sounds like a driver issue, especially if the bootloader isn't installed. But I've only see this happen once before on a different device and it would crash my computer. Do you have another board? It could also be defective or a bad USB cable maybe?

    • @MarkG0MGX
      @MarkG0MGX 5 лет назад

      @@CalebMarting I used a different flash programmer listed against this video and it worked ruclips.net/video/Tm7IWQLrKYs/видео.html

  • @ARRun
    @ARRun 6 лет назад

    I cant find stm32f1 in my board manager. It shows only stm32f4. What should i do?

    • @CalebMarting
      @CalebMarting  6 лет назад

      Put the link in the desc into your additional urls

    • @ARRun
      @ARRun 6 лет назад

      Still i cant stm32f1.

    • @CalebMarting
      @CalebMarting  6 лет назад

      Add this to your Additional URLs under File/Preferences:
      dan.drown.org/stm32duino/package_STM32duino_index.json

  • @monneratrj
    @monneratrj 6 лет назад

    I always wanted to use STM32 without the need for the FTDI stuff... the video looks quite detailed, wich seems its harder than it appears... can you summarize in few steps everything that is needed? and after that? i will be able to write/rewrite just like common arduinos?

    • @CalebMarting
      @CalebMarting  6 лет назад +1

      Yes, after install it should be able to be written just like a regular Arduino. In a few steps:
      Download the flasher program, drivers, and correct bootloader.
      Install the drivers
      Run the flasher program and use the selected bootloader and ftdi when you install.
      That's the basic gist, but please watch the video because there are pitfalls I can't type out on my phone that you should be aware of, really it's about 4 mins of video that matters, go to the timestamp mentioned.

  • @TinLethax
    @TinLethax 6 лет назад

    If you buy a maplemini clone .its pre-burned bootloader with the legacy USB compatible .

    • @CalebMarting
      @CalebMarting  6 лет назад

      It's also, (in my experience,) about $1-2 more expensive on average

    • @TinLethax
      @TinLethax 6 лет назад

      I have one of them .Its quiet a bit better than the blue pill board.I also have the stm32f3 discovery board .Trying to install this compatible bootloader too .

  • @pjfrigate
    @pjfrigate 6 лет назад

    Very useful! Thank you.

    • @CalebMarting
      @CalebMarting  6 лет назад

      No problem, I have another video on the stm32 coming out within the week!

  • @akarshagarwal4516
    @akarshagarwal4516 6 лет назад

    Great work. subbed and liked

  • @TheWhitde
    @TheWhitde 6 лет назад

    Looking seriously at STM32F4 board for just over AUD$10. 168Mhz, FPU, 1MB flash, 192K + 4K SRAM, heaps of I/O on a neat board.
    Currently use an Arduino Due that's great... but... but hate the default headers and well... 168Mhz and 192K is better than 84Mhz and 96K for a board that's ~60% of the price. Was looking at Teensy but not enough I/O for my project unless muck around with solder pads etc. I use Visual Micro under Visual Studio... and seems to install and compile. No point ordering a board if don't have means to compile... and as I just found out need a boot loader.

    • @CalebMarting
      @CalebMarting  6 лет назад

      You don't need a bootloader. What I recommend is the STLink V2 for your situation. You can get one for $2
      Edit:re-read the comment while I'm not half asleep, I recommend STM32 highly, it's just that the arduino support isn't quite there yet. I'm looking into alternative toolchains and stuff

  • @SiddanagowdaBiradar
    @SiddanagowdaBiradar 4 года назад

    STMCube IDE is also so good. Are there videos on it ?

    • @CalebMarting
      @CalebMarting  4 года назад

      I'm not entirely sure, I really like it but can't justify using it because I don't do things that really need it

  • @kevinroscom
    @kevinroscom 6 лет назад

    do you have any ideas on how to get the 2 DACs working in the Arduino IDE? AnalogWrite is only able to output PWM for me, and i'd rather use the true analog outputs. thanks!

    • @CalebMarting
      @CalebMarting  6 лет назад

      I think you might have to use hardware registers. There are plenty of tutorials for using hardware registers on the Arduino for faster writing and reading of pins. If you can find which registers correspond to the DACS, it may work. (I haven't done any research but this might be a good stepping stone) Tell me how it goes!

  • @chrisw1462
    @chrisw1462 5 лет назад

    @2:35 I hope you didn't really have the other end of that USB cable plugged in, while the metal tweezers shorted those resistors/capacitors???? If you short out your USB cable, on recent model motherboards, the internal USB hub will just turn off, and won't come back until you remove power entirely and turn it back on. Best case, you'll have to turn off your computer and restart it to keep working. But there's always the chance of permanent damage when you use conductive tools on a powered circuit.

    • @CalebMarting
      @CalebMarting  5 лет назад

      The other end wasn't plugged in :p i figured it was a better shot than having my fat fingers in the gap. A few other people have brought it up and I realized too late what it looked like

  • @IDMIPoseidon
    @IDMIPoseidon 6 лет назад +1

    i encounterd problem on "FDU error", pretty sure it's because of the wrong resistor value. So, when should i change the value of the resistor? Is it after i burn the custom bootloader?

    • @avarupt
      @avarupt 6 лет назад

      Don't change the resistor yet, burn the bootloader, and then place the other jumper to the 1 position. When you plug it in, it should be in eternal upload mode. I mentioned this at the end of the video I think.
      If that still doesn't work, it's an issue with your drivers, if it does work, change the value of the resistor whenever, I don't remember what the value was but I think I said in the video

    • @IDMIPoseidon
      @IDMIPoseidon 6 лет назад

      Oh, so if the issue is solved by placing the boot1 jumper into 1's position, then i don't need to change the resistor?

    • @avarupt
      @avarupt 6 лет назад

      Correct, the resistor just makes it more convenient because it will reset the board automatically for you

    • @IDMIPoseidon
      @IDMIPoseidon 6 лет назад

      Alright, cool! One last question, does the boot1 jumper just stay on 1's position forever, or do i need to turn it from 0's to 1's position each time i want to upload program?

    • @avarupt
      @avarupt 6 лет назад

      I think it sets it to eternal upload mode, but once you upload a program it just runs the program. I think if you place the boot 1 back into the 0 position it will keep the program loaded. If you want to reupload a program you keep it on the 1 position and cycle power

  • @splendensregan5270
    @splendensregan5270 Год назад

    Hi where can I get the FlashLoader Demonstrator for stm32 ?

    • @CalebMarting
      @CalebMarting  Год назад

      Hi! You can get it from st's official site

  • @das250250
    @das250250 6 лет назад

    @2:35 are you showing people how to power up the device : powering up the board holding it with conductive tweezer shorting across a bunch of resistors???

    • @CalebMarting
      @CalebMarting  6 лет назад

      Apparently I am, I just didn't like having my fat fingers in the way

  • @JanSchumacher
    @JanSchumacher 6 лет назад

    I wonder if there is a way to use a Arduino Uno as a USB to TTL converter to program the STM... Should be possible right? Afaik when you connect reset to ground you can use the rx and tx pins as serial throughput

    • @CalebMarting
      @CalebMarting  6 лет назад +1

      www.stm32duino.com/viewtopic.php?t=89
      I'll make a video about this!

    • @JanSchumacher
      @JanSchumacher 6 лет назад

      @@CalebMarting would be awesome! Can I also just program a little blink example with this method? Just to get started?

    • @CalebMarting
      @CalebMarting  6 лет назад +1

      Sure, I'll show bootloader and a sketch!

  • @AJB2K3
    @AJB2K3 6 лет назад +1

    Didn't come here to delete system32, already mastered accidently deleting it!

  • @ishanmadhav2471
    @ishanmadhav2471 6 лет назад

    Thanks for the help man

  • @behzadabf
    @behzadabf 5 лет назад

    Very useful.. thanksss...

  • @NewYorkeez
    @NewYorkeez 5 лет назад

    Does it works only on old arduino version. I tried all tutorials on you tube but no results!

    • @CalebMarting
      @CalebMarting  5 лет назад

      I'm not sure, my guess would be drivers of the most important versus Arduino version

    • @NewYorkeez
      @NewYorkeez 5 лет назад

      @@CalebMarting failed to knit device
      Stm32flash 0.4
      Http:// stm32flash.googlecode.com/
      That's the error im getting. Do you know how to solve that?