Ik zou (als in dat DOE ik altijd) gewoon de SWDIO en SWCLK signalen samen met ground, VCC, RESET naar buiten brengen.
Ik gebruik een 6 pin header:
1 - VCC
2 - SWCLK
3 - GND
4 - SWDIO
5 - RESET
6 - Boot0
Dit is de debug connector waarmee je met een STLINK debugger met je CPU kan debuggen en programmeren. De pinout is compatible met je STLINK die op je nucleo zit.
Boot0 moet met een weerstandje naar voeding-of-ground en met een schakelaar naar de andere. Als je dan tijdens het aanzetten of resetten op dat knopje gedrukt hebt, dan gaat ie naar de bootloader. Dan kan je hem via USB met het DFU protocol programmeren.
Zeker voor je eerste printje zou ik niet bezuinigen op verschillende manieren om de CPU te kunnen bereiken. Als je USB het niet doet, dan wil je kijken: "doet de CPU het wel?" Kan ie uberhaupt een blinky doen? Dus dan heb je de debug connector nodig om hem te programmeren. En andersom, als de debug connector het niet doet, dan... misschien kan je hem via USB bereiken.
Wat ik niet snap is dat je "om uarts verlegen" zit. Als de 411 de allergoedkoopste '4xx processor is met maar 3 uarts, dan moet er een ietsie duurdere te vinden zijn die gewoon 6 uarts heeft.
De STM32F072 is anderhalf keer goedkoper dan de 411 en heeft vier usarts. (maar iets lagere clock, minder ram, minder heftige CPU).
Maar goed: Ik zou ook dus bijvoorbeeld (op je eerste printje) een usart naar een connector brengen: Stel je voor dat je SWD en USB op een lege processor niet aan de praat krijgt. Wat dan? Dan wil je met de bootloader babbelen. Een usart is dan de meest praktische. (je kan USB-TTL dingen kopen voor 2 euro en dan is er een python programma om de boel te programmeren, dat is er niet voor SPI of i2c.... ).