CUAV X25 EVO Controller User Manual

X25 EVO Controller

X25 EVO is a brand-new high-performance industrial-grade controller from CUAV. Compared with traditional controllers, X25 EVO has achieved breakthrough upgrades and optimization in aspects such as power rails, sensors, shock absorption systems, temperature compensation systems, hardware reliability and device compatibility, significantly improving its performance and stability in complex environments and meeting the application needs of various unmanned system. The X25 EVO incorporates numerous optimizations and innovations for professional, large-scale industrial unmanned systems and is fully compatible with ArduPilot/PX4 firmware.It can be widely used in unmanned systems, including multi-rotor, elevator, fixed-wing, VTOL fixed-wing, unmanned vehicles, unmanned vessels, and unmanned underwater vehicles.

Features

  • Disruptive 10V~18V Wide-Range Power Supply Architecture, Delivering Higher Current to Accessories.
  • New industrial IMU sensor matrix (three sets of IMU, barometer + industrial-grade electronic compass).
  • Select TDK industrial-grade sensors with high precision, high shock resistance, large range, low noise and slight temperature drift.
  • IIM series sensors are equipped with a high-precision constant temperature active external clock to reduce ODR errors.
  • Dual Temperature Compensation System | Redefining the standard for sensor performance accuracy.
  • Powerful performance | High-performance H7 processor.
  • The fourth generation tilted symmetrical damping matrix shock absorption system + external fixed ear shock absorption.
  • CAN bus + 100M Ethernet | Supports ESC/motor data transmission.
  • Standard PMU 2 Lite high-voltage and high-current (70V, 220A) power detector.
  • Supports 3.3V/5V PWM level switching.
  • Status visualization | Multi-function RGB full-color indicator light.
  • Multi-model application | Compatible with ArduPilot and PX4 firmware.

Hardware parameters

ITEMSpecification
ProcessorSTM32H7 Arm® Cortex®-M7,480MHz
VersionX25 EVO
Acce&GyroIIM-42653 / IIM42652 / IIM42653
CompassRM3100
BarometerTDK IPC20100 / Bosch BMP581
PWM OUT16
Power IN (CAN)2(model:5055670871-5055650801)
GPS Ports2
TELEM Ports2
UART4 Ports1
RCIN1(PPM/SBUS/DSM and other protocols)
DEBUG(DSU)1
Ethernet (ETH)1
CAN BusCAN1×3
CAN2×2
SPI6 Expansion1
ADC 3V31
ADC 6V61
USB Ports1(Type-C)
I2C Ports3
RSSI Ports1
Power ModulePMU 2 Lite
Input VoltageUSB:4.75V ~ 5.25V
PMU 2 Lite:20V ~ 70V
Power:10V ~ 18V
Operating Temperature-20 ℃ ~ +85°C
Size76.5 × 45.45 × 32.2 mm
Weight110g

Size

Pinouts

PX4 Firmware compilation command

				
					make cuav_x25-evo_default upload


				
			

ArduPilot Firmware compilation command

				
					ArduPilot Firmware compilation command

				
			

Quick Wiring

This quick wiring guide explains how to power the X25 EVO intelligent controller and connect its most critical peripheral devices.

Hardware Connection Overview

The figure below shows the connections for the most important peripherals of the X25 EVO.

Main PortsFunction & Purpose
POWER C1/C2Connect the PMU2 Lite to this port; this port is used for connecting the DroneCAN power module.
M1~M16PWM signal output ports, usable for controlling motors or servos; support 3.3V/5V PWM configuration.
RC INConnect remote controller receivers with one-way protocols (e.g., SBUS/DSM/PPM). Note: ELRS/CRSF receivers should be connected to any serial port, not RC IN.
RSSIFor connecting signal strength feedback modules.
GPS&SAFETYConnect Neo-series GPS or C-RTK-series RTK; this port includes interfaces for GPS, safety switch, and buzzer.
GPS2Usable for connecting additional GPS/RTK modules.
DEBUG (DSU)For FMU chip debugging and reading debug device information; with ArduPilot firmware, it can be configured for other serial port functions.
ADC3V3For analog level signal detection; the maximum detectable level signal is 3.3V.
ADC6V6For analog level signal detection; the maximum detectable level signal is 6.6V.
TF CARDInsert an SD card here to enable log storage functionality.
ETHEthernet port, usable for connecting Ethernet devices such as companion computers.
I2C1/2/3Connect external I2C devices (e.g., external compasses) for communication between the controller and I2C devices.
TELEM1/TELEM2Connect telemetry modules (for data transmission) to enable MAVLINK data interaction.
CAN1/2For communication between the controller and DroneCAN devices (e.g., connecting NEO4 SE GPS).
TYPE CUSB port of the controller, usable for connecting to the ground station, flashing firmware, and other operations.
SPI6SPI port for external expansion; generally not used.

GPS

We recommend using a CAN GPS/RTK (such as Neo 4SE); simply connect it to the CAN 1 or CAN 2 port. You can also use a standard GPS/RTK module by connecting it to the GPS&SAFETY port.Most commonly used GPS modules today integrate GPS, compass, safety switch, buzzer, and LED status light. Mount the GPS module on a bracket, keep it away from other electronic devices, and align it with the aircraft’s forward direction (the arrow on the NEO GPS should match the arrow on the flight controller).

Safety Switch & Buzzer

Note

When using a NEO-series GPS, no additional safety switch or buzzer is required. The safety switch acts as a motor safety lock—long-press the white button on the GPS to arm or disarm the motor.For PX4 firmware: The safety switch is disabled by default.For ArduPilot firmware: Disable the safety switch by setting the BRD_SAFETY_DEFLT parameter to 0.

Remote Controller

Connection methods vary by remote controller and receiver type:

  • Connect TELEM1/TELEM2 to the UART0 port of the H16 remote controller, and link the H16’s SBUS pin to the RC IN port.

SBUS/DSM/PPM Protocol Receivers

  • Use wires to connect the receiver to the RC in port at the rear of the controller.

ELRS/CRSF Receivers

  • Connect the ELRS/CRSF receiver to any UART serial port of the X25 EVO (e.g., TELEM2)and Modify the corresponding parameters for ArduPilot /PX4.

Power module

The X25 EVO comes standard with the PMU2 Lite power module, which supports 20–70V input and can measure a maximum current of 220A. It can be directly connected to the Power C1/C2 port of the X25 EVO and is plug-and-play (no configuration required).

Telemetry

A telemetry system allows you to communicate with the unmanned system via ground station software, enabling you to monitor and control the UAV’s status during flight. Connect the on-board unit of the telemetry system to the TELEM1 or TELEM2 port.

SD Card

The SD card is pre-installed at the factory—no additional installation is needed on your part

Motors

Connect motors/servo systems to the M1~M16 ports in the order specified for your aircraft in the airframe reference document.

Servo Power Supply

The X25 EVO does not supply power to servos. If you need to power servos:

  • Connect a BEC to the positive and negative terminals of any column among M1~M16 (the positive and negative terminals of M1~M16 are interconnected).
  • Then connect the servos to the same column.

ArduPilot Firmware User Guide

Loading Firmware

The X25 EVO® controller supports ArduPilot. The following mainly explains how to load the ArduPilot firmware.

Tip

The X25 EVO supports firmware versions 4.6.3 and above.

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:

Download the firmware to your local device:

Copter

Helicopter

Plane & VTOL

Rover

Boat/Submarine

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 EVO comes standard with the PMU2 Lite power module, which supports 20–70V input and can measure a maximum current of 220A. It can be directly connected to the Power C1/C2 port of the X25 EVO.

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.

UART Mapping

SERIAL0 -> USB SERIAL1 -> UART7 (TELEM1) SERIAL2 -> UART5 (TELEM2) SERIAL3 -> USART1 (GPS1&SAFETY) SERIAL4 -> USART2 (GPS2) SERIAL5 -> UART4 (None, labelled UART4) SERIAL6 -> USART3 (None, labelled FMU DEBUG) SERIAL7 -> OTG2 (SLCAN)

SERIALMark
SERIAL0USB
SERIAL1UART7 (TELEM1)
SERIAL2UART5 (TELEM2)
SERIAL3USART1 (GPS1&SAFETY)
SERIAL4USART2 (GPS2)
SERIAL5UART4
SERIAL6USART3 (DEBUG/DSU)
SERIAL7

OTG2 (SLCAN)

Note

The TELEM1 and TELEM2 ports support flow control (RTS/CTS); other UARTs do not have RTS/CTS pins. All UARTs are equipped with fully functional DMA.

RC Input

Hardware Connection Diagram
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.

Receivers with Two-Way Protocols (e.g., CRSF/ELRS)

For receivers with two-way telemetry protocols (such as CRSF/ELRS), connect them to a UART port. The following is a setup tutorial (taking SERIAL2 (UART5/TELEM2) for two-way RC as an example):

ELRS Receivers

Connect the receiver to the TELEM2 port and set the following parameters:

  • SERIAL2_PROTOCOL=23;
  • SERIAL2_OPTIONS=0;
  • RSSI_TYPE=3;
  • RC_OPTIONS=8192 (Use 420kbaud for ELRS protocol);
  • Save the parameters and restart the controller.

CRSF Receivers

  • SERIAL2_PROTOCOL=23;
  • SERIAL2_OPTIONS=0;
  • RSSI_TYPE=3;

FPort Receivers

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 EVO supports 16 PWM output channels, which are divided into 5 groups. Each group uses a different timer—only one output rate or protocol can be used for all channels in the same group.

PWM Output Grouping:

  • PWM 1–4: Group 1 (TIM5)
  • PWM 5–8: Group 2 (TIM4)
  • PWM 9–11: Group 3 (TIM1)
  • PWM 12–14: Group 4 (TIM8)
  • PWM 15–16: Group 5 (TIM12)

 Note

Channels in the same group must use the same output rate. If any channel in a group uses DShot, all channels in that group must use DShot. Channels 15 and 16 only support PWM—they do not support voltage levels or DShot.

[!TiP] All channels support switching between 3.3V/5V PWM. For long cable runs or high-power systems, 5V PWM is recommended. Use the BRD_PWM_VOLT_SEL parameter to set the PWM voltage level.

GPIO

All servo outputs can be used as GPIOs (for relays, camera shutters, RPM, etc.). To use a servo output as a GPIO, set SERVOx_FUNCTION=-1 (where x is the pin number).

GPIO Pin Mapping:

Pin nameSERVO SNGPIO number
M1SERVO150
M2SERVO251
M3SERVO352
M4SERVO453
M5SERVO554
M6SERVO655
M7SERVO756
M8SERVO857
M9SERVO958
M10SERVO1059
M11SERVO1160
M12SERVO1261
M13SERVO1362
M14SERVO1463
M15SERVO1564
M16SERVO1665

Example: To use M14 as a relay, set Relay_pin=63.

Analog Input

The X25 EVO has three analog input ports: ADC Pin13 → ADC 3.3V ADC Pin12 → ADC 6.6V ADC Pin10 → RSSI

RSSI

The X25 EVO has an RSSI (voltage signal) telemetry strength monitoring port. Enable it by setting the following parameters:

  • ‘RSSI_TYPE’ = 1
  • ‘RSSI_ANA_PIN’ = 10

Compass/Magnetometer

The X25 EVO 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 EVO has an ETH port. Configure it by following the ArduPilot Ethernet Configuration Tutorial.

PX4 Firmware Guide

This chapter describes the points to be aware of when running PX4 firmware on the X25 EVO. The PX4 docs has the complete PX4 guide.

Loading firmware

There are two methods for firmware flashing: online flashing and local flashing. You can choose based on your needs.

Write firmware online:

  • Download and run the LGC Ground Station, then click the LGC icon.
  • Navigate to Drone Settings → Firmware, and connect the flight controller to the computer via USB.
  • Select the required “PX4 Pro vxxxx” version and click Confirm.
  • After the loading is complete, if no operation is performed, the flight controller will connect automatically after a dozen seconds.

Local Flashing (Custom Firmware)

  • Download the X25 EVO Local Firmware to your local computer.
  • Enter the firmware flashing settings, check Advanced Settings, and select the version as Custom Firmware.
  • In the pop-up window, select the downloaded local firmware file to complete the flashing.

Serial Mapping

UARTDevicePort
USART1/dev/ttyS0GPS1
USART2/dev/ttyS1GPS2
USART3/dev/ttyS2Debug Console
UART4/dev/ttyS3UART4
UART5/dev/ttyS4TELEM2
USART6/dev/ttyS5RC
UART7/dev/ttyS6TELEM1

Power Module Settings

The X25 EVO comes standard with a PMU2 Lite power module, which supports a 20-70V input and a maximum current of 220A. It can be directly connected to the X25 EVO’s Power C1/C2 ports. Once connected, power on the controller without configuring any parameters.

If you modify its settings, you need to set the following parameters and restart the controller after writing.

  • Set the UAVCAN_ENABLE parameter to Sensors Automatic config.
  • Set the UAVCAN_SUB_BAT parameter to Enabled.

Note

Analog power modules are not recommended due to poor accuracy and large temperature drift. It is recommended to use CAN power modules such as PMU2 Lite (with factory calibration and temperature compensation) or CAN smart batteries.

Rated Voltage

The X25 EVO supports triple power redundancy. Pay attention to the voltage range of each interface.

Power RailTypeVoltage Range
POWER C1DroneCAN/UAVCAN Battery Interface10V – 18V
POWER C2DroneCAN/UAVCAN Battery Interface10V – 18V
USBUSB Input4.75V – 5.25V

 Tip

Unlike other controllers, the X25 EVO’s POWER C1/C2 ports do not support 5V input, only 10V-18V voltage input. For the default package, the PMU 2lite converts the 20-70V voltage to 15V to power the X25 EVO.

Ethernet Configuration

The X25 EVO supports LAN connection via Ethernet. Devices in the LAN must be on the same IP network (same subnet) to ensure each device has a unique IP address and can communicate with other devices. By default, Ethernet uses DHCP for automatic IP assignment; if DHCP fails, you need to set the IP manually.

Setting the IP Address

  • Connect the controller to the computer using a USB cable.
  • Open QGroundControl via the MAVLink Console → Analyze Tools.
  • Enter the following commands in the MAVLink Console (to write values to the configuration file):
				
					echo DEVICE=eth0 > /fs/microsd/net.cfg
 echo BOOTPROTO=fallback >> /fs/microsd/net.cfg
 echo IPADDR=10.41.10.2 >> /fs/microsd/net.cfg
 echo NETMASK=255.255.255.0 >>/fs/microsd/net.cfg
 echo ROUTER=10.41.10.254 >>/fs/microsd/net.cfg
 echo DNS=10.41.10.254 >>/fs/microsd/net.cfg
				
			
  • After setting the network configuration, disconnect the USB cable and restart the controller.
  • After the setup is complete, the configuration information will be saved in the SD card directory /fs/microsd/net.cfg name=value as follows:
				
					DEVICE=eth0
BOOTPROTO=fallback
IPADDR=10.41.10.2
NETMASK=255.255.255.0
ROUTER=10.41.10.254
DNS=10.41.10.254
				
			

Where the values are:

  • DEVICE: Interface name. Default is .eth0
  • BOOTPROTO: Protocol for getting PX4 IP address. Valid values for proto are: , , (use DHCP but fall back to static address after time, if that fails) dhcpstaticfallback
  • IPADDR: Static IP address (used if BOOTPROTO is or static fallback)
  • NETMASK: Network mask
  • ROUTER: The address of the default route.
  • DNS: The address of the DNS server.

Network Connectivity Test

  • Open the Windows Command Prompt.
  • Enter the command: ping 10.41.10.2

Tip

A response with network latency data indicates that communication is established. A “request timed out” message may mean the IP address is incorrect or communication has failed. For more details, refer to PX4 Ethernet Setup.

Connecting to GCS

Run the LGC Ground Station software. Configure the Ethernet port to transmit MAVLink data.

Parametersnumerical valuesGCS displaydescription
MAV_2_CONFIG1000EthernetConfigure MAVLink to transmit via Ethernet
MAV_2_BROADCAST1Always broadcastBroadcast messages continuously
MAV_2_MODE0NormalSend the “normal” set of MAVLink messages (i.e., the GCS set)
MAV_2_RADIO_CTL0DisabledDisable software restrictions on MAVLink traffic
MAV_2_RATE100000100000B/sMaximum transmission rate
MAV_2_REMOTE_PRT1455014550MAVLink remote port 14550 (for GCS)
MAV_2_UDP_PRT1455014550MAVLink remote port 14550 (for GCS)
  • Create a new network connection: Go to Application Settings → Commlinks → Add Connection. Set the connection name, select UDP as the connection type, enter the controller’s IP address and port number (14550), then click OK to confirm the creation.
  • Create a new network connection (Application Settings > Commlinks > Add Connection > Set Connection Name, Connection Type to UDP, Port Number to 14550, IP Address to Controller IP, Click OK to confirm creation).
  • Once the connection is established, select the link to begin communication.

Firmware Compilation

 Note

Most users do not need to compile firmware; they can directly flash firmware online via LGC/QGroundControl.

Compilation Command

				
					make cuav_x25-evo_default

				
			

Debug Port

The PX4 System Console and SWD run on the FMU Debug port. They can be used with the C-ADB Debug Adapter for debugging configuration.

PinSignalVolt
1 (red)5V++5V
2 (blk)DEBUG TX (OUT)+3.3V
3 (blk)DEBUG RX (IN)+3.3V
4 (blk)FMU_SWDIO+3.3V
5 (blk)FMU_SWCLK+3.3V
6 (blk)GNDGND

Safety Switch & Buzzer

Development Guide

Note

CUAV does not provide technical support for secondary development of firmware or software. For related questions, please read the relevant guides carefully.

Comments

0 Comments Add comment

Leave a comment