Streamline Peripheral Pin Mapping

From Stm32World Wiki
Jump to navigation Jump to search


General notes

field means that all MCUs can be mapped identically.

field means it is missing the peripheral.

field means that pins are not same across all MCUs.

field is I2Sx_MCK only exist on one pin.

RP2350

Trying to avoid 12 - 19 as these can be used for HSTX but they should be wired to backplane.

SWD

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354 Remarks
All SWDIO PA13 PA13 PA13 PA13 PA13 PA13 SWDIO RP Pico Dedicated pin
SWCLK PA14 PA14 PA14 PA14 PA14 PA14 SWCLK
SWO PB3 PB3 PB3 N/A PB3 PB3 TBD N/A

UARTs

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354 Remarks
USART1 TX PA9 PA9 PA9 PA9 PA9 PA9 GPIO0 Connect default
RP2350 UART0
RX PA10 PA10 PA10 PA10 PA10 PA10 GPIO1
USART1A TX PB6 PB6 PB6 PB6 PB6 PB6
RX PB7 PB7 PB7 PB7 PB7 PB7
USART2 TX PA2 PA2 PA2 PA2 PA2 PA2 GPIO44 RP2350 UART1
RX PA3 PA3 PA3 PA3 PA3 PA3 GPIO45
USART2A TX PD5 PD5 PD5 PD5 PD5 PD5 GPIO4 RP2350 UART1
RX PD6 PD6 PD6 PD6 PD6 PD6 GPIO5
USART3 TX PB10 PB10 PB10 N/A PB10 PB10
RX PB11 PB11 PB11 N/A PB11 PB11
USART3A1 TX PD8 PD8 PD8 N/A PD8 PD8 GPIO6
RX PD9 PD9 PD9 N/A PD9 PD9 GPIO7
USART3A2 TX PC10 PC10 PC10 N/A PC10 PC10 N/A
RX PC11 PC11 PC11 N/A PC11 PC11 N/A
UART4 TX PA0 PA0 PA0 N/A PA0 PA0
RX PA1 PA1 PA1 N/A PA1 PA1
UART4A TX PC10 PC10 PC10 N/A PC10 PC10
RX PC11 PC11 PC11 N/A PC11 PC11
UART5 TX PC12 PC12 PC12 N/A PC12 PC12 TBD
RX PD2 PD2 PD2 N/A PD2 PD2 TBD
USART6 TX PC6 N/A PC6 N/A N/A PC6 TBD
RX PC7 N/A PC7 N/A N/A PC7 TBD

CAN

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354 Remarks
CAN1 TX PA12 PA12 PA12 N/A PA12 PA12 TBD Conflict with USB
RX PA11 PA11 PA11 N/A PA11 PA11 TBD
CAN1A TX PD1 PD1 PD1 N/A PD1 PD1 TBD
RX PD0 PD0 PD0 N/A PD0 PD0 TBD
CAN2 TX PB13 N/A PB13 N/A N/A PB13 TBD
RX PB12 N/A PB13 N/A N/A PB13 TBD
CAN2A TX PB6 N/A PB6 N/A N/A PB6 TBD
RX PB5 N/A PB6 N/A N/A PB6 TBD

USB

STM32F407=HS/FS host/device/otg

STM32L475=FS host/device/otg no crystal

STM32H562=FS PD

STM32C071=FS no crystal

STM32C551=FS host/device

STM32H723=HS/FS host/device/otg

RP2354=FS host/device

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354 Remarks
All DM PA11 PA11 PA11 PA11 PA11 PA11 DM RP2350 dedicated pins
DP PA12 PA12 PA12 PA12 PA12 PA12 DP

I2C

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354 Remarks
I2C1 SCL PB6 PB6 PB6 PB6 PB6 PB6 GPIO9 RP2350 ICL0
SDA PB7 PB7 PB7 PB7 PB7 PB7 GPIO8
I2C1A SCL PB8 PB8 PB8 PB8 PB8 PB8 TBD
SDA PB9 PB9 PB9 PB9 PB9 PB9 TBD
I2C2 SCL PB10 PB10 PB10 PB10 PB10 PB10 GPIO3 RP2350 I2C1
SDA PB11 PB11 PB11 PB11 PB11 PB11 GPIO2
I2C3 SCL PA8 PC0 PA8 N/A N/A PA8 TBD
SDA PC9 PC1 PC9 N/A N/A PC9 TBD

SPI

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354 Remarks
SPI1 SCK PA5 PA5 PA5 PA5 PA5 PA5 GPIO42 RP2350 SPI1
MISO PA6 PA6 PA6 PA6 PA6 PA6 GPIO40
MOSI PA7 PA7 PA7 PA7 PA7 PA7 GPIO43
SPI1A SCK PB3 PB3 PB3 PB3 PB3 PB3 PB3 conflicts with SWO
MISO PB4 PB4 PB4 PB4 PB4 PB4
MOSI PB5 PB5 PB5 PB5 PB5 PB5
SPI2 SCK PB10 PB10 PB10 PB10 PB10 PB10
MISO PC2 PC2 PC2 PC2 PC2 PC2
MOSI PC3 PC3 PC3 PC3 PC3 PC3
SPI2A SCK PB13 PB13 PB13 PB13 PB13 PB13 GPIO22 RP2350 SPI0
MISO PB14 PB14 PB14 PB14 PB14 PB14 GPIO20
MOSI PB15 PB15 PB15 PB15 PB15 PB15 GPIO23
SPI3 SCK PC10 PC10 PC10 N/A PC10 PC10
MISO PC11 PC11 PC11 N/A PC11 PC11
MOSI PC12 PC12 PC12 N/A PC12 PC12
SPI3A SCK PB3 PB3 PB3 N/A PB3 PB3 Conflicts with SWO
MISO PB4 PB4 PB4 N/A PB4 PB4
MOSI PB5 PB5 PB5 N/A PB5 PB5

SDIO

STM32F407: SDIO

STM32L475: SDMMC

STM32H562: SDMMC

STM32C071: N/A

STM32C551: N/A

STM32H723: SDMMC

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354
Only CMD PD2 PD2 PD2 N/A N/A PD2 GPIO30
CK PC12 PC12 PC12 N/A N/A PC12 GPIO31
D0 PC8 PC8 PC8 N/A N/A PC8 GPIO35
D1 PC9 PC9 PC9 N/A N/A PC9 GPIO34
D2 PC10 PC10 PC10 N/A N/A PC10 GPIO33
D3 PC11 PC11 PC11 N/A N/A PC11 GPIO32

Ethernet (RMII)

STM32F407:

STM32L475:

STM32H562:

STM32C071:

STM32C551:

STM32H723:

RP2354: With PIO, https://github.com/rscott2049/pico-rmii-ethernet_nce

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354
Only MDIO PA2 N/A PA2 N/A N/A PA2 GPIO44
REF_CLK PA1 N/A PA1 N/A N/A PA1 GPIO41
MDC PC1 N/A PC1 N/A N/A PC1 GPIO47
TX_EN PB11 N/A PB11 N/A N/A PB11 GPIO2
TXD0 PB12 N/A PB12 N/A N/A PB12 GPIO24
TXD1 PB13 N/A PB15 N/A N/A PB13 GPIO22
RXD0 PC4 N/A PC4 N/A N/A PC4 GPIO10
RXD1 PC5 N/A PC5 N/A N/A PC5 GPIO11
CRS_DV PA7 N/A PA7 N/A N/A PA7 GPIO43

ULPI

STM32F407: ULPI

STM32L475: N/A

STM32H562: N/A

STM32C071: N/A

STM32C551: N/A

STM32H723: ULPI

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354
Only STP PC0 N/A N/A N/A N/A PC0 N/A
DIR PC2 N/A N/A N/A N/A PC2 N/A
NXT PC3 N/A N/A N/A N/A PC3 N/A
CK PA5 N/A N/A N/A N/A PA5 N/A
D0 PA3 N/A N/A N/A N/A PA3 N/A
D1 PB0 N/A N/A N/A N/A PB0 N/A
D2 PB1 N/A N/A N/A N/A PB1 N/A
D3 PB10 N/A N/A N/A N/A PB10 N/A
D4 PB11 N/A N/A N/A N/A PB11 N/A
D5 PB12 N/A N/A N/A N/A PB12 N/A
D6 PB13 N/A N/A N/A N/A PB13 N/A
D7 PB5 N/A N/A N/A N/A PB5 N/A

I2S

STM32F407: I2S2, I2S3

STM32L475: SAI1, SAI2 (serial audio interface)

STM32H562: I2S1, I2S2, I2S3

STM32C071: I2S1 (half duplex only)

STM32C551: I2S1, I2S2, I2S3

STM32H723: I2S1, I2S2, I2S3

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354
I2S1 MCK N/A PB8 PC4 PA6, PA11, PD5, PB4, PB6 PC4 PC4 GPIO10
SDI N/A PB5 PA6 PA2,PA7,PA12,PB5,PD6,PB6†† PA6 PA6 GPIO40
SDO N/A PC3 PA7 PA7 PA7 PA7 GPIO43
CK N/A PB10 PA5 PA5 PA5 PA5 GPIO42
WS N/A PB9 PA4 PA1,PA5,PD8,PB3,PB6 PA4 PA4 GPIO27
I2S2 MCK PC6 PB14 PC6 N/A PC6 PC6 GPIO26
SDI PC2 PC12 PC2 N/A PC2 PC2 GPIO25
SDO PC3 PD11 PC3 N/A PC3 PC3 GPIO21
CK PB10 PD10 PB10 N/A PB10 PB10 GPIO3
WS PB12 PB12 PB12 N/A PB12 PB12 GPIO24
I2S2a MCK N/A PD9 N/A N/A N/A N/A
SDI PB14 N/A PB14 N/A PB14 PB14 GPIO20
SDO PB15 PB15 PB15 N/A PB15 PB15 GPIO23
CK PB13 PB13 PB13 N/A PB13 PB13 GPIO22
WS PB9 PB9 PB9 N/A PB9 PB9 GPIO28
I2S3 MCK PC7 N/A PC7 N/A PC7 PC7
SDI PC11 N/A PC11 N/A PC11 PC11
SDO PC12 N/A PC12 N/A PC12 PC12
CK PC10 N/A PC10 N/A PC10 PC10
WS PA4 N/A PA4 N/A PA4 PA4
I2S3a MCK N/A N/A N/A N/A N/A N/A
SDI PB4 N/A PB4 N/A PB4 PB4
SDO PB5 N/A PB5 N/A PB5 PB5
CK PB3 N/A PB3 N/A PB3 PB3
WS PA15 N/A PA15 N/A PA15,PB8,PE4 ††† PA15

Notes;

†† The STM32C071 has only one half-duplex I2S, and the _SD pin can either be in INPUT or OUTPUT mode. Many pins, how do we map?

††† I2S3_WS is ONLY mapped on PA15 (used for SWDIO), except on STM32C551 which ALSO has it on PB8.

DACs

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354
DAC1 OUT1 PA4 PA4 PA4 N/A PA4 PA4 N/A
OUT2 PA5 PA5 PA5 N/A N/A PA5 N/A

ADCs

ADCs are so numerous that comparative tables are difficult to establish.

STM32F407; 12 channels common for ADC1, ADC2 and ADC3. 4 channels for ADC1 and ADC2

STM32F407; 4 channels common for ADC1, ADC2 and ADC3. 12 channels for ADC1 and ADC2

STM32H562; All 16 channels common for ADC1 and ADC2, can also be configured as 8 differential pair inputs.

STM32C071; Only ADC1, 19 external channels.

STM32C551; 7 channels common for ADC1 and ADC2.

STM32H723; ADC1 and ADC2 are 16 bits, ADC3 is 12 bits. All 3 can also be configured as 8 differential pair inputs.

RP2354; One ADC, 12 bits, 0.5 Msps

Variant PIN STM32F407 STM32L475 STM32H562 STM32C071 STM32C551 STM32H723 RP2354
ADC1 Pins PA0-PA7,PC0-PC5,PB0-PB1 PA0-PA7,PC0-PC5,PB0-PB1 PA0-PA7,PC0-PC5,PB0-PB1 PA0-PA8,PA13-PA14,PC0-PC5,PB0-PB2,PB10-PB12 PA0-PA7,PC0-PC3 PA0-PA7,PC0-PC2,PC4-PC5,PB0-PB1 GPIO40-GPIO47
Channels 16 16 16 19 12 15 8
Msps 2.4 5 5 2.5 2.25 3.6 0.5
ADC2 Pins PA0-PA7,PC0-PC5,PB0-PB1 PA0-PA7,PC0-PC5,PB0-PB1 PA0-PA7,PC0-PC5,PB0-PB1 N/A PA0-PA3,PC1-PC5,PB0-PB2 PA2-PA7,PC0-PC2,PC4-PC5,PB0-PB1 N/A
Channels 16 16 16 N/A 12 13 N/A
Msps 2.4 5 5 N/A 2.25 3.6 N/A
ADC3 Pins PA0-PA7,PC0-PC3 PC0-PC3 N/A N/A N/A PC0-PC3 N/A
Channels 6 4 N/A N/A N/A 4 (12 bits) N/A
Msps 2.4 5 N/A N/A N/A 5 N/A