2025-12-08 1:02 AM - last edited on 2025-12-08 1:33 AM by Andrew Neil
Hello,
I'm new to this STM32 products. We designed custom module with STM32F103CBT6TR. We are facing issue with serial boot loader.
I'm using CH340 UART to USB converter module.
CH340 MOD TX --> Our Module's RX
CH340 MOD RX --> Our Module's TX
CH340 MOD GND --> Our Module's GND
And our module is powered by USB connector.
Boot mode configuration
Boot 0 is HIGH
Boot 1 is LOW
I'm using STM32cube programmer tool.
When I try to connect our module, I'm seeing the above error.
Just to confirm CH340 module, I tried that with Nucleo board. With Nucleo board I can see it is able to connect without throwing any error.
I tried other reccomondations which are mentioned in this community post like hold reset button and plug USB and then try pressing connect in the STM32cube programmer. But that also, didn't help.
Any help will be really appreciated.
Thank you.
2025-12-08 1:08 AM
Hello @gadi and welcome to the ST community,
According to your description, the issue is more likely linked to your custom board.
You need to post your schematics.
+ Check you hardware, and your wiring. It could be also a bad soldering.
2025-12-08 1:20 AM
Hello, here is my schematics.
F1_STEERING_MODULE_SCH.pdf
Since our device can be powered not only by USB, in one of your document, it is mentioned we should use PA9 of VBUS sense(USB VBUS). This resulting in using PB6 and PB7 as UART. But we had a connection for PA9 and PA 10 to some header, we are using that header pins for UART line. We checked voltage levels of Boot lines that is as expected as it is supposed to be and also we checked continuity of the tx, rx lines which are proper only. We got assembled our components from JLCPCB. We checked two boards. All two boards throwing same issue.
2025-12-08 2:27 AM - edited 2025-12-08 2:27 AM
Hello,
You can't use all USART IOs for the bootloader. There are specific pins for that. For STM32F103, you need to use USART1 with PA9 and PA10 no other options. Please refer to the AN2606 /Table 36:
You can't use PB6 and PB7.
From your schematics, PA9 (USB_VBUS) and PA10 (PGM LED) are used for other stuff:
So not possible to use the bootloader in a such configuration. You need to keep These IOs free for only USART and Bootloader usage.
2025-12-08 2:34 AM
Hello,
That's what I mentioned in my previous message. Yes, in schematics it is routed as PB6 and PB7 for UART. But, after reading AN2606, we are using PA9 and PA10 as UART lines. Since PA9(J8 pin 2) and PA10(J6 pin 9) are routed to some headers, it is giving us flexibility to use them as UART lines.
2025-12-08 2:41 AM
But in the schematics PA9 and PA10 are already used by other stuff. In addition to route PB6 and PB7 to PA9/PA10 you need to remove USB and LED connections from them!
2025-12-08 3:22 AM
We haven't connected those pins to neither LED nor USB to those pins. It is routed to other pins but nothing is connected.
In below image u can see that connection between microcontroller and headers.
2025-12-08 3:25 AM - edited 2025-12-08 3:35 AM
I recommend you to check again your hardware especially your connections. Do continuity tests between that "CH340" and the STM32 pins PA9/PA10 and ensure the common ground. For the continuity test you need to power off both your STM32 and CH340.