All logic is 3.3V, nearly all pins are 5V compliant
Many pins can do PWM output
All pins can be interrupt inputs
RX / GPIO 0 / PB11
Receive (input) pin for Serial3. Hardware USART3
PWM out on TIM2_CH4
Alternate uses: I2C2 SDA
TX / GPIO 1 / PB10
Transmit (output) pin for Serial3. Hardware USART3
PWM out on TIM2_CH3
Alternate uses: I2C2 SCL
SDA / GPIO 14 / PB7
The I2C (Wire) data pin, this has a 10K pullup to 3.3V. Hardware I2C1
PWM out on TIM4_CH2
Alternate uses: USART1 RX
SCL / GPIO 15 / PB6
the I2C (Wire) clock pin, this has a 10K pullup to 3.3V. Hardware I2C1
PWM out on TIM4_CH1
Alternate uses: USART1 TX, CAN2 TX
GPIO 5 / PC7
PWM out on TIM3_CH2
Alternate uses: USART6 RX, I2S3 MCK
GPIO 6 / PC6
PWM out on TIM3_CH1
Alternate uses: USART6 TX, I2S2 MCK
GPIO 9 / PB8
PWM out on TIM4_CH3
Alternate uses: CAN1 RX, I2C1 SCL
GPIO 10 / PB9
PWM out on TIM4_CH4
Alternate uses: CAN1 TX, I2C1 SDA
GPIO 11 / PC3
No PWM
Alternate uses: I2S2 SD, SPI2 MOSI
GPIO 12 / PC2
No PWM
Alternate uses: I2S2ext SD, SPI2 MISO
GPIO 13 / PC1
Connected to the red LED next to the USB jack
No PWM or alternate uses
SCK / GPIO23 / PB13
The SPI bus clock pin. Hardware SPI2
PWM out on TIM1_CH1N (available in Arduino, not CircuitPython)
Alternate uses: I2S2 Clock, CAN2 TX
MISO / GPIO24 / PB14
The SPI bus clock pin. Hardware SPI2
PWM out on TIM1_CH2N
Alternate uses: I2S2ext SD
MOSI / GPIO25 / PB15
The SPI bus clock pin. Hardware SPI2
PWM out on TIM1_CH3N
Alternate uses: I2S2 SD
Analog Pins:
A0 / GPIO 16 / PA4
This pin is analog
input
A0 (ADC12 IN4)
Analog
output
(DAC OUT1) due to having a DAC (digital-to-analog converter). You can set the raw voltage to anything from 0 to 3.3V, unlike
PWM outputs this is a true analog output
No PWM or alternate uses
A1 / GPIO 17 / PA5
This pin is analog
input
A1 (ADC12 IN5)
Analog
output
(DAC OUT2) due to having a DAC (digital-to-analog converter). This is the second DAC, and is 'independent' of A0. You can set