PX4 Instructions
Find additional documentation at https://docs.px4.io/main/en/dronecan/ark_cannode.html
Configuration
Connect the ARK CANnode to the flight controller's CAN bus using a standard 4-pin JST-GH cable.
DroneCAN configuration in PX4 is explained in more detail in DroneCAN > Enabling DroneCAN.
Flight Controller Parameters
Set the following in QGroundControl and reboot the flight controller.
Required
Optional
Enable a UAVCAN_SUB_* subscriber for each sensor connected to the ARK CANnode. The onboard IMU subscriber is listed below; for other sensors (airspeed, barometer, etc.), see the parameters named UAVCAN_SUB_* in the PX4 parameter reference.
Set to 1 to subscribe to DroneCAN RawIMU messages from the onboard IMU. Requires CANNODE_PUB_IMU to also be set on the ARK CANnode
CAN Node Parameters
To terminate the bus, fix the node ID, publish IMU data or enable an external sensor driver, see Node Parameters.
CANnode as PWM Expander
The ARK CANnode can be used as a PWM Expander over CAN, allowing you to drive additional servos or ESCs from the flight controller.
Common Setup
Regardless of whether you are using servos or ESCs, the following flight controller parameters must be configured:
On the CANnode, set the timer output protocol using PWM_MAIN_TIMx parameters. You can see the timer-to-output mapping here:
boards/ark/cannode/src/timer_config.cpp
Servos
For servo outputs, we recommend using standard 50Hz PWM. Set the timer protocol to 50Hz on the CANnode:
Flight Controller Parameters
CANnode Parameters
Using the DroneCAN GUI Tool or QGroundControl, configure the parameters to map your PWM outputs:
You can also optionally adjust the min, max, and disarmed values:
ESCs
For ESC outputs, we recommend using DShot300. Set the timer protocol on the CANnode:
Flight Controller Parameters
CANnode Parameters
Using the DroneCAN GUI Tool or QGroundControl, configure the parameters to map your PWM outputs:
You can also optionally adjust the min, max, and disarmed values:
DShot Telemetry
When using DShot you can also receive ESC telemetry via UART from the Telem pin of the ESC. Connect the Telem pin from the ESC to the USART1_RX pin of the UART1/I2C1 port of the CANnode. Set the DSHOT_TEL_CFG parameter on the CANnode to 201.
Last updated