Skip to content

Thruster and ESC Connections ​

ArduSub does not split outputs into throttle and steering the way a rover or boat does; it numbers them by frame. SERVO1 through SERVO8 map to Motor1 through Motor8. A wrong number raises no error, but the vehicle moves in the wrong direction underwater, so wiring and FRAME_CONFIG have to be confirmed together.

Frame configuration ​

FRAME_CONFIG sets how many thrusters there are, their numbering and the thrust direction of each one. It takes effect only after a reboot.

ValueFrameThrustersControllable axes
0BlueROV16Roll / Pitch / Yaw / Heave / Surge / Sway
1Vectored6Yaw / Heave / Surge / Sway
2Vectored_6DOF8Roll / Pitch / Yaw / Heave / Surge / Sway
3Vectored_6DOF_908Roll / Pitch / Yaw / Heave / Surge / Sway
4SimpleROV-33Yaw / Heave / Surge
5SimpleROV-44Roll / Yaw / Heave / Surge
6SimpleROV-55Roll / Yaw / Heave / Surge / Sway
7CustomFreePer the custom mixer

Frames missing an axis rely on centre of gravity and ballast to hold that axis; the thrusters cannot correct it. BlueROV2 uses frame 1, Vectored; BlueROV2 Heavy uses frame 2, Vectored_6DOF.

Six thrusters: Vectored ​

Top view of the six-thruster vectored frame: 1 and 2 are the forward horizontal thrusters, 3 and 4 the aft horizontal thrusters, 5 and 6 the vertical pair

▲ Vectored frame: numbers 1–6 map to Output 1–6; the red triangle marks the nose

Eight thrusters: Vectored_6DOF ​

Top view of the eight-thruster 6DOF frame: 1–4 are the aft horizontal thrusters, 5–8 the four vertical thrusters

▲ Vectored_6DOF frame: numbers 1–8 map to Output 1–8; four vertical thrusters give heave and roll

Counter-rotating props on shared axes

Where two thrusters oppose each other on the same axis, fit one normal and one reversed prop and run them in opposite directions. Fitting both the same way produces a continuous yaw torque in depth hold or straight running, and forcing it out with MOTx_DIRECTION leaves the attitude shaking.

Outputs and function values ​

The default order already matches; only re-ordered channels need new function values. Keep the wiring and change the parameter.

ParameterValueMeaning
SERVO1_FUNCTION33Motor1
SERVO2_FUNCTION34Motor2
SERVO3_FUNCTION35Motor3
SERVO4_FUNCTION36Motor4
SERVO5_FUNCTION37Motor5
SERVO6_FUNCTION38Motor6
SERVO7_FUNCTION39Motor7
SERVO8_FUNCTION40Motor8

Reboot after changing a function value

SERVOx_FUNCTION only takes effect after a reboot. Without one the ground station shows the new value while the output still follows the old function.

ESC type and travel ​

MOT_PWM_TYPE sets the signal format. Pick it from the ESC datasheet; the wrong choice shows up as an ESC that beeps but does not turn, or one that jumps in speed.

ValueSignal
0Normal PWM
1OneShot
2OneShot125
3Brushed, direct drive
4DShot150
5DShot300
6DShot600
7DShot1200
8PWMRange
9PWMAngle

Submersible thrusters use bi-directional ESCs: 1500 µs is stop, with forward and reverse either side of centre. MOT_PWM_MIN / MOT_PWM_MAX take the travel endpoints from the datasheet; when the datasheet is unclear, use PWMRange or PWMAngle and set travel per ESC. MOT_SPIN_ARM must be lower than MOT_SPIN_MIN — the first is the output applied when armed, the second where thrust begins.

Thrust direction ​

Four ways to fix a reversed thruster, in order from parameter to mechanical:

MethodHow
MOTx_DIRECTION1 normal, -1 reversed; no rewiring
Swap motor wiresSwap any two of the three phase wires on a brushless motor
ESC configuratorReverse direction in the BLHeli or AM32 tool, or through ArduPilot passthrough
MOTORDETECT modeDetects and corrects bi-directional thruster direction at rest underwater, but only for thrusters controlling roll, pitch or yaw

Verify one thruster at a time. Change several at once and you cannot tell which change produced the correct direction.

Common frame wirings ​

FrameThrustersOutputsNotes
Vectored6Output 1–6Four horizontal plus two vertical; the usual survey and inspection layout
Vectored_6DOF8Output 1–8Four horizontal plus four vertical, adds roll control and lift capacity
SimpleROV-44Output 1–4Two horizontal plus two vertical, no lateral motion
SimpleROV-33Output 1–3One horizontal plus two vertical; surge, heave and yaw only

The Vectored frame also has MOT_FV_CPLNG_K, which reduces hydrodynamic coupling between heave and horizontal thrust at the cost of less forward thrust during fast climbs or descents. It defaults to 1.2; 0 disables it.