Xacti Gimbals

The Xacti Camera Gimbals are relatively lightweight 3-axis camera gimbals which communicate with ArduPilot using the DroneCAN protocol. Real time video output is available simulataneously through HDMI and USB. Pictures taken include the vehicle’s location (lat, lon, alt) stored using EXIF.


The four supported models are:

  • CX-GB100 : 20MP RGB

  • CX-GB200 : 12MP RGB + 640x512 pixel IR

  • CX-GB300 : Multispectral NDVI

  • CX-GB400 : 12MP RGB with 2.5x optical zoom


Support for these gimbals is available in ArduPilot 4.5.0 (and higher)

Some images courtesy of xacti-co.com

Where to Buy

These gimbals can be purchased directly from Xacti

Compatible connector and jumper wires are available from digikey

Connecting to the Autopilot

../_images/xacti-gimbal-autopilot.jpg ../_images/xacti-gimbal-pinout.png

The top image shows how to connect the gimbal’s CANL, CANH and GND pins to one of the autopilot’s CAN ports when using the gimbal mounting plate option. The bottom image shows the camera’s pinout which may be used with a custom designed mount.

Connect to the autopilot with a ground station and set the following parameters and then reboot the autopilot. The params below assume the autopilot’s CAN1 port is used,

  • CAN_D1_PROTOCOL to 1 (DroneCAN)

  • CAN_D1_UC_NODE to 1 (only required for Xacti firmwares from before Aug 2023)

  • CAN_P1_DRIVER to 1 (First driver)

  • MNT1_TYPE to 10 (Xacti) and reboot the autopilot

  • MNT1_PITCH_MIN to -90

  • MNT1_PITCH_MAX to 25

  • MNT1_YAW_MIN to -90

  • MNT1_YAW_MAX to 90

  • MNT1_RC_RATE to 30 (deg/s) to control speed of gimbal when using RC targetting

  • CAM1_TYPE to 4 (Mount)

  • CAM1_INTRVAL_MIN to 1 (second)

  • RC6_OPTION = 213 (“Mount Pitch”) to control the gimbal’s pitch angle with RC channel 6

  • RC7_OPTION = 214 (“Mount Yaw”) to control the gimbal’s yaw angle with RC channel 7

  • Optionally these auxiliary functions are also available

    • RC9_OPTION = 166 (“Camera Record Video”) to start/stop recording of video

    • RC9_OPTION = 168 (“Camera Manual Focus”) to adjust focus in and out

    • RC9_OPTION = 169 (“Camera Auto Focus”) to trigger auto focus

  • To improve the accuracy of the location EXIF data stored to each image taken, the camera trigger feedback can be enabled as follows

    • Connect the CAM_SYNC wire (shown in blue in the image above) from the camera to one of the autopilot’s AUX OUT signal pins (e.g. AUX OUT 6’s bottom row pin)

    • CAM1_FEEDBAK_PIN to 55 (AUX6) (if connected to AUX OUT 6)

    • SERVO14_FUNCTION to -1 (GPIO) (if connected to AUX OUT 6)

  • To allow remotely powering on/off the camera the POWER_ON pin can be connected to an autopilot relay pin (see purple wire in image above) and then set the following parameters (assuming the autopilot’s AUX OUT 5 pin is used)

    • Connect the camera’s POWER_ON pin (shown in purple in the image above) to one of the autopilot’s AUX OUT signal pins (e.g. AUX OUT 5’s bottom row pin)

    • RELAY1_PIN to 54 (AUX5) (if connected to AUX OUT 5)

    • SERVO13_FUNCTION to -1 (GPIO) (if connected to AUX OUT 5)

    • The camera can be powered off/on using an auxiliary switch set to “Relay 1 On/Off” or Mission Planner’s Aux Function screen can be used. Pulling the relay high will turn the camera off, low will turn it back on.



When the autopilot first detects the Xacti gimbal the MNT1_DEVID will be set to a unique number to identify the gimbal. If the gimbal is moved to another CAN port it may be necessary to manually set MNT1_DEVID to zero and reboot the autopilot in order for the gimbal to be found.

Control and Testing

See Gimbal / Mount Controls and Camera Controls for details on how to control the gimbal using RC, GCS or Auto mode mission commands

Additional Settings

Many more settings not directly supported by ArduPilot can be changed using DroneCAN. If using Mission Planner, use the Setup, Optional Hardware, DroneCAN/UAVCAN screen as shown below.


Firmware Updates

Firmware updates are available from Xacti directly and normally include a “firmware.bin” file and an empty “UPDATE.txt” file. To update the camera:

  • Power down the gimbal and remove its SD card

  • Copy the “firmware.bin” and “UPDATE.txt” files to the SD card

  • Power up the gimbal and wait for at least 10 seconds

  • Optionally power down the gimbal, remove the SD card and check that the “firmware.bin” and/or “UPDATE.txt” files have been deleted. If either was deleted then the firmware update was successful

  • Power up the gimbal and it should operate normally

Remote Download of Images

Images and videos captured by the camera can be remotely downloaded to a companion computer (e.g. RPI) via USB using the xacti-config tool

  • Connect the camera’s USB port to the companion computer

  • On the companion computer:

    • Follow the Install Instructions to download, install and compile the tool on the companion computer

    • Follow the Execution instructions to switch the camera into “msc mode” (mass storage class mode)

    • The camera’s internal storage should appear as a new drive on the companion computer allowing file copy commands to move the images and videos to a local drive

    • While in “msc mode” the camera will not respond to DroneCAN commands but it can be restored to normal operation by rebooting it. Please refer to the POWER_ON pin setup under “Connecting to the Autopilot” above