Skip to main content

CANBUS

The 305ap has two independent FDCAN ports supporting DroneCAN (formerly UAVCAN v1/v0) peripherals.

Hardware

PortTXRXEnable (STB)Transceiver
FDCAN1PD1PD0PA10 (active-high)SIT1044T/K/3
FDCAN2PB6PB5PE1 (active-high)SIT1044T/K/3

The STB (standby) pin controls the CAN transceiver. PX4 asserts it high to enable the transceiver.

PA10 note: PA10 was repurposed from USART1 as the FDCAN1 STB line. It is not available as a UART pin.

CAN Transceivers

Both CAN ports use SIT1044T/K/3 transceivers, which are ISO 11898-2:2016 compliant CAN FD transceivers rated to 5 Mbps. Key features:

  • 3.3 V / 5 V MCU I/O compatible
  • Standby mode (controlled by STB pin)
  • Undervoltage protection
  • TX dominant timeout
  • Thermal shutdown
  • Unpowered-node bus disengagement (does not corrupt the bus when unpowered)

Wiring

CAN uses a differential pair. Connect:

  • CAN H to CAN H
  • CAN L to CAN L
  • GND to GND

The 305ap includes two 120 Ω termination resistors onboard for each CAN port. The bus is fully terminated at the FC. Do not add any external termination resistors on the cable run or at peripheral devices — extra resistors will lower the bus impedance below the ISO 11898-2 spec and degrade signal integrity.

warning

Do not daisy-chain CAN in a star topology. Run a single bus from the FC to each device in a line.

Enabling DroneCAN in PX4

  1. In QGC → Parameters, set UAVCAN_ENABLE = Sensors Automatic Config (2) or higher
  2. Reboot
  3. PX4 will enumerate all DroneCAN devices on the bus and configure them automatically

For FDCAN2, set UAVCAN_ENABLE for the second bus (parameter naming depends on PX4 version).

Common DroneCAN Peripherals

Device typeExamples
ESCsMyxa, Zubax Kotleta20, Flame
GPSZubax GNSS, Holybro M9N DroneCAN
AirspeedZubax Baro, SDP3x via DroneCAN
Power monitorZubax Power, Pomegranate Systems

Troubleshooting

In the MAVLink Console:

uavcan status

Lists all enumerated DroneCAN nodes with their node IDs and health status.