Skip to content

Sub Setup and Configuration ​

ArduSub is not tuned in the same order as a rover or boat: thrusters only produce real force in water, while depth, attitude and leak protection have to be configured before the vehicle goes in. Get the order wrong and a problem in the water could be ballast, wiring or a parameter.

Setup order ​

StepWhat to doPage
0Flash ArduSub firmware and set FRAME_CONFIG for the frameFlashing Sub firmware
1Mount the controller in the housing at the standard orientationMounting the controller and accessories
2Wire thrusters, gimbal and gripper by frame numberThruster and ESC connections
3Fill in the basics: frame, ESC type, thrust directionKey parameters below
4Calibrate the accelerometer and compassCalibration below
5Configure the leak, internal pressure and depth sensorsDepth and leak detection below
6Run the motor test before sealing the housingPower-on checks below

Key parameters ​

ParameterValueNotes
FRAME_CONFIG1Frame; 1 is the six-thruster Vectored, other values on the thruster page
SERVO1_FUNCTION ~ SERVO8_FUNCTION33 ~ 40Motor1 ~ Motor8, mapped to outputs by frame number
MOT_PWM_TYPE00 normal PWM; OneShot, DShot and PWMRange per the ESC
MOTx_DIRECTION11 normal, -1 reversed; check each thruster
MOT_SPIN_ARM / MOT_SPIN_MIN0.1 / 0.15Spin when armed and thrust start; the first must be lower
MOT_THST_HOVERPer vehicleHover thrust, 0.125–0.6875; reset after changing ballast
PILOT_SPEED / PILOT_SPEED_UPPer vehicleMaximum horizontal and ascent speed in cm/s; PILOT_SPEED_DN for descent
MOT_FV_CPLNG_K1.2Vectored only: heave/surge decoupling, 0 disables
SURFTRAK_DEPTHPer vehicleMinimum depth for surface tracking, in cm
FS_LEAK_ENABLE2Leak protection: 2 enters surface mode, 1 warns only, 0 disabled

Accelerometer and compass calibration ​

Accelerometer and compass calibration follows the Sensor calibration page.

Inside a submersible the housing is tight and the compass sits close to the ESCs, power leads and thrusters, so fix the high-current cabling in place before calibrating. Once the housing is sealed the compass cannot be moved, and this step has to be right the first time.

Depth and leak detection ​

Depth hold relies on the depth sensor and safety on the leak and internal pressure sensors; neither replaces the other.

ParameterValueNotes
RNGFND1_TYPE2323 is BlueRobotics Ping; other rangefinders by model
RNGFND1_ORIENT25Facing down: 25 is Down, 24 is Up
RNGFND1_MIN / RNGFND1_MAXPer rangeReadings outside the range are discarded; do not fill in the whole water column
LEAK1_PIN50Leak detector on AUX1; -1 disables
LEAK1_LOGIC1Level when dry; wired the other way it alarms at power-up
FS_LEAK_ENABLE22 enters surface mode, 1 warns only, 0 disabled
FS_PRESS_ENABLE1Warn only when internal pressure is too high; threshold is FS_PRESS_MAX in Pa

Test the leak protection

After assembly, bridge the leak probe with a wet cloth and confirm the ground station raises an alarm and the vehicle takes the configured action. A parameter that was never tested is only discovered when water is already inside.

Joystick and radio ​

Submersibles are flown mostly from a ground station joystick, with commands travelling over the umbilical or a telemetry link. Vehicles using a surface buoy relay can also carry a radio link, but radio does not travel underwater — it only works on the surface.

ParameterNotes
JS_GAIN_DEFAULTJoystick gain at power-up, 0.1–1.0; start low and raise it in the water
JS_GAIN_MIN / JS_GAIN_MAXRange the joystick buttons can adjust the gain through
JS_LIGHTS_STEPSNumber of light brightness steps, matching the actual lamp
PILOT_ACCEL_ZVertical acceleration in cm/s²; too high overshoots in depth hold

Power-on checks ​

  1. Remove the props or keep the thrusters out of water and power up briefly. Outputs only carry a signal once armed — confirm that first.
  2. Open the motor test in the ground station and step through outputs 1–8, confirming each number matches its physical thruster.
  3. Command forward on each thruster and check the thrust direction; a bi-directional ESC must stop at centre, and one that keeps turning has uncalibrated travel.
  4. Move the joystick through surge, sway, heave and yaw and confirm each direction; if reversed, change MOTx_DIRECTION first.
  5. Bridge the leak probe and confirm the alarm and protection action; then unplug the umbilical and confirm the behaviour when the ground station disappears.

Common symptoms ​

SymptomCauseFix
Thrusters do not turn at allSERVOx_FUNCTION still 0Set it to 33–40 to match the motor number
Thrusters keep turning when armedBi-directional ESC travel not calibratedReset MOT_PWM_MIN / MOT_PWM_MAX per the datasheet
Forward moves backwardsMotor direction or phase wiresChange MOTx_DIRECTION first, then swap wires
Slow sinking in depth holdInsufficient ballast or MOT_THST_HOVER too highTrim first, then reset hover thrust
Leak alarm at power-upLEAK1_LOGIC invertedSwap 0 and 1
Constant yaw in straight runningShared-axis thrusters or props fitted the same wayCheck props and direction against the frame diagram
Floaty joystick responseGain too high or MOT_FV_CPLNG_K too lowLower JS_GAIN_DEFAULT, then adjust decoupling

Parameters only fix parameter problems

A reversed direction can be made to look right either by changing a parameter or by rewiring. Rewiring is the real fix; parameters belong to travel, deadband and PID — the places that genuinely need numbers.