Appendix B: Pin Reference — STM32H743VIT6

This appendix lists the most commonly used peripheral pin mappings for the STM32H743VIT6 in the LQFP-100 package. All alternate function (AF) numbers are from the official datasheet (DS12110). When configuring Embassy, you specify the pin and Embassy selects the correct AF automatically — but knowing the AF number helps when reading the datasheet or debugging.

SPI1

FunctionPin Option 1AFPin Option 2AFNotes
SCKPA5AF5PB3AF5Clock
MOSIPA7AF5PD7AF5Master Out Slave In
MISOPA6AF5PB4AF5Master In Slave Out
NSSPA4AF5PA15AF5Chip select (usually manual GPIO)

SPI2

FunctionPin Option 1AFPin Option 2AFNotes
SCKPB10AF5PB13AF5Clock
MOSIPB15AF5PC3AF5Master Out Slave In
MISOPB14AF5PC2AF5Master In Slave Out
NSSPB9AF5PB12AF5Chip select

I2C1

FunctionPin Option 1AFPin Option 2AFNotes
SCLPB6AF4PB8AF4Clock — needs 4.7k pull-up to 3.3V
SDAPB7AF4PB9AF4Data — needs 4.7k pull-up to 3.3V

I2C2

FunctionPin Option 1AFPin Option 2AFNotes
SCLPB10AF4PH4AF4Clock
SDAPB11AF4PH5AF4Data

Think About It: PB10 appears in both the SPI2 and I2C2 tables. A pin can only serve one alternate function at a time. If you need both SPI2 and I2C2, pick non-conflicting pin options.

USART1

FunctionPin Option 1AFPin Option 2AFNotes
TXPA9AF7PB6AF7Transmit
RXPA10AF7PB7AF7Receive
CTSPA11AF7Clear to send (flow control)
RTSPA12AF7Request to send (flow control)

USART2

FunctionPin Option 1AFPin Option 2AFNotes
TXPA2AF7PD5AF7Transmit
RXPA3AF7PD6AF7Receive

Fun Fact: On Nucleo-144 boards, USART3 (PD8/PD9) is typically connected to the ST-Link's virtual COM port. This is the UART you see when you open a serial terminal over USB, even though the STM32 itself is using USART3 — not USB.

TIM1 (Advanced Timer — PWM Capable)

FunctionPin Option 1AFPin Option 2AFNotes
CH1PA8AF1PE9AF1PWM output 1
CH2PA9AF1PE11AF1PWM output 2
CH3PA10AF1PE13AF1PWM output 3
CH4PA11AF1PE14AF1PWM output 4
CH1NPA7AF1PB13AF1Complementary output 1
CH2NPB0AF1PB14AF1Complementary output 2
CH3NPB1AF1PB15AF1Complementary output 3

ADC1 Channels

ChannelPinNotes
IN0PA0
IN1PA1
IN2PA2Shared with USART2_TX
IN3PA3Shared with USART2_RX
IN4PA4Shared with SPI1_NSS
IN5PA5Shared with SPI1_SCK
IN6PA6Shared with SPI1_MISO
IN7PA7Shared with SPI1_MOSI
IN8PB0
IN9PB1
IN10PC0
IN15PA0_CDirect ADC channel (H7 specific)
IN16Internal temperature sensor
IN17Internal VBAT/4
IN18Internal VREFINT

USB OTG FS

FunctionPinAFNotes
DMPA11AF10USB Data Minus
DPPA12AF10USB Data Plus
IDPA10AF10OTG ID (host/device detection)

Pin Conflict Quick Check

Before finalizing your pin assignments, watch for these common conflicts on the H743:

ConflictPinsResolution
SPI1 MOSI vs ADC1_IN7PA7Use one or the other, not both simultaneously
USART1 TX vs I2C1 SCLPB6Pick alternate pin option for one peripheral
TIM1_CH2 vs USART1_TXPA9Cannot use both on PA9 — use PE11 for TIM1_CH2
USB DP vs TIM1_CH4PA11/PA12If using USB, route TIM1 to port E

When in doubt, open STM32CubeMX, select your chip, and enable your peripherals. CubeMX will highlight pin conflicts in red.