Hello everyone,
I’m working on an autonomous UUV using Blue Robotics M200 motor with theie Basic ESC, running the ArduSubversion of ArduPilot. My companion computer is a Raspberry Pi 5 running BlueOS, and I use QGroundControl as the ground control station. I’m trying to get basic motor actuation working, but I’ve run into a problem: the ESC arms, I can move the motor slider (either in QGC or the BlueOS web interface, but the motor immediately returns to neutral and then after a few seconds the ESC auto-disarms. Hoping someone here might help me debug what I’m missing.
More details below in case they are useful.
Setup & What’s Known to Be Working
-
Motor: Blue Robotics M200
-
ESC: Blue Robotics Basic ESC
-
Flight controller: Orange Cube + with CubePilot carrier board
-
Firmware: ArduSub (version 4.5.5)
-
OS: BlueOS (version 1.4.2) on Raspberry Pi 5
-
GCS: QGroundControl (version 4.2.8) on a mac
-
Connection: Via BlueOS / web interface, using the motor sliders in the web UI.
What does work:
-
I can see telemetry data from IMUs and other internal sensors and these appear to function normally.
-
I can arm the ESC through the interface.
-
The correct amount of motor sliders appear active / blue in the BlueOS web interface.
What’s Not Working
-
When I move the slider away from neutral, the motor does not spin. On release of the slider, it immediately snaps (or otherwise returns) back to neutral.
-
After a few seconds of being armed (or after attempting slider movement), the ESC auto-disarms.
My Objective
-
Fully autonomous underwater missions: navigating between waypoints, etc., with reliable motor control.
-
Motor must be able to be actuated from ground control via ArduSub without manual intervention (once setup, connect, arm, move/throttle, etc.).
What I Have Considered Could Be Going On
Here are hypotheses I’m exploring:
-
Signal / PWM issues: Maybe the ESC is not seeing a valid or stable neutral (1500 µs) signal for long enough, so it arms, sees movement, then returns to neutral, then disarms.
-
ESC firmware / direction / bidirectionality: Perhaps the ESC needs bidirectional firmware or configuration that matches what ArduSub expects.
-
Failsafe / Safety / Arming Checks: There may be safety/arming checks or failsafe rules in ArduSub / BlueOS that are immediately tripping, causing an auto-disarm when certain parameters aren’t met (voltage, RC input, signal stability, etc.).
-
Parameter misconfiguration: Some PWM limits, arming timeouts, PWM trim, etc., may be set too strictly or incorrectly, causing signal to default back or disarm.
-
Frame / motor mapping issues: If the motor output channel isn’t correct or mapped properly, or if direction is misconfigured, the system might interpret ‘movement’ incorrectly and throw it back.
Thanks in advance — happy to share specific firmware version numbers, parameter dumps, or photos of wiring if that helps clarify.