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

  Рет қаралды 267,601

Caleb Marting

Caleb Marting

Күн бұрын

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

Пікірлер: 483
@duprod5482
@duprod5482 6 жыл бұрын
I really like the detail of the LED blinking in sync with the music at the end.. :)
@CalebMarting
@CalebMarting 6 жыл бұрын
You are the first person to notice! You get a cookie
@macieksoft
@macieksoft 5 жыл бұрын
2:35 Don''t hold the board like this! You can make short circuit with metal tools!
@CalebMarting
@CalebMarting 5 жыл бұрын
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 жыл бұрын
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
@markcummings150
@markcummings150 2 жыл бұрын
I’m just getting started with these devices, so this info is exactly what I need to get past the initial hurdles.
@MatejBosansky
@MatejBosansky 5 жыл бұрын
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.
@RakshithPrakash
@RakshithPrakash 6 жыл бұрын
Wow this video is art, so precise and perfectly explained!!
@CalebMarting
@CalebMarting 6 жыл бұрын
Thank you!
@baconocalypse
@baconocalypse 4 жыл бұрын
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
@brotschuh
@brotschuh 6 жыл бұрын
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
@MrBirinco
@MrBirinco 6 жыл бұрын
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.
@elChico-TV
@elChico-TV 6 жыл бұрын
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 жыл бұрын
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.
@donpgibson
@donpgibson 6 жыл бұрын
Thank you for your clear explanation on how to do this. A real time saver!!!
@CalebMarting
@CalebMarting 6 жыл бұрын
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?
@torresm8438
@torresm8438 6 жыл бұрын
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 жыл бұрын
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!
@SalarAzad
@SalarAzad 6 жыл бұрын
Great explanation Sir, that was very helpful. You should definitely do a series about the STM32 boards and development.
@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.
@jlaroche0
@jlaroche0 6 жыл бұрын
Fantastic video! You're the man. So happy people are recognizing the utter awesomeness of the STM32!
@EdwinFairchild
@EdwinFairchild 6 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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
@PeterAbt
@PeterAbt 5 жыл бұрын
very satisfying led-music sync at the end! 🤩 and great, informative video btw, thank you!
@dave-in-nj9393
@dave-in-nj9393 4 жыл бұрын
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.
@kosa2004
@kosa2004 4 жыл бұрын
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 4 жыл бұрын
No problem! There is actually a new bootloader version and I'm working on a new video so stay tuned!
@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. kzbin.info/www/bejne/g6rSn2t-ZpZkhrM
@TheBodysome
@TheBodysome 5 жыл бұрын
That final send off image, I will never see emojis the same
@klazzera
@klazzera 5 жыл бұрын
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 жыл бұрын
Interesting, thank you for your knowledge!
@samuellehmann4914
@samuellehmann4914 5 жыл бұрын
This has helped! Thank you :)
@klazzera
@klazzera 5 жыл бұрын
@@samuellehmann4914 you're welcome, i'm happy to hear someone to benefit from my discovery
@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. =)
@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 !
@WhatAmIGonnaGet
@WhatAmIGonnaGet 5 жыл бұрын
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.
@CalebMarting
@CalebMarting 5 жыл бұрын
Researching this topic now!
@alfasih
@alfasih 3 жыл бұрын
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
@jean-marclugrin1902
@jean-marclugrin1902 6 жыл бұрын
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 😀
@dzee9481
@dzee9481 4 жыл бұрын
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.
@robertcoyle1532
@robertcoyle1532 5 жыл бұрын
Nice job Caleb...straight to the point and no bullshit.
@stephenremillard9462
@stephenremillard9462 5 жыл бұрын
I was about to toss my SMT32 in the trash but your amazingly useful video saved it. Thank you!
@TheChrisey
@TheChrisey 4 жыл бұрын
Why would you do that? Those chips are awesome.
@UpcycleElectronics
@UpcycleElectronics 4 жыл бұрын
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 4 жыл бұрын
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!
@accountdeactivated5486
@accountdeactivated5486 6 жыл бұрын
Absolutely perfect tutorial, exactly what I was looking for. Thank you! Btw there is a 5V pin on the STM32 Module
@ctjet99channel
@ctjet99channel 6 жыл бұрын
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 жыл бұрын
It is safe, the 5V pin just goes to a LDO that regulates it to 3.3V
@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 :)
@reinermunch5159
@reinermunch5159 6 жыл бұрын
yeah, it works. Great job. Thanks a lot. Now I can jump over to stm32 easily
@sadashivkamath
@sadashivkamath 5 жыл бұрын
Great Video and well presented...! Quite informative & crisp..!!
@dwisaputra5936
@dwisaputra5936 5 жыл бұрын
perfectly explained ..... thanx man, ur video really helped my time
@KarelQuast
@KarelQuast 6 жыл бұрын
It really works. Thank you so much for step-by-step guide for dummies :-)
@seanocansey2956
@seanocansey2956 5 жыл бұрын
This vid is really well explained and easy to follow 👍🏾
@LKbrilliant
@LKbrilliant 6 жыл бұрын
Works like a charm.!! Thanks
@sajjsamm
@sajjsamm 5 жыл бұрын
thank you very much, after watching that video I was able to run my STM board finally!!
@pflanzgarten
@pflanzgarten 5 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
Basically the USB can't reset it and therefore it can't find the right DFU device
@dansdroids4067
@dansdroids4067 4 жыл бұрын
@@CalebMarting Thank you. Is that the resistor hack that ive seen others doing?
@CalebMarting
@CalebMarting 4 жыл бұрын
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?
@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
@brianhenning2014
@brianhenning2014 6 жыл бұрын
Detailed instructions, worked great!
@GameProgrammer79
@GameProgrammer79 4 жыл бұрын
Thanks for the video. quite useful and subscribed a thumbs up
@anibalvilelarj
@anibalvilelarj 6 жыл бұрын
Congratulations ! Great work. It worked fine for me. Thank you !
@hseegreen
@hseegreen 4 жыл бұрын
Suscribed! excellent description in excellent way! :)) Thanx
@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/
@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.
@ramadoingstuffs8135
@ramadoingstuffs8135 4 жыл бұрын
Perfectly work. Thank you so much!
@CJ-tv9hd
@CJ-tv9hd 6 жыл бұрын
Mmmmmmm.... Absolutely splended! I am the globaglinkgalub, the shubbleduble...
@TheWhitde
@TheWhitde 5 жыл бұрын
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 5 жыл бұрын
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
@arifindobson
@arifindobson 6 жыл бұрын
This is superb, awesome and amazing.
@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 жыл бұрын
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 жыл бұрын
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
@wiktorjaworski1710
@wiktorjaworski1710 Жыл бұрын
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 Жыл бұрын
You'd have to check the data sheet, I think it only supports uart for upload, check the bootloader section in the chip sdatasheets
@TheSalesEngineer
@TheSalesEngineer 6 жыл бұрын
"multimmiter" *shivers*
@CalebMarting
@CalebMarting 6 жыл бұрын
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 4 жыл бұрын
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
@rezamjj
@rezamjj Жыл бұрын
Hi, I have an .ioc file, how can I transfer it to blue pill with this method (using usb to ttl)?
@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!
@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 жыл бұрын
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.
@insanet3
@insanet3 5 жыл бұрын
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 4 жыл бұрын
​@@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 4 жыл бұрын
You are exactly right, I had the same experience as you
@CalebMarting
@CalebMarting 4 жыл бұрын
Thank you for your insightful comment!
@gaborm4767
@gaborm4767 4 жыл бұрын
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"
@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
@AlexanderLang1980
@AlexanderLang1980 4 жыл бұрын
Thanks for this video...I got things working ;)
@CalebMarting
@CalebMarting 4 жыл бұрын
You're welcome, that's why I made it!
@MejoradoLopezJonathan
@MejoradoLopezJonathan 5 ай бұрын
this tutorial works for the programs in the stm32cubeide?
@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?
@gauravapte5126
@gauravapte5126 6 жыл бұрын
thanks man.u made my day
@CalebMarting
@CalebMarting 6 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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?
@testingbeta7169
@testingbeta7169 5 жыл бұрын
thankyou for making world easier place :)
@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 .
@doates625
@doates625 6 жыл бұрын
Every other "Getting Started" tutorial including the wiki is nonsense garbage thank you so much.
@CalebMarting
@CalebMarting 6 жыл бұрын
Thank you! I got fed up so I made this video. If you can think of anything else that would be a good video please share and I'll see what I can do
@doates625
@doates625 6 жыл бұрын
@@CalebMarting How about a video on going under the hood and doing bitwise digital IO? I've been researching that for some high-speed applications!
@akarshagarwal4516
@akarshagarwal4516 5 жыл бұрын
Great work. subbed and liked
@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
@das250250
@das250250 5 жыл бұрын
@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 5 жыл бұрын
Apparently I am, I just didn't like having my fat fingers in the way
@SamuelJohnsonBungie
@SamuelJohnsonBungie 4 жыл бұрын
You had me at delete system32 😂
@Levisgil47
@Levisgil47 6 жыл бұрын
Thanks for your comment. Specially this comment at 5:15 which is the main cause of faillure for most of us...
@CalebMarting
@CalebMarting 6 жыл бұрын
No problem! Glad I could help
@kennedyplan7414
@kennedyplan7414 5 жыл бұрын
what is the required value for R10? and what value of paralleled resistors that you used?
@CalebMarting
@CalebMarting 5 жыл бұрын
I didn't have to use any special resistors. I just press the reset button. You should be able to find the right values on the wiki if you still need to though
@TheNikhilmishras
@TheNikhilmishras 5 жыл бұрын
TIL! Thnx for the info! Are there any disadvantages to using the serial port method (apart from inconvenience)? Because I might need that extra 20kb of space. Great video thnx!
@CalebMarting
@CalebMarting 5 жыл бұрын
It's not the most reliable. I would definitely recommend picking up an ST-Link v2 if you are going to be using these a lot, otherwise serial works just fine and you can upload with that whenever even if you install the bootloader
@omniyambot9876
@omniyambot9876 4 жыл бұрын
How do you deal with fake FTDI drivers?
@CalebMarting
@CalebMarting 4 жыл бұрын
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 жыл бұрын
@@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.
@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!
@mattjmwmatt
@mattjmwmatt 5 жыл бұрын
Hello, do you happen to know or plan to make a video on nrf24 for stm32?
@CalebMarting
@CalebMarting 5 жыл бұрын
I wasn't planning on making a video for it. If I had one I would but i don't have an nrf24 at the moment. If you make any progress we could work together to make a video for it, however
@Jeroen1278
@Jeroen1278 4 жыл бұрын
Great explanation, thanks.
@ashif2997
@ashif2997 6 жыл бұрын
thank you, caleb, it's awesome
@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!
@avejst
@avejst 5 жыл бұрын
Nice job an video Thanks for sharing :-)
@Shubham-po2tp
@Shubham-po2tp 3 жыл бұрын
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 3 жыл бұрын
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-po2tp
@Shubham-po2tp 3 жыл бұрын
@@CalebMarting Thank you so much...
@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 жыл бұрын
@@CalebMarting i got it thanks . I never thought you will actually reply so early . I'm quite impressed 😄😄 thumbs up for that !!! .
@oskimac
@oskimac 6 жыл бұрын
Just subscribed. Nice.
@TheChrisey
@TheChrisey 4 жыл бұрын
Arduino doesn't have USB support either. There is an onboard UART to USB interface that handles it. Btw you can use the arduino as a USB to UART adapter, no need to buy one.
@CalebMarting
@CalebMarting 4 жыл бұрын
I tried getting the Arduino Uno to work as an adapter but I couldn't get it to work with STM32 flash loader demonstrator. If you could get it to work I'd be really happy to hear how you did it!
@TheChrisey
@TheChrisey 4 жыл бұрын
@@CalebMarting The way I've done it before is through SoftwareSerial, and then simply redirect data between those pins, and pin 0 and 1 which is hard wired to the interface chip. After that, just treat the arduino as a COM port on the computer side. I did it years ago, but I'll try to dig up my old blue pill and arduino tomorrow and see if I can get it working again to confirm
@TheChrisey
@TheChrisey 4 жыл бұрын
@@CalebMarting So here is a major issue I found today with the blue pill. Even tho the serial pins are 5v tolerant, they do not work with 5v TTL adapters. They need 3.3v for the RX and TX. I got it working with the arduino chip with a voltage divider. It was so frustrating because I ended up spending 20 bucks on an FTDI adapter from the local store that happened to have a 3.3v switch on it. Flipping it finally allowed me to receive data from the blue pill. If I switch it to 5v it doesn't respond. So many guides out there fail to mention this.
@wonkastudio-johnny
@wonkastudio-johnny 4 жыл бұрын
do you know anything about unlocking the hidden 64k flash on these boards ?
@CalebMarting
@CalebMarting 4 жыл бұрын
I wasn't able to figure it out
@kawur1
@kawur1 6 жыл бұрын
Nice! It worked! Thanks a lot
@CalebMarting
@CalebMarting 6 жыл бұрын
Wouldn't have made a video if it didn't work ;p
@austinfennacy
@austinfennacy 6 жыл бұрын
do the mini series! I'd love to know what arduino libraries work on STM32 without changing code
@CalebMarting
@CalebMarting 6 жыл бұрын
Any specific libraries I should cover?
@austinfennacy
@austinfennacy 6 жыл бұрын
hm, I would split it into two categories, probably some common libraries and some libraries that examine arduino-STM32 hardware overlap. some common ones, maybe NeoPixel libraries or MPU6050 (or any popular IMU) or LED? and as far as hardware goes, I know for example ATtiny85 doesn't have SPI built into the hardware so you have to mod the functionality with software, so maybe with the STM32 you could examine if the hardware for features like SPI, I2C, interrupts, etc all function well with the arudino libraries that use them To be honest I'm not sure if this will make an interesting video or not, I just know that I've heard not all Arduino libraries work out of the box on STM32. Maybe you could try to create a project that the Arduino doesn't have enough pins / interrupts / etc?
@CalebMarting
@CalebMarting 6 жыл бұрын
Hmmm, I just got neopixels working so I think I'll start there. We'll see what happens!
@ishanmadhav2471
@ishanmadhav2471 6 жыл бұрын
Thanks for the help man
@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 жыл бұрын
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
@DAILYTECHNEED
@DAILYTECHNEED 6 жыл бұрын
you mean now you can upload code directly by an usb cable without the FTDI?
@ctjet99channel
@ctjet99channel 6 жыл бұрын
DAILY TECH NEEDS yes, if you follow all of these steps you should be able to upload with just a USB and no fiddling with an ftdi cable and jumpers!
@TheRainHarvester
@TheRainHarvester 6 жыл бұрын
Does maple mini mean (or imply) stmduino? I'd like a video that shows how many gpio are actually usable on stm. Some say 37, but I see pins that are dedicated to other functions. I liked the triple-try usb connection humor. :-)
@CalebMarting
@CalebMarting 6 жыл бұрын
The Maple Mini is actually a specific board, you can look it up and buy one. Stm32duino I think refers to boards flashed with the stm32duino bootloader. That might not be correct though. I believe there are slight differences between the two boards but I'm not quite sure. Did that help? I have more stm32 videos in the works, but I've gone down a rabbit hole and am still researching for the next video. Thank you, I knew someone would appreciate that joke :p
@TheRainHarvester
@TheRainHarvester 6 жыл бұрын
I'm eagerly waiting for my stm32f103c8 from ebay. I haven't found any info on debugging Arduino code (even if not in Arduino ide). I would like to debug, but I really like the ease of the Arduino libraries. Is it possible? How compatible are the libraries? Or, if debug requires non-Arduino libraries, how complete are those? (Support for lcd/oled displays etc) (Lots of material ideas for your videos! :-))
@mutantthegreat7963
@mutantthegreat7963 Жыл бұрын
Rocking. Cheers
@behzadabf
@behzadabf 5 жыл бұрын
Very useful.. thanksss...
@jamesaddison81
@jamesaddison81 5 жыл бұрын
Could I do this install on a windows machine then use the STM32 with Arduino IDE on a Mac or would I still have to use windows to use it?
@CalebMarting
@CalebMarting 5 жыл бұрын
It can be installed on Windows, but you have to make sure the drivers work. I have no idea
@vigneshpr.5814
@vigneshpr.5814 5 жыл бұрын
why should we connect it in 3.3v instead of 5v .....STM32 is 5v tolerable rite??
@CalebMarting
@CalebMarting 5 жыл бұрын
Yes. I didn't realize this at the time. I do hook vcc to 3.3v which would fry your stm32 though
@petermccool9396
@petermccool9396 3 жыл бұрын
If you don't have a mul-timmiter, you can use a vol-timmiter. Maybe you're a pilot 😉 I will continue the video
@pjfrigate
@pjfrigate 6 жыл бұрын
Very useful! Thank you.
@CalebMarting
@CalebMarting 6 жыл бұрын
No problem, I have another video on the stm32 coming out within the week!
@splendensregan5270
@splendensregan5270 Жыл бұрын
Hi where can I get the FlashLoader Demonstrator for stm32 ?
@CalebMarting
@CalebMarting Жыл бұрын
Hi! You can get it from st's official site
@PatTrainor
@PatTrainor 4 жыл бұрын
Will this help? :) solder (v.) mid-14c., sawd "mend by soldering," from solder (n.). Modern form is a re-Latinization from early 15c. Related: Soldered; soldering. solder (n.) early 14c., soudur, from Old French soldure, soudeure, from souder, originally solder, "to consolidate, close, fasten together, join with solder" (13c.), from Latin solidare "to make solid," from solidus "solid" (see solid (adj.)). Modern form in English is a re-Latinization from early 15c. The loss of Latin -l- in that position on the way to Old French is regular, as poudre from pulverem, cou from collum, chaud from calidus. The -l- typically is sounded in British English but not in American, according to OED, but Fowler wrote that solder without the "l" was "The only pronunciation I have ever heard, except from the half-educated to whom spelling is a final court of appeal ..." and was baffled by the OED's statement that it was American. Related: Soldered; soldering. The noun is first attested late 14c.
@CalebMarting
@CalebMarting 4 жыл бұрын
Huh, neat, thanks for the English lesson lol
@PatTrainor
@PatTrainor 4 жыл бұрын
@@CalebMarting All in good fun. I think in the end you are right, and I am in the minority. I was just surprised to find anything on it, but I always underestimate the time-wasting power of the internet! Nobody should criticize those making videos-especially when they entertain and educate. I have a few electronics channels, and I am stunned at how critical these "Armchair Directors" are, and you look and they haven't made a single one. Keep it up!
STM32 Bits: Neopixels!
3:13
Caleb Marting
Рет қаралды 6 М.
Из какого города смотришь? 😃
00:34
МЯТНАЯ ФАНТА
Рет қаралды 2,6 МЛН
Yay😃 Let's make a Cute Handbag for me 👜 #diycrafts #shorts
00:33
LearnToon - Learn & Play
Рет қаралды 117 МЛН
Noodles Eating Challenge, So Magical! So Much Fun#Funnyfamily #Partygames #Funny
00:33
МЕНЯ УКУСИЛ ПАУК #shorts
00:23
Паша Осадчий
Рет қаралды 5 МЛН
Popping a 5000A Fuse
18:42
Photonicinduction
Рет қаралды 6 МЛН
Programming Is Cooked
9:30
ThePrimeTime
Рет қаралды 245 М.
Blue Pill Bootloader
6:43
Richard Wenner
Рет қаралды 10 М.
#345 ESP32 vs STM32: Which one is better (Bluepill)?
15:37
Andreas Spiess
Рет қаралды 243 М.
Things you can make from old, dead laptops
19:03
DIY Perks
Рет қаралды 13 МЛН
Program an STM32F103C8T6 | Blue Pill | Different methods
7:17
Tech Talkies
Рет қаралды 6 М.
Из какого города смотришь? 😃
00:34
МЯТНАЯ ФАНТА
Рет қаралды 2,6 МЛН