ArduPilot Firmware User Guide
This chapter describes key points to note when running ArduPilot firmware on the X25 SUPER. In addition to this chapter, you may also need to read the following content:
- X25 SUPER Quick Wiring
- ArduPilot Copter Tutorial
- ArduPilot Plane Tutorial
- ArduPilot VTOL Tutorial
- ArduPilot WIKI
- LGC Ground Station
Loading Firmware
The X25 SUPER ships with factory test firmware onboard, which is not suitable for any vehicle; firmware must be flashed manually before use.
WARNING
The X25 SUPER controller currently only supports firmware modified and developed by CUAV®. ArduPilot 4.7.1 firmware (CUAV® Backport) is currently provided; for other firmware versions, please contact our staff.
TIP
Use a ground station (e.g. Mission Planner / QGroundControl) to flash the firmware via USB or the port. Hex firmware with with bl in the name includes the bootloader and is intended for scenarios where the bootloader needs to be reflashed; it can be flashed via DFU mode or the DEBUG port.
The X25 SUPER® controller supports ArduPilot. The following mainly explains how to load the ArduPilot firmware.
Online Firmware Flashing:
Run the LGC Ground Station > Click the LGC icon > Vehicle Settings > Firmware > Connect the device to your computer via USB > Select the type of firmware to flash.

Load local firmware
The following firmware is based on ArduPilot 4.7.1 stable firmware (CUAV® Backport) and already includes X25 SUPER board support.
Standard Firmware
| Vehicle | apj firmware | with bl hex firmware |
|---|---|---|
| Multicopter | Download | Download |
| Helicopter | Download | Download |
| Fixed-wing | Download | Download |
| Rover | Download | Download |
| Boat | Download | Download |
ODID Firmware
ArduPilot v4.7.1 ODID firmware (CUAV® Backport), for scenarios that require Remote ID functionality.
| Vehicle | apj firmware | with bl hex firmware |
|---|---|---|
| Multicopter | Download | Download |
| Helicopter | Download | Download |
| Fixed-wing | Download | Download |
| Rover | Download | Download |
| Boat | Download | Download |
Then follow these steps to flash:
- In the firmware flashing settings, check Advanced Settings.
- Select Custom Firmware as the version.
- In the pop-up window, choose the downloaded firmware file.
GPS/RTK Configuration
TIP
The LGC Ground Station supports graphical configuration of GPS/RTK modules. Click the corresponding GPS/RTK icon and follow the system prompts for automatic configuration. You can configure the GPS position offset via the module position slider, and configure GPS2 via the "Positioning Module 2" slider.

Power Module
The X25 SUPER comes standard with the PMU 2 Lite power module, which supports 20–70V input and can measure a maximum current of 220A. It connects to the X25 SUPER via the CAN power port. After connection, start the controller—no controller parameter configuration is required. Optionally, you can choose the PMU 2s power module, which supports 140V input and 500A current measurement.
Airspeed Sensor Configuration
For airframes that require an airspeed sensor, such as Plane/vertical and VTOL, you can configure it in LGC > Vehicle Settings > Sensors > Airspeed Sensor.

TIP
To zero/calibrate the airspeed: Go to Flight View > Real-Time Properties > Airspeed Calibration.
Accelerometer/Gyroscope/Compass Calibration
TIP
Calibrate the accelerometer, gyroscope, and compass on the Sensor Calibration page. Follow the LGC guide to complete the process.
RC Input
The RC IN port supports all one-way RC protocols (SBUS/PPM/DSM).
DSM/PPM/SBUS Receivers
Use Dupont wires to connect the receiver to the RC IN port—no additional parameter settings are required.
For receivers with two-way telemetry protocols (such as CRSF/ELRS), connect them to a UART port (e.g. TELEM/UART4) and set SERIALx_PROTOCOL=23 and related parameters for the corresponding serial port in the ground station. For details, refer to Radio Control Systems.
TIP
Any UART can be used to connect an RC receiver in ArduPilot, and it is compatible with all protocols except PPM. For details, refer to Radio Control Systems.
PWM Output
The X25 SUPER supports 16 PWM output channels via the Servo port, and 32 PWM output channels via the CAN bus, making it compatible with more drivers and actuators.
A built-in bidirectional multi-level converter supports switching between 3.3V/5V PWM. For long cable runs, capacitive or high-impedance loads, 5V PWM is recommended. Use the BRD_PWM_VOLT_SEL parameter to set the PWM voltage level.
Compass/Magnetometer
The X25 SUPER has a built-in RM3100 compass. However, due to potential interference, this board is usually used with an external I2C compass (as part of a GPS/compass combination). Priority should be given to using the external compass (e.g., the compass on a GPS) as the primary compass.
Ethernet Port Configuration
The X25 SUPER has a 100M ETH port. Configure it by following the ArduPilot Ethernet Configuration Tutorial.
Development Guide
- ArduPilot Source Code Repository
- Mission Planner Source Code Repository
- ArduPilot Development Guide
- Mavlink Protocol
- DroneCAN Bus Protocol
[!COMMENT] CUAV® does not provide technical guidance for secondary development of firmware or software. For related questions, please carefully read the relevant guides or seek assistance from the ArduPilot discordchannel.
ArduPilot Firmware Compilation
./waf configure --board CUAV-X25-SUPER
./waf copter --upload
NOTE
The ArduPilot firmware for the X25 SUPER is built from the CUAV® Backport firmware source. Please obtain the corresponding branch source code before compiling.
Pre-built firmware can be found in the Load local firmware section above.
The controller comes pre-installed with an ArduPilot-compatible bootloader, allowing any ArduPilot-compatible ground station to load *.apj firmware files.

