Use Generic STM32 board with Arduino

By IKTech August 14, 2017

Depicted here is a straightforward approach to stack a program without bootloader. An extra thing required is a USB to Serial/UART/TTL connector (3.3V level). Associate the USB to Serial board as takes after, and control up the STM32 board from a USB port/control supply.

• RXD – A9

• TXD – A10


I expect you have just introduced the Arduino IDE. Next, you have to go to ‘Board Manager’ under “Apparatuses” and introduce the help for SAM sheets. Download the vital documents and the “Arduino_STM32′ (from the connection). Concentrate “Arduino_STM32′ and duplicate the envelope ‘Arduino_STM32-ace’ to your Arduino “Equipment” organizer. At long last, restart the Arduino IDE, pick amend board settings, incorporate the given outline, and transfer it. Before transferring, set the locally available “BOOT0” jumper to 1, and press “reset” catch. After transfer finished, the outline will run. In the event that you need the transferred draw to pursue consequently next power on/reset, set “BOOT0” jumper back to 0.

#define pinLED PC13
void setup() {
pinMode(pinLED, OUTPUT);
void loop() {
digitalWrite(pinLED, HIGH);
digitalWrite(pinLED, LOW);
Serial.println(“Hello World”);

How to utilize the installed USB interface?

While the STM32F103 board is extremely prevalent and cheap, getting up and running is a knotty undertaking. Since, the bland STM32 board comes just with the default USART boot loader, you can’t utilize its installed USB interface to program it. Be that as it may, in the event that you are prepared to program the board with a USB boot loader by means of USART, you can program it straightforwardly through the USB interface from that point!

Board Manager Window

Arduino SAM Board download advance window

Completely introduced Arduino SAM board notice window

The ‘STM32duino bootloader’, is an exploratory bootloader, in view of the Maple bootloader (created by LeafLabs), be that as it may it likewise works with most Generic STM32 board. There are 2 fundamental adaptations of the bootloader, and inside the bland bootloaders (renditions beginning with “nonexclusive”) there are distinctive variants relying upon the area of the LED on the non specific board. For instance, “generic_boot20_pc13.bin” is reasonable for the most widely recognized bland sheets with a LED on stick PC13. Note that there is now a page in the wiki about the bootloader which incorporates how to streak it – interface. Likewise allude this connection

For bootloader blazing, interface your USB to Serial/UART/TTL connector as done some time recently. The locally available yellow jumpers (BOOT0 and BOOT1) indicate the wellspring of code for the smaller scale controller, and in the default state (both being 0), the microcontroller utilizes its own particular glimmer memory bootloader (there is nothing at the present time). Here, you have to set BOOT0 jumper as 1 and leave BOOT1 to 0.


• Download the demonstrator gui (STM32 flasher)

• Keep your board associated with PC

• Open demonstrator gui (STMFlashLoader Demo) executable record. Select 115200 Baud rate and select the right COM port (leave every other setting as default)

• Press NEXT and after the programmed board location, Press NEXT twice

• Select download to gadget and peruse to choose generic_boot20_pc13.bin record (in the

• STM32duino_bootloader envelope)

• Press NEXT when the bootloader record is stacked and the document will be downloaded to the board. Close STM32 flasher when done

• Open your Arduino Sketchbook organizer. At that point open Arduino_STM32 envelope – drivers – win, and run “install_drivers.bat” as chairman. Press any key to close when done. At that point run “install_STM_COM_drivers.bat” as executive, as well

• Connect boot0 to 0, disengage USB to Serial/UART/TTL board and associate a microUSB link to the board.

Presently you can discover Windows is introducing driver for the board when you associate it to PC utilizing the installed microUSB. In the end a driver named as “maple DFU” will be introduced (with no COM ports allocated to it in view of the ceaseless bootloader). Presently you can transfer the flicker portray through Arduino IDE (as we done some time recently, yet now through USB; transfer technique – STM32duino bootloader).

On the off chance that the outline transfers effectively, you can find that Windows is introducing another driver and this time it will allot one COM port for the load up. Note down it as it’s important to choose the right COM port to transfer portrays starting now and into the foreseeable future. Note that normally you need to reset the load up each time you are going to transfer code, however with the bootloader introduced you don’t need to reset the load up while transferring code any longer.

Experienced Issues

Now and again this bootloader blazing procedure may not work with a non specific STM32 board. On the off chance that it doesn’t show up on USB by any stretch of the imagination, check there’s a draw up resistor of around 1.5KΩ on PA12 (USB line D+) of the board. If not, simply include one there, as unless you are prepared for some tinkering, these sheets may not work with the bootloader. Further, despite the fact that the USB standard requires a 1.5 Kω pullup resistor on D+, some board is known to have a wrong estimation of 4K7/10K (R10) resistor. In any case, it is additionally genuine that a few PCs are tolerant of erroneous resistor esteem, you can attempt on the off chance that it works before changing the resistance incentive to 1.5 Kω.

Shockingly, we can contrast this little board and Arduino Due to some degree as this clever board has a guaranteed CPU Speed of 72Mhz! On account of the work made by the stm32duino group and to the help of ST itself, now STM32 microcontrollers can be effectively utilized with the Arduino IDE and it’s likewise conceivable to exploit the vast majority of the libraries accessible for Arduino. Be that as it may, for beginners it may be hard to utilize on the grounds that taking care of installed advancement instruments like KEIL isn’t simple for them. There’s a genuine absence of plentiful documentation on it and everything accessible in the web is very scattered. In this way, here’s something to get them set off effortlessly. Have a ton of fun!!!

Leave a Reply

Your email address will not be published.