Flashing Sub Firmware
A submersible runs the ArduSub branch, which sits alongside Rover, Copter and Plane and shares no firmware file with them. Rover or Copter firmware still connects to the ground station, but the thrusters will not respond to the joystick and there is no attitude or depth control. After flashing, set FRAME_CONFIG to the actual frame so the outputs map to thruster numbers.
Flashing
Connect the controller to the computer over USB first, without the battery connected and with the thrusters powered down.
Then use either method below.
Method 1: Online flash
Open Mission Planner → Setup → Install Firmware → click the ArduSub icon and wait for the flash to finish.
Method 2: Local flash
Download the firmware from the table below, then in the Mission Planner firmware screen choose Load custom firmware → select the downloaded file and wait for the flash to finish.
Disconnect everything else before flashing
Only one ground station can hold the serial port at a time. Close other ground stations, serial tools and ESC configuration software before flashing, or the flash stalls at entering the bootloader.
LGC ground station can flash the same way; see Writing ArduPilot firmware.
Controller firmware for submersibles
| Controller | Firmware source | Download |
|---|---|---|
| X25 MEGA | ArduPilot stable | ardusub.apj |
| X25 EVO | ArduPilot stable | ardusub.apj |
| 7-Nano V2 | ArduPilot stable | ardusub.apj |
| Pixhawk V6X v2 | ArduPilot stable | ardusub.apj |
| X7+ Pro | ArduPilot stable | ardusub.apj |
| X7+ | ArduPilot stable | ardusub.apj |
| Nora+ | ArduPilot stable | ardusub.apj |
| V5 nano | ArduPilot stable | ardusub.apj |
| V5+ | ArduPilot stable | ardusub.apj |
No official Sub build for X25 SUPER
There is no CUAV-X25-SUPER directory under Sub/stable on firmware.ardupilot.org. For Sub firmware, pick one of the boards listed above or build it yourself.
After flashing
The controller reboots when the flash finishes, and the thrusters still will not move. Set FRAME_CONFIG for the actual frame first, then check numbering and direction against Thruster and ESC connections.
A wrong frame raises no error in the ground station, but forward, vertical and yaw inputs bleed into each other, and in the water it is hard to tell a parameter problem from a wiring problem.

