After a full day of trying to get my ST32 to work, you came in clutch. Thank you so much!
@UndefinedEssence2 жыл бұрын
This is one of the best videos for this, I appreciate the clean look and sound of the video as well.
@CalebMarting2 жыл бұрын
Thank you! Glad you enjoyed
@batuhansarp683 Жыл бұрын
Agreed, if windows doesn't recognize the bluepill just unplug it from power and plug it again several times, it will work.
@n0m1c4 жыл бұрын
I had tossed 5 blue pill boards in a drawer after wrestling for days to get them to work with Platform.io back in 2018. I recently got interested in using them with DIY Eurorack synth modules. This procedure & the new bootloader did the trick, even with counterfeit CKS32F103C8T6 microcontrollers on the boards! Thanks for the update!
@CalebMarting4 жыл бұрын
Thank you! I have a couple of CKS ones as well and they worked fine as well with this. I wonder what doesn't work though lol
@luizdanielsantos4 жыл бұрын
Use the PB2 port tied to +3.3V after a RESET. This will kick in the HID Bootloader (even with anything written previously). One also can unplug the USB, tie PB2 to +3.3V, and plug it to the USB port, this also can kick in the HID Bootloader.
@walterhynson2898 Жыл бұрын
wow ,looks like the folks over at STM finally got it together and realized Arduino is here to stay. THANKS
@ok4rm4 жыл бұрын
Very useful video, thank you. I solved my bootloader problems with two different STM32 boards within a couple of minutes. Especially the links in description are very useful: all are valid and get the right things I needed. Perfect explanation why and how. Many, many thanks!
@raimondfoekema62634 жыл бұрын
I also solved my bootloader problem but what i found out later is that the usb comminication gives trouble with my serial3 connection to my blue tooth module, every time it looses connection with the pc and i have to upload the bootloader again. Do you experiance the same?
@dave_dennis4 жыл бұрын
How ironic that you uploaded this UPDATE on the very day I was researching how to do this. Thanks for making an UPDATE!
@CalebMarting4 жыл бұрын
No worries, happy I could help. This UPDATE'S bootloader is a lot more user friendly than my other videos bootloader so it needed to be done. Have fun!
@ihakov2 жыл бұрын
Thank you very much for your guidance. Spent 1.5 days to make STA32 working until I saw your video. Now I am good now. Just FYI, I used STM Flash Loader to flash bootloader and in the Arduino's Upload method I used HID Bootloader 2.2
@danielliden68292 жыл бұрын
When adding board i get the "depreciated please use new package index stm32 cores"
@fredov104 жыл бұрын
Thank you, just saw this on reddit, the day after i got the board. Subscribed!
@CalebMarting4 жыл бұрын
Good timing then. Thank you!
@johnmmcguinness79824 жыл бұрын
@@CalebMarting Hi Great Vids however after 5 attempts I still get the following error when I try and down load a program : > Searching for [1209:BEBA] device.... Error - [1209:BEBA] device not found
@johnmmcguinness79824 жыл бұрын
Further to my last Windows device manager reports device on Comm 7 but bootloader is checking comm 5.
@finnknauber4 жыл бұрын
@@johnmmcguinness7982 Do you still have this error? If so try flashing the bootloader and uploading any sketch. Before you upload the second time select the boards com port (that would be com 7 for you) in the Arduino IDE and then click upload. It should work this time
@jeffowen7897 Жыл бұрын
Thanks for such a clear and concise video. First time I've got a blue pill bootloader to work!
@CalebMarting Жыл бұрын
Glad it helped!
@OmarElmasry14 жыл бұрын
this video is amazing on so many levels , liked and subbed.
@smilespray4 жыл бұрын
Thanks for this! I already had a pile of these lying around, but I haven't used them due to programming being fiddly. Ordered 10 more and will be flashing the new bootloader on all of them.
@CalebMarting4 жыл бұрын
Sounds awesome! I am amazed at how well this bootloader works so happy to spread the news. Best of luck!
@davidwoodward70033 жыл бұрын
Great video! Explained a lot of the basics that other videos skipped over.
@dentakuweb4 жыл бұрын
Nice! I was able to program my Blue Pill a while ago then something happened and I just kept getting errors. This video inspired me to clean up my IDE and set everything up again. By following your instructions I was able to get it all working again. Now I need to see if I can program a little 32F030F4P6 board I got a while ago.
@CalebMarting4 жыл бұрын
Good luck! Glad it worked
@dentakuweb4 жыл бұрын
@@CalebMarting Last night I opened up Serial Monitor WHILE uploading a sketch and the Bluepill could no longer be recognized as a usable USB device on ANY computer so I went through the process in this video again and now it works.
@CalebMarting4 жыл бұрын
It's possible that something got messed up, or a setting wasnt set correctly. apparently you can set the boot and one jumper to the one position and that should force the bootloader to start when you press reset. Then you can see if the USB device is recognized
@dentakuweb4 жыл бұрын
@@CalebMarting OK. If it happens again I'll set both jumpers and reset to see if it works. Re-flashing the bootloader isn't difficult anyway.
@Egon_Freeman20 күн бұрын
So what should I do if, with BOOT0 in 0, connecting the USB to the PC nets me a "USB device not recognized"? Unplugging and plugging back in however many times _doesn't solve the issue._ I programmed the bootloader with "Verify programming" and it verified. I can also upload the blinker via Serial and it seems to work fine... I supposedly have the STM32F103C6T6 chip, so I assume low/medium + PC13. Notably, my green LED is _not blinking_ when I have it hooked to serial.
@martinbonfiore78713 ай бұрын
Best stm32 bootloader tutorial out there! Question: I have a "Pill" board that is the same as the F103 however it has an F303 chip on it. The binaries you reference don't have an entry for the F303. Can I use the F103 bootloader binary? TIA!
@bruceme1014 жыл бұрын
Great video Caleb! build_flags = -D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC -D USBCON -D USBD_PID -D USBD_VID=0x0483 -D USB_MANUFACTURER="Unknown" -D USB_PRODUCT="\"BLUEPILL_F103C8\"" -D HAL_PCD_MODULE_ENABLED NOTE: -D USBD_PID was required, if you look at the error it's obvious, but that should work as of me typing this.
@InterdimensionalWiz4 жыл бұрын
You just saved me about 15 hours work! thanks Sooo much man.... works first time, exactly as you have described.... cheeeers!
@CalebMarting4 жыл бұрын
The first time I uploaded a bootloader it took about 15 hours to figure out how to do it. That's why I started making these, to save people time. Glad it works!
@roadeycarl4 жыл бұрын
This is fantastic. Thank you so much!! I have updated the boot-loader on all my STM32 boards!
@CalebMarting4 жыл бұрын
Awesome! Glad you found it useful
@AvinashRaiG3 жыл бұрын
Amazingly simplified Video ever made , I came across ....You are a real Gem knowledge sharing sole ! Keep doing your good work for the community ! is there any similar video for STM8 boards I can refer ?
@CalebMarting3 жыл бұрын
I haven't used any STM 8 boards so I'm not sure, if you need any help though I'm sure the process is similar
@erfanmahmud92272 жыл бұрын
What happens when I am going to use more than 1 blue pill? I have 2 blue pill. 1 is working good but 2 is not recognized by the PC. I did not miss any of the steps mentioned above.
@sakugava4 жыл бұрын
Thank you very much. Worked like a charm!
@allinonesolutionsbd Жыл бұрын
Thanks a lot. I got my first stm32 project.
@panagiotisseremetis6712 жыл бұрын
tHANK YOU VERY VERY SO MUCH!! yOU ARE THE ONE!! Including Serasidis of course (The Greek One)!!!
@CalebMarting2 жыл бұрын
Thank you!
@MrSudni454 жыл бұрын
thank you for your video, now my 'Blue Pill' work well with Arduino, and serial output it's great to help to display info or debug. Great job.
@ecmroc88883 жыл бұрын
Is there an update to this video? Perhaps a an updated link to proper files? Have tried (and tried) using updated links below But no luck. Boot loader uploads fine. But when I go to program vis USB (HID 2.2), sez it can't find the board. Thx ...
@idus10 ай бұрын
It seems to still require a port even in HID 2.2 bootloader. Ill try downgrading arduino IDE. Otherwise everything else I followed and it worked. Maybe usb cable.
@MrMojo4874 жыл бұрын
"Timeout error occured while waiting for acknowledgement. Error: Activating device: KO. Please, verify the boot mode configuration and check the serial port configuration. Reset your device then try again..." how to overcome this problem?
@CalebMarting4 жыл бұрын
There's a couple possibilities. What causes that error is that your set up for serial upload is wrong. For instance If you don't have the boot zero jumper in the one position and press reset, etc. If you are sure that is all correct, try another blue pill if you have it, sometimes boards just don't work cause defective products still make them money
@Bob-hh8rp3 жыл бұрын
hi, the cube programmer log says ST-LINK error (DEV_CONNECT_ERR) when i try to connect my st link, what do i do for it to connect successfully?
@KaiPosadowsky4 жыл бұрын
I am a starter with micro controllers and your video was a great help. But because time goes by I faced the same problems as many people here: after first successful flash from Arduino all later flashes needed the bootloader pin 1 to set. After many hours of research, try and fail, I finally found the solution! I downgraded the version of STM32 core down from 1.9 to 1.8. STM32 core 1.9 and bootloader 2.2.2 may not be compatible, idk. Now I can upload the same reliable and repeatable way as before with Arduino nano.
@KaiPosadowsky4 жыл бұрын
//Edit: I was able to update core to 1.90. Maybe the root of my problem was solved by installing a driver for STM32 device. My system recognised the pill as a generic serial device that helps Arduino when searching for it.
@CalebMarting4 жыл бұрын
Ah so COM ports are not required for uploading code, but Arduino complains when there is one on your system and you don't have one selected. Maybe that was the root of your problem
@KaiPosadowsky4 жыл бұрын
@@CalebMarting yes, but before Installation of the driver the system was not able to recognize the blue pill at all, every time after first flash from Arduino. To be complete here, the device is now a serial device and the port in Arduino fits to it.
@jitendrasharma-py3bk9 ай бұрын
If I upload a bootloader in stm 32. After uploading does I still need a programme or st link to program the board. I new with mcu's. So please clear
@jiageng19972 жыл бұрын
I tried the steps till 6:05, but windows did not recognize my bluepill when I plugged it in via usb. Not sure why, wondering if anyone is facing this issue.
@CalebMarting2 жыл бұрын
Does it not recognize the pill, or does it even know a device is plugged in? Maybe try another USB cable, some don't have data lines
@kalj74 жыл бұрын
Really loved the way you included more or less subtle references to things in the previous video. Like the tweezers thing. :D
@CalebMarting4 жыл бұрын
"subtle" may be the wrong word for it :p
@kalj74 жыл бұрын
@@CalebMarting "more or less" :)
@CalebMarting4 жыл бұрын
":)"
@JanKowalskiOfficial2 жыл бұрын
Is this tutorial to use stm with Arduino IDE, or to use it with stm cube and cube programmer via usb?
@ritwikkaushik40262 жыл бұрын
Thanks for info but in my case after installing the bootloader when i plug my STM32f103 bulepill it says USB not recognized and in arduino IDE it says your board is not connected,but i think bootloader is flashed as mine PC13 led is blinking at very high rate.Any ideas?
@shantanurahman50842 жыл бұрын
Hey same problem here. Any fix?
@CalebMarting2 жыл бұрын
Sometimes the boards themselves are just broken, try a new board. Other times your USB cable might not have data lines so try a new USB cable
@iMoD1998 Жыл бұрын
Old but after you flash the bootloader you need to hook it back up to the TTL converter and select the COM port and then try uploading in arduino IDE. It then begins to flash something else and it will finally work.
@ajuwinfly8272 Жыл бұрын
Hello im arduino uno comanication to stM32f103 ,after cod uplord come erro is compling for stm32 series
@guitarpicker74643 жыл бұрын
Followed this and was able to program the 2.2.2 HID bootloader onto a bluepill. It was attached to my linux box and I was able to program it using arduino as described. I was able to upload the blink sketch and it worked fine. What I noticed was that after programming the bootloader and plugging in the device I saw Feb 19 17:35:17 x1-Carbon kernel: [159760.782737] usb 1-4.3: new full-speed USB device number 62 using xhci_hcd Feb 19 17:35:17 x1-Carbon kernel: [159760.896087] usb 1-4.3: New USB device found, idVendor=1209, idProduct=beba Feb 19 17:35:17 x1-Carbon kernel: [159760.896088] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Feb 19 17:35:17 x1-Carbon kernel: [159760.896089] usb 1-4.3: Product: STM32F HID Bootloader Feb 19 17:35:17 x1-Carbon kernel: [159760.896090] usb 1-4.3: Manufacturer: www.serasidis.gr Feb 19 17:35:17 x1-Carbon kernel: [159760.897242] hid-generic 0003:1209:BEBA.002A: hiddev0,hidraw4: USB HID v1.11 Device [www.serasidis.gr STM32F HID Bootloader] on usb-0000:00:14.0-4.3/input0 Subsequent upload required the tty port to be set to ttyACM0, which I found strange but then I noticed that when attached it showed up as a different device. After uploading the blink program and on every new connection of the device I see. Feb 19 17:35:21 x1-Carbon kernel: [159764.903072] usb 1-4.3: USB disconnect, device number 62 Feb 19 17:35:21 x1-Carbon kernel: [159765.142626] usb 1-4.3: new full-speed USB device number 63 using xhci_hcd Feb 19 17:35:21 x1-Carbon kernel: [159765.256541] usb 1-4.3: New USB device found, idVendor=0483, idProduct=5740 Feb 19 17:35:21 x1-Carbon kernel: [159765.256548] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Feb 19 17:35:21 x1-Carbon kernel: [159765.256553] usb 1-4.3: Product: BLUEPILL_F103CB CDC in FS Mode Feb 19 17:35:21 x1-Carbon kernel: [159765.256556] usb 1-4.3: Manufacturer: STMicroelectronics Feb 19 17:35:21 x1-Carbon kernel: [159765.256559] usb 1-4.3: SerialNumber: 8D9022774848 Feb 19 17:35:21 x1-Carbon kernel: [159765.258827] cdc_acm 1-4.3:1.0: ttyACM0: USB ACM device No issues uploading new sketches that blink or use the Serial.println() function. All works fine, but I thought it was strange that the device idVendor changed from 1209 to 0483 ? Looks like newer version of the STM package (1.9) in arduino overwrote the HID bootloader.
@CalebMarting3 жыл бұрын
It could also be the fact that when you upload an Arduino sketchwith the settings I describe in the video it creates a serial port. It's possible that's what you're detecting since that isn't initially available when you first upload the bootloader
@MrFatjonable4 жыл бұрын
I'm running into a weird issue with PlatformIO! I can upload the code to the BluePill but only once than the laptop says "USB device not recognized", if I re-flash the bootloader then I can upload the code again but right after that get the "USB device not recognized" error. To get to upload from PlatformIO all I had to do was add "upload_protocol = hid" in the .ini file.
@CalebMarting4 жыл бұрын
There's a lot of options that aren't checked when you use platform IO because there's no gui. Go to 8:30 in the video and I have a config that works kzbin.info/www/bejne/g6rSn2t-ZpZkhrM
@rtelless4 жыл бұрын
Caleb Marting asked you which library for RSA encryption you recommend me to be compatible with a PHP code and the arduinoST I have tried some but they are for AVR and do not work well with the ST, thank you very much
@CalebMarting4 жыл бұрын
If you want it to work no matter what platform, you could use a C/C++ library. That way there is no hardware dependency. Something like this maybe: github.com/andrewkiluk/RSA-Library Let me know if that works
@RC-ij4je Жыл бұрын
Im getting “data read fail”, “GetID command not acknowledged” and “read protection” errors on the stm32cube software on all my 5 blue pills, despite it reading the chip information just fine. Any clues as to what may be happening? Great video regardless.
@michaelharwerth45534 жыл бұрын
I was stuck with the 'Error - [1209:BEBA] device is not found' issue as well and finally could resolve it by setting the "Tools->Port" in the Arduino IDE to the virtual COM port the bootloader had opened. Regardless the fact that the upload does not need the COM port, Arduino IDE seems to do.
@CalebMarting4 жыл бұрын
I might not have been as clear as I wanted to be, for whatever reason Arduino needs comport selected, Even when the upload protocol doesn't actually need it
@JamieJones19854 жыл бұрын
I cannot get this to work on OSX 10.14.6, used STM32Progammmer to do 'Full Chip Erase' then burned hid_generic_pc13.bin. I get the rapid flashing led but it doesn't work from the IDE Searching for [1209:BEBA] device... It's not showing as a USB device with "ioreg -p IOUSB -l -w 0" or "lsusb", other than "Apple Internal Keyboard / Trackpad" I've tried 3 or 4 some with the resistor fix and some without and different usb cables. Spent hours on messing with this without success, any hints?
@CalebMarting4 жыл бұрын
I'm sorry but sometimes hardware is just finnicky... You can turn one of your blue pills into an ST-Link v2 and program/debug with that, which works pretty well. If you want to join the discord linked in the description I can walk you through how to do that
@JamieJones19854 жыл бұрын
@@CalebMarting I might try one of the other bootloaders or a different vendor, or stick with stlink v2. Is it possible use stlink for serial output?
@CalebMarting4 жыл бұрын
Unfortunately you can't use ST-Link for serial, however you can still output serial over the USB port. You can have the ST link and the board plugged in at the same time, just don't plug in the 3.3 volt line from the ST link
@mathieusteketee18808 ай бұрын
Thank you for your great video! Can I use the same STM32 HID Bootloader 2.2.2 for an STM32F405RGT6?
@mikejones-vd3fg Жыл бұрын
Very cool, Im more curiouse to know how a bootloader works what it does and why hasnt stm32 done this for convenience? On the otherhand im flashing fine on my stm32 clone(ch32) through its usb port without an additional bootloader although i have to use their tool for flashing. But after all that i found the stlink actually more convenient since i dont have to unplug and reset jumpers everytime like i have to with usb. Its a miracle i havent lost the jumpers the amount of time its popped out on its own while trying to take it out, its not a matter of if, but when...
@upendrachaudhari46354 жыл бұрын
this was awesome :) works with mac too after installing stm32cubeprog for mac
@CalebMarting4 жыл бұрын
That's why I love the HID bootloader so much more. No drivers and it just (usually) works
@lenaroseguera12413 жыл бұрын
It didn't work for me, when I upload the bootloader and reset the board, the led on pc13 blink pretty fast. Then I tried to upload a sketch and didn't work.
@CalebMarting3 жыл бұрын
I mean it could be a USB cable without data lines, is any device detected when you connect it? The LED blinking means it should be working. You could also try it on another blue pill because sometimes it'll look like it should work but it just won't
@lenaroseguera12413 жыл бұрын
@@CalebMarting it was the USB cable. Thanks. It works now.
@bobflyer43464 жыл бұрын
Caleb Marting, First thanks for you nice video's. I am a NOOB and have used your guide with Win10, STM32F401, I am using the ST-Link V2 with the latest firmware. My question, is the HID method with the STM32F401 board is not listed under the Binaries I downloaded, it has the STMF103 and the STMF407 but not the F401's. Is there a binary file you can point me to for the correct HID files, I have versions 2.2.2 from the github. I have not been able to get the board to function, When I started, the on board led was blinking and the red led was on, now after trying the STM Cube Programmer to load the binary F407, it just showing the red power light now. I have moved the boot switch to the correct position and after STM cube indicated a download complete, I move the boot switch back to its original position. any pointers appreciated Thanks.
@CalebMarting4 жыл бұрын
kzbin.info/www/bejne/mGKUY2ahr8Rmg68 I have a guide specifically for that chip
@jairorodriguezblanco6153 жыл бұрын
Hey. I know this is an older-ish video, but do you know if you can program the blue pill with STMCube IDE? Or with STlink utility or STM Cube Programmer. I just want to upload what I code in the IDE to the board via USB, be it directly or writing the binary file.
@CalebMarting3 жыл бұрын
You could use the command line hid interface to upload bin files directly, though I'm not entirely sure how to do that. It's in the same repo as the the bin file
@jairorodriguezblanco6153 жыл бұрын
@@CalebMarting Thanks! I'll check it out
@artiliam81043 жыл бұрын
hello, not long ago I got the Blue Pill F103C8T6, and I am about to buy an ST LINK V2, but I am not sure what is a Bootloader ? Further I have heard something about decreasing the STM32's capacity. Does the bootloader mean you can use the board with the USB ?
@CalebMarting3 жыл бұрын
I would definitely recommend buying the Stlink, it is worth it. The bootloader let's you upload arduino code over the USB, instead of needing an external programmer. However a bootloader will use 2kB of memory. An ST-Link v2 let's you program easily and debug your code. Also, you can still use the USB for serial output even if you are using an ST-Link, you just can't upload code over the USB without the bootloader. One more thing, if you are using a bootloader and upload code with an Stlink it will overwrite the bootloader and you'll have to reupload it If you want to use it again Hope this helped
@hungarianTEK2 жыл бұрын
very cool, i had so much trouble with this in the past
@mashurshalehin49724 жыл бұрын
Great video man. I have a question. will this also work with cube programmer? I mean can I flash .bin files with cube programmer using the USB?
@CalebMarting4 жыл бұрын
Unfortunately it will not. It won't recognize anything but the default bootloaders on the chip, the ones in ROM
@tcfx444 жыл бұрын
For some reason this works only the first time I upload a sketch after the bootloader was installed. Once the sketch is uploaded in Arduino IDE (PlatformIO as well) I get "Error - [1209:BEBA] device is not found" on all subsequent upload attepmts. The only fix is to upload the bootloader again through STM32CubeProgrammer. What I'm missing?
@CalebMarting4 жыл бұрын
You need to have the correct USB settings as mentioned in the video, such as Usb support. Also if your Sketch us using HID you can get some interference. If you move the boot1 jumper to the one position and press reset, it will put it in bootloader mode and you should be able to upload again.
@tcfx444 жыл бұрын
@@CalebMarting Thanks for answering - yep, the bootloader starts when boot1 jumper is in position one. However I cannot get it to work (after the first upload) in position zero for both jumpers. My PlatformIO settings are as follows: [env:bluepill_f103c8] platform = ststm32 board = bluepill_f103c8 framework = arduino board_build.variant = Generic_F103Cx upload_protocol = hid upload_port= COM14 ;not needed, but the uploader complains without it build_flags = -D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC -D USBCON -D USBD_VID=0x0483 -D USBD_PID=0x5740 -D USB_MANUFACTURER="Unknown" -D USB_PRODUCT="\"BLUEPILL_F103C8\"" -D HAL_PCD_MODULE_ENABLED -Os
@TheBobbykey4 жыл бұрын
it gives "Error - [1209:BEBA] device is not found :(> Searching for [COM7] ..." when uploading without a serial adapter
@CalebMarting4 жыл бұрын
We found two causes for this 1. Defective/knockoff chips 2. Failed upload To fix the 1st, try a different blue pill board, they're so cheap that you should probably just buy them in pairs or triplets. To fix the second, perform a full chip erase in stm32 cube prog and then upload again. You can try it one or two times. More often than not we found it happens with defective chips but it can't hurt to try uploading again after a full erase. We can provide more info in the discord linked in the description
@KaiPosadowsky4 жыл бұрын
Maybe you just try 1.8 of STM32 core, that helped me. 1.9 may have problems with 2.2.2 of the bootloader, maybe.
@SergiyGryb4 жыл бұрын
Thank you for video! ...the issue is that the new STM32 core package produces larger images than the "old" one... So, might be critical for large applications that utilize almost all flash memory; could happen it would not be enough memory to flash a re-compiled app... Also, you do not need Cube to flash bootloader using STLink. You may use STLink utility (available at ST.com) to do it...
@antoniojaramillo12494 жыл бұрын
I have problems !, I get this comment:"Timeout error occured while waiting for acknowledgement. Timeout error occured while waiting for acknowledgement. Error: Activating device: KO. Please, verify the boot mode configuration and check the serial port configuration. Reset your device then try again... "
@finnknauber4 жыл бұрын
Do you still have this error? If you do I can walk you through a fix. If you join the discord (link is in the description) it would make it a lot easier to show you how to fix it.
@kikaz1274 жыл бұрын
Just click the reset button and retry... you have to listen carefully the explanations in the video before posting !
@avendite72064 жыл бұрын
EDIT: Okay, I found out how to fix that! In my case it was bad, cheap chineese clone of programator PL2303. If you have one of these, you need to find drivers from 2008 (3.3.2.105). They will work on Windows 10. The new ones just block the chineese versions from working. Aside from that, check all the cables if they stick, and don't forget to choose the correct port, in Cube32Programmer in UART configuration, check if other COM ports appear :)
@arniep7404 жыл бұрын
I have tried this and ran into a brick wall when I could not get a CONNECT when clicking on the green button in the STM32CubeProgrammer. I am using a ST-Link32/V2 clone which had been working fine until today. I didn't change anything, but I can no longer program my blue pill with it. I am on W10 and it recognizes the dongle as does STM32CubeProgrammer, which does read the serial number of the dongle. Does anyone have any ideas of how to get this bootloader onto my blue pill? Thanks!
@CalebMarting4 жыл бұрын
Maybe the clock and data lines were reversed? Otherwise maybe try upgrading the firmware or plugging in the USB and ommiting the 3.3 line
@berktopbas14964 жыл бұрын
I have an error at the connection process with ST-LINK V2 via STM32 Cube Programmer : "OLD ST-LINK firmware, please upgrade it befrore trying to reconnect". And when i click the upgrade firmware button this appears "ST-LINK is not found in DFU mode. Please restart it." Any idea how to fix it?
@CalebMarting4 жыл бұрын
I think when it says "please restart" just unplug and replug the ST-Link and try again. You may have to be quick but I don't believe it matters, it should lock it in DFU mode
@CalebMarting4 жыл бұрын
We had an issue like this before on the discord.If you want to join I can help you figure it out there (link in description) otherwise how he fixed it was copying the downloaded hid flash from GitHub into where it expects it in the Arduino15 folder (I forget exactly what subdirectory though)
@Cptnbond4 жыл бұрын
Please, do a vid for latest Black Pill (weact studio v3) with STM32F411CE...find it very hard to even get arduino blinky to work properly, but ST-link/v2 say it uplosded uploaded code..
@lenaroseguera12413 жыл бұрын
Is there a way to make an usb Hid device with this bootloader? UsbComposite library is incompatible :(
@CalebMarting3 жыл бұрын
You can go back to the old core mentioned in my previous video on the topic, although I don't know if you'll be able to use this specific bootloader then
@CalebMarting3 жыл бұрын
Although I think it is possible to use it as a keyboard and or mouse if you set the USB in the tools menu to hid and use the built-in keyboard or mouse library
@CPlusTravel4 жыл бұрын
For STlink V2, which position should the jumper set during loading the hid library file?
@turkuas236263 жыл бұрын
Am i the only one who cannot communicate with bluepill over uart? No matter what i tried, it didnt work. I checked A9 and A10 if they are connected to stm chip with multimeter and yes they are. When it is not bootlader mode it just blinks, when it gets bootloading state no respond at all.
@CalebMarting3 жыл бұрын
Do you have another blue pill you can test with? Sometimes there are defective blue pills, the chips on them especially
@sunilvignesh84594 жыл бұрын
Hi, I receive this on repeated tries. i am using in windows10 Trying to open the [COM3]... > Unable to open the [COM3] > Searching for [1209:BEBA] device... ########## Error - [1209:BEBA] device is not found :(> Searching for [COM3] ... Error - [1209:BEBA] device is not found :(> Searching for [COM3] ... > Finish the COM3 was my TTL
@CalebMarting4 жыл бұрын
So that com3 error means nothing, it's just a side effect of how Arduino typically uploads. You're mainly interested in the device not found error. That can be caused by an upload of the bootloader that didn't function properly, so first try reuploading the bootloader. It can also be caused by a faulty device so if you have another blue pill please try that too
@sunilvignesh84594 жыл бұрын
@@CalebMarting Hi, I found the result. it is because of fake stm32ic. I have tried in 5 boards only two was working directly with serial bootloader
@OpenLogicEFI Жыл бұрын
The way you address the comments section is hilarious!
@arniep7404 жыл бұрын
Thank you for this video. My question is whether, after I install this bootloader using the method you describe, will I be able to then compile and upload a sketch that requires the dan brown board manager? What do you think?
@CalebMarting4 жыл бұрын
I believe you can use the HID bootloader with the dan brown core but have not tried
@van-nhantran19153 жыл бұрын
Another common problem for Mac user (I know how you feel), if you have tried everything mentioned in the video and it says something like the COM port is busy, try changing the USB-C port with another one. Sometimes it just works.
@pruthviraaj7353 Жыл бұрын
NOT WORKING!!! My Arduino IDE throws an error saying "Failed uploading: no upload port provided". I used ST-Link V2
@iMoD1998 Жыл бұрын
After you flash the bootloader you need to hook it back up to the TTL converter and select the COM port and then try uploading in arduino IDE. It then begins to flash something else and it will finally work.
@Vandebilt2 жыл бұрын
The Github link in the description is broken and not valid anymore.
@surenbono60634 жыл бұрын
...I recently got 2 pcs of the infamous bluepill...but both had different chip Id by country..1st one chn other mlys ..both did not work with ftdi..later The mlys worked with stlink ..later on ftdi after pc13 bootloader install..but the chn came with 128kb of uneraseable bootloader detected under hotplug cube programmer.only..normal mode get no target...how to fix it..?
@surenbono60634 жыл бұрын
...I got it fixed today....ftdi...check unprotected mode... download bootloader via cubeprogrammer...yeeay
@EdFrench_uk3 жыл бұрын
The PIO instructions need another build flag for me: -D USB_PID=0x0100 was needed. Thanks
@alnoorratansi93643 жыл бұрын
Hi, Great Tutorial. How can we do the same thing to Maple mini which does have any jumpers ?
@CalebMarting3 жыл бұрын
static.leaflabs.com/pub/leaflabs/maple-docs/0.0.12/bootloader.html This page says you need to tie pin 2 to ground (boot 0) and in the process would be the same. Although I believe the maple mini comes with a bootloader, and you may want to use their official bootloaders as well
@alnoorratansi93642 жыл бұрын
@@CalebMarting YES that worked, Thanks
@bennguyen13134 жыл бұрын
I've been playing with the Blue Pill and the St-Link Flash utility, and I think I might have erased chip including the built-in embedded boot loader.. is that possible? The reason, when I switch the BOOT0 jumper to 3.3v and power the board, I see the UART1 TX pin from the Stm32 stay LOW... but I've read that if the ROM bootloader is running correctly, its TX line output should idle HIGH. I tried sending 0x7F (even parity) anyways, but no luck.. no (0x79) response from the chip on UART1 (B7/B6). I also tried UART2/3 (A3/A2, B11/B10). Is there a way to verify if the embedded bootloader is still there.. or restore it if I've clobbered it? As a test, I was thinking jumping to the bootloader from my application but I can't find the address where to jump. AN2606 says the for medium density devices like the F103C8, that the chip id is 0x410, but only lists the *bootloader id*/address (0x10/0x1FFFF7D6).
@CalebMarting4 жыл бұрын
The UART bootloader is in rom and cannot be erased. However the chip itself could be fried for some reason. Do you have an ST link or another blue pill? You can make the blue pill into an ST link and potentially still upload code to the one that's messed up. I should have a video coming out about that soon
@bennguyen13134 жыл бұрын
@@CalebMarting yes, the chip seems to operating otherwise normally.. I can still program it with the st-link (swd interface). Long-shot, but perhaps it is in DFU mode, but somehow thinks the upgrade is coming from USB/CAN/I2C/SPI and therefore its disabled the uart? Seem unlikely as aside from power via the usb-micro, all the other pins are open.. but not sure what else to make of it!
@CalebMarting4 жыл бұрын
Those pins might have just been fried too cuz I've heard other people have fried only specific pins. Very weird. Perhaps there's some sort of protection feature? Maybe you could use STM32 cube programmer to do a full chip erase, see if that helps
@bennguyen13134 жыл бұрын
@@CalebMarting Thanks, you gave me a great idea.. test the pins by writing a program that uses UART1... as I was doing that, the Device Configuration Tool shows UART1 to be on P10/P9! Using those pins, the DFU worked! I goofed when I was using a very colorful popular pinout diagram of the blue pill that shows RX1/TX1 on B7/B6..I thought the outer most columns were the default pins, and alternate functions on the inner ones... apparently, that's not the case!
@henrycheung69604 жыл бұрын
Thanks for the video. One question, with HID bootloader, do you still need to move the boot0 jumper each time when uploading the sketch?
@CalebMarting4 жыл бұрын
No, The HID bootloader is essentially a sketch that can store more sketches alongside of it. it will run the hid bootloader to start and then it'll start running your uploaded code. because that hid boot loader is always running you won't ever need to move boot zero
@the_emmo4 жыл бұрын
Will this work for flashing a Keil uVision project via USB? (not from the Arduino IDE)
@CalebMarting4 жыл бұрын
I don't believe so... it could probably be set up but not easily, or worth the $2 of an ST Link V2
@sumit_kashyap..4 жыл бұрын
Man please help me I followed you instructions but I not able to find stm32 cores in labrary manager .. as in you video 1:37
@CalebMarting4 жыл бұрын
Did you add the designated URL into the additional board manager URLs? It's in the description
@sumit_kashyap..4 жыл бұрын
@@CalebMarting Yes I tried many times but still doesn't work
@CalebMarting4 жыл бұрын
That's... Very odd. If you could join the discord in the description it would be easier for us to help you.
@alexanderwolfe87824 жыл бұрын
@@CalebMarting I can confirm the process leading up to 1:37 doesn't currently work. Tried on latest arduino version. The 'stm32 cores' package just isn't there. Which is weird because the link to the json file is good and as far as I can tell the json file doesn't have any broken links, nor has it been changed since your video. Otherwise, great videos, thank you!
@KimuraSetsuna4 жыл бұрын
HELP!!!! I couldn't even get the blink to work with the serial line, but stm32cube was able to detect the device so I uploaded the boatloader(if I didn't screw it up), but I still couldn't used it, there is no new device detect on my device manager!!!!
@CalebMarting4 жыл бұрын
There might be something funky going on with your board, unfortunately quality control on these really isn't that great, they should at least be bought in pairs. Does your LED blink fast when it's plugged into the computer? If it's not blinking really fast when you first install the bootloader then it won't work. Do you have another blue pill you can try it on?
@KimuraSetsuna4 жыл бұрын
@@CalebMarting Sadly, this is my first time working with blue pill, I only bought one. Yes the LED did blink very fast.... I did accidentally succeed once using serial flashing with arduino IDE, but it was only a empty prog with only the two empty function(setup / loop). It went through only once. Other time, it would return Error: Write address not acknowledged: 0x8000B00 I think there is something wrong with the flash memory, I tried to read the memory with stm32cubeprogrammer, certain address return the same error as above, but was able to read sometimes if I repeat it a number of times.
@CalebMarting4 жыл бұрын
I would recommend buying another blue pill and an ST-link V2. Both of those together should only cost like five bucks if you live in the US
@KimuraSetsuna4 жыл бұрын
@@CalebMarting I always envy americans when it is about electronics. Sadly, I did not live in the States. But truely, I agree that I need to buy proper component especially this is my first time using it. Thanks for the advice :D
@CalebMarting4 жыл бұрын
No worries. If you want you can join the discord that's linked in the description of the video. We have a lot of people from all over the world, beginners and more advanced people alike. It's a great place to ask questions, especially if it's your first time using it
@paul.alarner641015 күн бұрын
where do i find the binarys you mention?
@HoangoKidZero4 жыл бұрын
In my case, I have to choose a COM port in order for the uploading process to be successful. Do you know why that is?
@CalebMarting4 жыл бұрын
I think It uploads fine The first time without a com port selected for me, but then I have to have it selected too. I think the reason is Arduino has an old check that makes sure there's a com port selected when uploading because It was designed for the AVR chips that upload over com
@jozkokalny6544 жыл бұрын
Hi Caleb, i am getting the following error Timeout error occured while waiting for acknowledgement. i tried all of your troubleshooting suggestions but didnt work, please help
@CalebMarting4 жыл бұрын
Do you have another blue pill? The quality control on the boards sometimes isn't great
@jozkokalny6544 жыл бұрын
@@CalebMarting @Caleb Marting no, i have a few more on the way, however, i figured out how to use stlink v2 with arduino without the bootloader
@EdFrench_uk3 жыл бұрын
Thanks for the useful video BTW
@simonsunnyboy4 жыл бұрын
Thank you for this tutorial. I could make it work under Linux (XUbunut 18.04) but I have some remarks: $ uname -a Linux mybox 4.15.0-99-generic #100-Ubuntu SMP Wed Apr 22 20:32:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux - The STM32 Cube Programmer doesn't work here under Linux but I could flash the HID bootloader binary without problems using the st-flash utility via my ST-Link clone. I did this outside of the Arduino IDE, it was as simple as "st-flash write hid_generic_pc13.bin 0x08000000" on a blank Blue Pill - The udev rule configuration for proper detection of the HID bootloader as described on the bootloader github should be in place and active before opening the Arduino IDE. - The created virtual COM port seems to jump back and forth (/dev/ttyACM0 and /dev/ttyACM1) if the reset button is pressed or the cable is reconnected. - Using the virtual COM port works only after the flashing. One cannot open the COM port and flash in parallel, e.q. open the serial monitor later. It may even be necessary to change the COM port. - I get kernel messages and error messages inside the IDE regarding the COM port. [ 6021.100121] xhci_hcd 0000:00:14.0: WARN Cannot submit Set TR Deq Ptr [ 6021.100124] xhci_hcd 0000:00:14.0: A Set TR Deq Ptr command is pending. [ 6021.102143] xhci_hcd 0000:00:14.0: WARN Cannot submit Set TR Deq Ptr [ 6021.102146] xhci_hcd 0000:00:14.0: A Set TR Deq Ptr command is pending. [ 6021.104120] xhci_hcd 0000:00:14.0: WARN Cannot submit Set TR Deq Ptr [ 6021.104123] xhci_hcd 0000:00:14.0: A Set TR Deq Ptr command is pending. - Uploading does not always work. It requires retries due to the described "Couldn't locate :BEBA device"), a lot more than anticipated by the video's description. Kernelside device detection looks like this: [ 6021.575132] usb 1-5.1.4: new full-speed USB device number 35 using xhci_hcd [ 6021.676533] usb 1-5.1.4: New USB device found, idVendor=1209, idProduct=beba [ 6021.676538] usb 1-5.1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 6021.676540] usb 1-5.1.4: Product: STM32F HID Bootloader [ 6021.676542] usb 1-5.1.4: Manufacturer: www.serasidis.gr [ 6021.678371] hid-generic 0003:1209:BEBA.000E: hiddev3,hidraw6: USB HID v1.11 Device [www.serasidis.gr STM32F HID Bootloader] on usb-0000:00:14.0-5.1.4/input0
@lezbriddon4 жыл бұрын
i cant find my st link dongle and i dont have a serial adaptor, i do have a lot of nanos' megas and wemos bits and even something labeled usb asp.......
@CalebMarting4 жыл бұрын
I haven't quite figured out how to use another mcu as a serial adapter to program, but if you can find a sketch that lets you do it, please let me know! It certainly seems possible but I don't know the speeds
@rtelless4 жыл бұрын
Hello. Thank you very much for the video. This is excellent. My question is: how do I activate the serial 2 and serial 3? I put it in the ide but it does not compile (it gives me an error)
@CalebMarting4 жыл бұрын
You are talking about hardware serial right? There is a HardwareSerial constructor so you can do something like HardwareSerial ( rx, tx) Serial2; or something and use it as normal. (Serial2.begin(9600))
@rtelless4 жыл бұрын
@@CalebMarting Thank you very much for your answer, I comment for example: ///////////////////////// void setup () { Serial.begin (9600); Serial1.begin (9600); Serial2.begin (9600); delay (3000); } void loop () { } ////////////////////////////// error by serial2, according to the pinout this chip has up to serial3 right?
Excellent! Can I use stm32cubeide for programming and upload that loader? Where I could see instruction?
@CalebMarting4 жыл бұрын
You can probably set it up but I haven't seen anyone get that working yet. You'd basically need to have a script that runs for upload when the binaries are generated. Again I'm sure it's possible. I would recommend an ST Link V2 if you actually want to use STM32 cube IDE
@dmitr81944 жыл бұрын
@@CalebMarting I use ST Link v2 for debugging, I try making custom board. I wanna upload code from flash memory also. Thanks for advice anyway
@shmerlard6 ай бұрын
Bro you are the king
@maty-ro7wy4 жыл бұрын
// This method did not work for me, I was able to finish the process and load the "Blink" example, but after loading my own code, the PC did not recognize the blue pill board. I have resorted to your previous video (2018), and the previous method has worked for me wonderfully.
@KaiPosadowsky4 жыл бұрын
Try again but with 1.8 of core and not 1.9. This worked for me. //Edit: I was able to update core to 1.90. Maybe the root of my problem was solved by installing a driver for STM32 device. My system recognizes the pill as a generic serial device that helps Arduino when searching for it.
@raulkompass27734 жыл бұрын
I possibly had the same problem: My Bluepill could send messages via serial over ttyACM0 but it was not possible to flash it a second time. The bootloader was not active anymore (no fast blinking), but the slow blinking occurred according to the example I had programmed. The Solution was to reset the board (or power it up) while the BOOT1-jumper was set to 1. The other jumper! Then the fast blinking reoccurred and I was able to flash it with HID Bootloader method. After resetting I could set the Jumper back to 0. Thus after reprogramming the board the USB-Serial automatically re-activated. Perhaps this should be added to the instructions. Now I'm very happy with the solution: Small bootloader and defined switching to programming via jumper. No STLink or USBtoSerial adapter needed anymore. Many Thanks Caleb.
@melgreenhalgh51753 жыл бұрын
@@raulkompass2773 Thanks dude : )
@alnoorratansi93642 жыл бұрын
Can you update your guide for ver 2.01 Arduino IDE, please, Thanks
@henninb3 жыл бұрын
Fabulous video, i am a fan of the blue pill.
@samuelchiengkienho36213 жыл бұрын
Hi Your video on STM32F103 is brilliant, it helps a lot. Both programming and native are combined into 1 port after installing the HID bootloader. Appreciate your video. Do you also have a video that guide us on STM32F407 board?
@CalebMarting3 жыл бұрын
It should be almost exactly the same process, just using the f407 bootloaders instead. I've never used one of those boards though. What are you confused on?
@okflyer7772 жыл бұрын
The "Additional Board Manager URL" link is broken
@manuel_youtube_ttt4 жыл бұрын
Even though I had uninstalled all smt32-related stuff from the UI, I still had in the `C:\Users\MyUser`Documents\Arduino\Hardware` some folder called Arduino_SMT32-master that I surely put there some day in the past from some other method. That's also the reason why my UI in "Tools" looked different than the one showed by Caleb. Once I deleted the folder, my UI started looking normal again and I was able to select all the right options that he showed. Finally, I had to manually select the right COM port at the time of my second upload and that was it now my Blackpill f103C8T6 works perfectly as the Bluepill shown in the video.
@CalebMarting4 жыл бұрын
Do any devices show up in the device manager when you plug it in? That's very interesting. Try moving the boot one jumper to the one position and seeing what happens
@manuel_youtube_ttt4 жыл бұрын
@@CalebMarting Sorry I edited my comment to make it more concise after I found my mistake, I think you answered to the original one. However... now I tried uploading my own sketch instead of a simple led+Serial and I've lost the COM port that had appeared and I'm unable to program the Blackpill again (the "1209:BEBA" error).
@manuel_youtube_ttt4 жыл бұрын
@@CalebMarting I found why my sketch did that: "Wire.setClock(400000L)". Apparently that's the cause. When I don't have it, my bootloader continues working for another round.
@estianzietsman33234 жыл бұрын
What would you need to upload when using the STM32F303 ? Could the same bootloader be used as the Blue Pill?
@CalebMarting4 жыл бұрын
I'm not sure, someone else was trying the f303 and couldn't get it to work with this or with my f401 video. I would recommend getting an ST link V2, it's well worth it
@estianzietsman33234 жыл бұрын
Could i use that to program it with its Cube IDE ? Thanks for the reply btw
@CalebMarting4 жыл бұрын
Yep! That's actually what you are supposed to use
@pranavmokashe16374 жыл бұрын
sorry but one last question . Does the USB connection get disconnect and connect during the upload process ? please reply?
@CalebMarting4 жыл бұрын
No worries, I don't know, typically that doesn't happen to me. You can try uploading the bootloader again, and if you want try doing a full chip erase using the cube programmer and then uploading the bootloader again. Also check to see if your chips are a knock off, they might say CKS or something instead of ST
@pranavmokashe16374 жыл бұрын
@@CalebMarting thanks a lot ! man!!
@chrisj03 жыл бұрын
Worked for me! I've never done any microcontroller work and got a bluepill (against advice of the interent) to get started. This tutorial was easy to follow and I got everything working and the example code prints to the serial monitor. Thanks! I'll subscribe too see what else you do with the blue pill.
@jdmech07 Жыл бұрын
DUDE - Thank you so much!!!
@hiotis753 жыл бұрын
Not working at all for me...either on Windows 10 or MacOS. Bootloader working successfully but this business about the virtual com port...is that a software driver that needs to be installed from STM? Otherwise, device not detected at all...
@CalebMarting3 жыл бұрын
The com port should have the driver by default on Windows 10. When you first install the bootloader though, the com port will not be there. This is because uploading with the settings described, generic CDC supersede usart and USB enabled will create the com Port when a sketch is uploaded for the first time. However sketches are actually uploaded over a hid device meaning that you don't actually need a com port to upload code. However Arduino is a little janky and requires a com port be selected if one's available.
@hiotis753 жыл бұрын
@@CalebMarting I tried following the method exactly...it all works, the green LED on the STM32 is flashing...but no go. On Windows 10, I get the message that the USB device is not working properly. What environment did you use in your video?
@CalebMarting3 жыл бұрын
It does sound like everything's working correctly. Do you have another blue pill you can try it out on? Sometimes it's just the pill itself that is Dead on arrival. I was using Windows 10 if that's what you're asking
@hiotis753 жыл бұрын
@@CalebMarting They are almost certainly clones, but they work in the sense that I can program them with the FTDI board. I found another video using the Flashloader software, but they had links to a different generic boot file. Seems to work slightly better in the sense that my MacOS can detect it when I plug it into USB...but I cannot program it. On the Windows machine, same problem...I get that error message that the USB driver had a problem. I think I'll just set this aside and continue working with the FTDI board for now.
@CalebMarting3 жыл бұрын
Sounds good, I also have a video that shows the older version. From what I've found many boards will work , but if something's broken it's the USB that's the first thing to go.that means a board can still execute the blink sketch just fine but it'll have trouble connecting to the USB. The fact that they are clones might not be what's causing the issue, it might just be the USB peripheral doesn't work
@eyeversion4 жыл бұрын
bootloader worked fine but windows 10 doesn't detect my blue pill. Error: Unkown USB Device(Device Descriptor Request Failed)
@CalebMarting4 жыл бұрын
Unfortunately some blue pill chips are knock-offs or they were not functioning correctly which is why they got turned into blue pills. We've had a few people with this issue unfortunately. Can you try it on a different blue pill?
@eyeversion4 жыл бұрын
Caleb Marting thanks for responding, the funny bit is I can still use Arduino and through ftdi do a blink sketch. Due to virus situation I cannot get new one, for now I will continue with ftdi. Next month will get few of these to test further.
@eyeversion4 жыл бұрын
@Daniel Romila Hey good to hear and thanks for the link, let me read through. meantime, the update is that I am now ready with my experimental code and waiting for amazon to resume shipping. I am going for ST Link with debugger, it will be a one-time solution.