STM32F103VCT6 UART Bootloader Connection Fails with “Error: Activating device: KO
I’m trying to use the built-in system memory bootloader on an STM32F103VCT6 and download firmware over UART with STM32CubeProgrammer, but I can’t get the tool to connect. I always see this error:
Error: Activating device: KO. Please, verify the boot mode configuration and check the serial port configuration. Reset your device then try again...
My setup and procedure:
-
Hardware
-
MCU: STM32F103VCT6
-
UART pins:
-
PA9 → TX
-
PA10 → RX
-
-
BOOT0 pulled high to 3.3 V via jumper
-
USB-TTL adapter wired TX↔RX (crossed) & GND common
-
-
Boot into system memory
-
Set BOOT0 = High (3.3 V)
-
Press and hold RESET (NRST low)
-
Release RESET (NRST high) and wait ~1 s
-
(I then move BOOT0 back to Low before connecting—this seemed necessary to power-cycle the logic)
-
-
STM32CubeProgrammer UART settings
-
Port: COM ×× (the USB-TTL adapter)
-
Baud rate: 115200
-
Parity: Even
-
Data bits: 8
-
Stop bits: 1
-
RTS / DTR: both low (no hardware flow control)
-
-
What happens
-
My user application is definitely not running (no LEDs, no UART output).
-
I click Connect in CubeProgrammer and after a short delay I get the “Activating device: KO” timeout.
-
-
What I’ve already verified
-
When I flash via ST-Link in CubeIDE, the application runs fine and UART1 communicates normally with my PC app.
-
My wiring and serial port settings work for the running application.
-
Question:
What step or configuration am I missing to get the STM32F103VCT6’s UART bootloader to respond? Are there any additional option-byte settings, timing requirements, or hardware details I should check?
Thank you in advance for any advice!
