Skip to main content
Associate
Oct 7, 2026 1:12 PM UTC
Question

STM32F407G-DISC1 USART1 (PA9/PA10) UART Bootloader Flashing Issue

On the STM32F407G-DISC1, I try to flash the MCU through USART1 using PA9 (TX) and PA10 (RX) with STM32CubeProgrammer.

BOOT0 is connected to 3.3V (HIGH), and BOOT1 is connected to GND (LOW). I have also disconnected the resistors and capacitors connected to PA9/PA10, and there are no external connections to these pins.

However, I am unable to connect to the MCU through PA9/PA10 using STM32CubeProgrammer. Is there any additional hardware connection, configuration, or limitation that I need to consider for using PA9/PA10 for UART bootloader flashing on the STM32F407G-DISC1?

12 replies

Explorer II
Oct 7, 2026 1:20 PM UTC

On the F407 Discovery the USART1 bootloader path is sensitive to what else is still connected to PA9 and PA10, so it is worth checking that the ST-LINK side and any solder bridges cannot drive or load those lines during reset. BOOT0 and BOOT1 are only sampled at reset, so try holding BOOT0 high and then power-cycling or pressing reset before connecting in STM32CubeProgrammer rather than changing jumpers while the board is already running. Also double-check the adapter wiring, TX to PA10 and RX to PA9, with even parity, which the ROM bootloader expects on USART.

Associate
Oct 8, 2026 5:40 AM UTC

I have connected PA9/PA10 correctly, but I would like to confirm whether there is any additional hardware connection or board-level conflict affecting these pins.

My concern is that, on the STM32F407G-DISC1, PA9/PA10 may be shared with the USB OTG circuitry, which could be interfering (DFU mode) with USART1 bootloader flashing.

Could you please suggest another development board or Nucleo board using the same MCU (STM32F407VGT6) where PA9/PA10 are freely accessible for USART1 bootloader flashing? I would like to use another board to verify whether the issue is specific to the STM32F407G-DISC1 hardware.

Thank you.

Andrew Neil
Super User
Oct 20, 2026 1:12 PM UTC

I have connected PA9/PA10 correctly

Rather than just say that, it would be more helpful to actually show what you have done - then others could confirm that it is correct, or point out any issues.

So, please pose:

  1. A schematic of your connections;
  2. Some good, clear photos of your setup.

I would like to confirm whether there is any additional hardware connection or board-level conflict affecting these pins

Have you looked at the board schematics ?

My concern is that, on the STM32F407G-DISC1, PA9/PA10 may be shared with the USB OTG circuitry

Again, you could confirm this by looking at the board schematics.

 

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
mƎALLEm
ST Technical Moderator
Oct 7, 2026 1:23 PM UTC

Hello @and welcome to the ST community,

How are using USART interface for the bootloader? what is the host in that case? what kind of hardware are you using to connect the host to STM32F407G-DISC1 over UART? USB-RS232 converter, over RS232 transceiver?

Please provide more details on this matter.

What components you have removed exactly? please provide their reference in the schematic.

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
Associate
Oct 8, 2026 5:27 AM UTC

USB TTL

mƎALLEm
ST Technical Moderator
Oct 8, 2026 9:00 AM UTC

USB TTL

That doesn’t help. Are you deliberately ignoring my other questions? if yes good luck.

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
TDK
Oct 7, 2026 1:26 PM UTC

Is there any additional hardware connection, configuration, or limitation that I need to consider for using PA9/PA10 for UART bootloader flashing on the STM32F407G-DISC1?

Other bootloader interfaces (see AN2606) need to be quiet, but that is all. In particular, (user) USB must not be connected.

Otherwise you have a wiring issue or other setup issue. Maybe TX/RX swapped, maybe something missed, maybe bad cables.

"If you feel a post has answered your question, please click ""Accept as Solution""."
Visitor
Oct 20, 2026 12:17 PM UTC

Check that the USB-to-UART adapter’s TX/RX lines are crossed correctly and that GND is shared. Also verify the exact STM32F407 bootloader documentation, USART1 support, and the required reset sequence in STM32CubeProgrammer. Make sure the adapter uses 3.3V logic levels and try lowering the baud rate.

rich.g.williams
Senior
Oct 20, 2026 12:56 PM UTC

​@amaljishnu7 

PA10 must receive the correct coded byte format to start the bootloader.  If it does not recognise the byte you send PA9 output will stay floating.

As soon as PA10 sees the correct format PA9 immediately replies and PA9 then goes high until you send more chars.

Have you had a good look at AN2606 and AN3155? Is your baud rate within allowable range for the bootloader to lock onto it?

Also “Once initialized, the configuration is 8-bit, even parity, and one stop bit”

 

 

Bill's Notes