2026-03-01 11:57 AM
Hello everyone,
I’m working on a project with the STM32H750B-DK board using TouchGFX and FreeRTOS. I need serial output via the onboard ST‑LINK Virtual COM Port for debugging. According to the board documentation, the VCP is connected to USART3 on PB10 (TX) and PB11 (RX).
The problem:
In CubeMX, I select USART3, set mode to Asynchronous, and assign PB10/USART3_TX and PB11/USART3_RX. However, in the pin configuration table, these pins remain with "n/a" in the GPIO mode column, the "Modified" checkbox stays unchecked, and they are not configured as Alternate Function Push‑Pull. The generated code therefore never initializes these pins correctly, and I get no output on the VCP.
What I have tried:
Resetting the pins (PD8, PD9, PC10, PC11) that were previously assigned to USART3.
Right‑clicking on PB10/PB11 and selecting "Signal Unpinning" to remove any locks.
Manually setting the Alternate Function to AF7 via the right‑click menu.
Changing the GPIO mode in the table from "n/a" to "Alternate Function Push Pull" – the selection does not stick, and the "Modified" box remains unchecked.
Manually adding the GPIO initialization code in main.c (this works, but I would prefer CubeMX to generate it correctly).
Observations:
Other pins, like PI15 for LTDC, configure and show "Modified" without issues.
The board runs TouchGFX (display works), so the rest of the system is functional.
I have confirmed that PB10 and PB11 are free – they are not used by any other peripheral (FMC, ETH, QUADSPI, etc.).
Screenshots:
[Attach screenshot showing PB10/PB11 with "n/a" and unchecked Modified boxes]
[Attach screenshot showing PB10/PB11 are free in the pinout diagram]
Questions:
Why does CubeMX refuse to mark PB10/PB11 as "Modified" and assign the correct GPIO mode?
Is there a known conflict with USART3 on these pins for the STM32H750B‑DK?
How can I force CubeMX to generate the correct GPIO initialization for USART3?
Workaround:
I can manually add the GPIO init code, but I’d like to understand why CubeMX isn’t generating it properly. Has anyone else encountered this with the H750B‑DK or similar boards?
Any help or insight would be greatly appreciated!
Additional info:
STM32CubeMX version: 6.16.1
TouchGFX version: 4.26.0
IDE: STM32CubeIDE 2.1.0 Build: 27993_20260219_1630 (UTC)
Firmware package: STM32Cube FW_H7 V1.12.1
Thanks in advance!
2026-03-01 1:32 PM
No such issues here.
Maybe include your IOC file.
2026-03-02 10:37 AM
2026-03-02 10:49 AM
The IOC file you send has PC10/PC11 set as USART3, not PB10/PB11.
If I change them to PB10/PB11 by clicking on the pin and selecting USART3_TX/RX, the pins update.
Everything behaves exactly as expected.
> [Attach screenshot showing PB10/PB11 with "n/a" and unchecked Modified boxes]
> [Attach screenshot showing PB10/PB11 are free in the pinout diagram]
If you're going to use AI, at least postprocess the output.