Skip to main content

Internal Bus Reference

MCU-level GPIO assignments and internal bus connections. Use this as the signal-level reference when developing firmware, writing drivers, or diagnosing low-level peripheral issues.

UARTs

UARTttySFunctionTX PinRX PinRTSCTSNotes
USART1ttyS0Motor Telemetry RXPA9SINGLEWIRE + SWAP: physical TX pin (PA9) used as RX. PA10 is CAN1 STB.
USART2ttyS1VTX / TEL3PD5PD6
USART3ttyS2VTX SBUS / Debug ConsolePD8TX only. PD9 is RED LED — no RX possible.
UART4ttyS3Telem 1PA0PA1PB14PB0HW flow control supported (MAV_0_FLOW_CTRL).
UART5ttyS4RC InputPB13SINGLEWIRE + SWAP. PB12 is GREEN LED — cannot be used as UART5 RTS.
USART6ttyS5GPSPC6PC7
UART7ttyS6Telem 2PE8PE7PE9PE10HW flow control enabled by default.
SINGLEWIRE ports

USART1 and UART5 use single-wire half-duplex mode. The physical TX pin is reconfigured as the RX line via the SWAP setting. Do not wire a normal RX signal to these ports.

I2C

BusDeviceSCLSDANotes
I2C1MMC5983MA (Mag, internal)PB8PB9Internal only — not on any connector
I2C2External I2C connectorPB10PB11User-accessible, pulled up to 3.3 V
I2C4GPS connectorPD12PD13Paired with USART6; pulled up to 3.3 V

SPI

BusDeviceCSSCLKMOSIMISOINT1 (DRDY)INT2
SPI1BMP581 (Baro)PD11PA5PD7PA6PB15
SPI2LSM6DSV / ICM-45686 #1 (IMU)PE4PD3PC1PC2_CPE0PD4
SPI3LSM6DSV / ICM-45686 #2 (IMU)PA14PB3PB2PB4PC15PA13
SPI4External SPI connectorPC13, PC14PE2PE6PE13

CAN

PortTXRXSTB EnableTransceiver
FDCAN1PD1PD0PA10 (active-high)SIT1044T/K/3
FDCAN2PB6PB5PE1 (active-high)SIT1044T/K/3

PWM Outputs

ChannelTimerGPIO
Motor 1TIM1 CH1PA8
Motor 2TIM1 CH2PE11
Motor 3TIM2 CH1PA15
Motor 4TIM2 CH3PA2
Motor 5TIM3 CH2PA7
Motor 6TIM3 CH4PB1
Motor 7TIM4 CH2PB7
Motor 8TIM4 CH3PD14

LEDs

Active-low: GPIO LOW = ON, GPIO HIGH = OFF.

ColorGPIOPX4 Role
RedPD9Error / boot state
GreenPB12GPS lock / armed state
BluePE12Flight mode indicator

Buzzer

ParameterValue
GPIOPA3
TimerTIM5 CH4

SD Card (SDMMC1)

SignalPin
CMDPD2
CLKPC12
DAT0PC8
DAT1PC9
DAT2PC10
DAT3PC11
Card DetectPE3

USB

SignalPin
D+PA12
D−PA11

No VBUS detection line. Board cannot detect whether USB power is present.

ADC / Power Sensing

SignalGPIOADC ChannelNotes
VSENSE (battery voltage)PC4ADC1 INP41:11 resistor divider
ASENSE (current)PC3_CADC3 INP1External current sensor required. Read via ADC1 CH13 (PC3) using the STM32H7 SYSCFG_PMCR analog switch (PC3SO default = closed).

Unconnected (NC) Pins

PA4, PC0, PC5, PD10, PD15, PE5, PE14, PE15