Skip to main content
GBamb.216
Associate
October 17, 2019
Question

STM32 Blue Pill boot jumper not working

  • October 17, 2019
  • 15 replies
  • 7752 views

Hello everyone!

Problem 1:

I bought 8 STM32 Blue Pill cards.

I can't program these cards.

The problem occurs on all boards.

When I set the BOOT jumper 0 to 1 and press the reset button the LED connected to the PC13 pin always flashes.

I have already programmed these cards and I have always programmed using an FTDI using TX on the PIN PA10 and RX on the PIN PA9.

I have the ST LINK V2 module and I can program the card.

I added the RST wire because boot 0 does not work.

I usually use the Arduino IDE environment and programming with the ST LINK V2 module the USART PA9/PA10 serial are not activated.

I use the tab support for the Arduino environment:

https://github.com/rogerclarkmelbourne/Arduino_STM32

I tried to connect the FTDI module to the serial port of the card and it does not receive any data.

I programmed the card with ST LINK V2 and FTDI to read values from the serial port but it does not work.

Is there a way to set the BOOT 0 jumper to programming mode?

The Blink always works for me and there is no way to block the execution of the program with BOOT 0 to 1.

Problem 2:

I have updated the firmware of the ST LINK module 

Name Firmware : V2J35S7

I downloaded it from the ST website

The Arduino build environment tells me that it is to be updated.

Is there a newer firmware? 

Or is it the latest version?

Has anyone had the same problem on THE STM32 Blue Pill cards?

Any answer is accepted !

I really need it :(

    This topic has been closed for replies.

    15 replies

    Tesla DeLorean
    Guru
    October 17, 2019

    Are you sure these things aren't counterfeit or defective? You should perhaps work with the vendor, get a schematic, and probe the circuit.

    Check the level on the BOOT0 pin, make sure BOOT1=LOW, BOOT0=HIGH to get into System ROM

    Sounds like Arduino build environment isn't checking the firmware properly, or is broken. The firmware you indicated is most current. Support by third-part tools may be behind. If it uses OpenOCD, make sure you have an up to date version of that.

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    GBamb.216
    GBamb.216Author
    Associate
    October 18, 2019

    The Arduino environment does not center with the problem.

    The generic cardha that adopts the MCU STM32F103C8T6 microcontroller

    has the boot pin 0 that doesn't work.

    Set to the Boot pin 0 from 0 to 1 and pressing the reset button the led connected on the PC13 pin always works.

    It seems that BOOT pins are disabled.

    I was asking if there is a firmware that can be loaded into internal memory to enable the boot pin 0.

    Or is it a hardware circuit? 

    That is the BOOT 0 pin if it doesn't go is to be thrown away the MCU ?

    I do not use OpenOCD.

    But if there is any software that can reset the microcontroller to factory settings it would be great.

    That is, to make the BOOT0 pin work so that you can program the MCU in FDTI.

    Tesla DeLorean
    Guru
    October 18, 2019

    The System Boot Loader is in ROM/OTP so it can't be erased, replaced or reset. From the boot loader it should be able to erase the user application in Flash.

    I'm not sure why BOOT0 being HIGH wouldn't start the loader for you, so you will need to look for physical reasons, like the chip is damaged, or the connectivity is broken. Check voltage levels at pins.

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    GBamb.216
    GBamb.216Author
    Associate
    October 18, 2019

    So it's not a software problem?

    I try to control the voltage on the BOOT 0 pin!

    Uwe Bonnes
    Chief
    October 18, 2019

    Many bluepill boards are know ti have a USB pull up resistor with a value far off. If you try DFU, this could be the reason. Replace the USB DP pull up with the right value.

    GBamb.216
    GBamb.216Author
    Associate
    October 18, 2019

    Are you talking about the USB pins of the microcontroller?

    I don't use native USB.

    I program with the PINS PA9 and PA10 USART) with the FTDI module.

    Do you think that might be the problem?

    The problem occurred on all 8 cards bought by the same seller.

    EDe.1
    Visitor II
    January 12, 2020

    0690X00000BvsseQAB.jpgSolution: I had this problem. R3, listed as 100k. Has 104 printed on it. It was suggested to remove this resistor and replace it with a jumper/short. This worked on my boards. I have 6 boards with this issue. R3 is hooked in series between the MCU and the boot0 header pins. You can see the schematics half way down this page... freeelectron.ro/bare-metal-stm32-led-blink

    oeliks
    Associate III
    January 12, 2020

    Well 104 is 100k​ its good enough. As for "wrong" value of usb pullup - if its not 1,5k its probabbly pulled to 5+ instead of 3+ (some bluepills are) so be carefull and check voltage of pullup.

    AVarg.11
    Visitor II
    February 2, 2020

    Same problem here. I weldered a short in R3 but problem persists. Only blinking led even changing the jumper.

    May be a problem in boot0 software?

    LBrin.1
    Visitor II
    August 28, 2020

    I currently also have the same problem, was an solution ever gathered?

    AVarg.11
    Visitor II
    August 29, 2020

    I solved the problem by programming the maple bootloader using an STLINK V2.

    With this bootloader you can program the chips directly via usb changing boot1 jumper.

    ESånd.1
    Visitor II
    September 16, 2020

    Do you have a link to any tutorial to do this for us who are just starting out with STM32? :)

    Sbhad.1
    Associate
    September 26, 2020

    From the answers in https://community.st.com/s/question/0D50X0000AwWy5y/my-stm32f103c8t6-wont-enter-programming-mode

    i removed R3 and R4 and shorted them because both of these were 100k, whereas 10k is expected (checked other working BluePills).

    And by pure magic it worked. All OK. Solved!!