Skip to main content
Visitor
August 6, 2026
Question

STM32H753ZIT6 on Custom PCB: Unable to Program Fresh MCU via UART Bootloader (STM32CubeProgrammer Timeout), Same Method Works on NUCLEO-H753ZI

  • August 6, 2026
  • 4 replies
  • 73 views

Hi everyone,

I am using an STM32H753ZIT6 on our custom PCB. Before this, I was successfully programming the STM32H753ZI on the NUCLEO-H753ZI board using the UART bootloader (system memory boot mode) with STM32CubeProgrammer and a USB-to-UART TTL converter. I have never used an ST-LINK for programming.

I followed the same hardware connections and programming procedure on our custom PCB, but STM32CubeProgrammer always returns a timeout error and cannot connect to the MCU.

Setup

  • MCU: STM32H753ZIT6

  • Software: STM32CubeProgrammer

  • Programming interface: UART bootloader (not ST-LINK)

  • USB-to-UART converter connected to USART1

  • TX of USB-UART → STM32 PB15 (USART1_RX)

  • RX of USB-UART → STM32 PA9 (USART1_TX)

  • Manual boot mode selected (not using RTS/DTR auto boot)

Programming Procedure

  1. Hold BOOT0 HIGH.

  2. Reset or power-cycle the board.

  3. Release RESET while keeping BOOT0 HIGH.

  4. Click Connect in STM32CubeProgrammer.

This exact procedure works on the NUCLEO-H753ZI but fails on our custom PCB.

STM32CubeProgrammer Result

The software detects the COM port but eventually reports a timeout error (waiting for acknowledgment), and the connection fails.

My Questions

  1. Is a brand-new STM32H753ZIT6 expected to be programmable directly through the factory UART bootloader on a custom PCB without first using ST-LINK?

  2. Are there any hardware requirements that must be met for the factory UART bootloader to work (other than BOOT0, power, reset, UART connections, etc.)?

  3. Is there any reason why a fresh MCU would require initial programming through ST-LINK before UART programming can be used?

  4. Are there any common custom PCB design mistakes that would cause the UART bootloader to time out even though the same wiring works on the NUCLEO board?

Any suggestions on what to verify would be greatly appreciated.

Thank you.

4 replies

TDK
August 6, 2026

PA9/PB15 is not a supported UART bootloader pin combination per AN2606. Does this really work on a nucleo?

Oher peripherals need to be quiet when the bootloader starts. Are you using USB? Schematic would help. See AN2606 for other peripherals that need to be quiet and the bootloader entry process in general.

"If you feel a post has answered your question, please click ""Accept as Solution""."
AScha.3
Super User
August 6, 2026

Try with correct pins , see AN2606 :

or

 

 

If you feel a post has answered your question, please click on " Best Answer ".
Visitor
August 7, 2026

It is working actually where we used USART3 (PB11,PB10) instead of USART1. Thank you for the support

Amel NASRI
ST Technical Moderator
August 7, 2026

@Santosh kmr glad to see that you found the help you need from our Community.

Please click on “Best answer” for the reply that helped you to find the solution.

-Amel

PS: ​@TDK  & ​@AScha.3 I invite you to update your signatures to replace “Accept as Solution” by “Best answer”.

To give better visibility on the answered topics, please click on "Best Answer" on the reply which solved your issue or answered your question.