← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The motor setup is not complete

Stops itMotors, ESCs and outputs

What ArduPilot says:

The motors library, the part of ArduPilot that turns the thrust it wants into a signal for each motor, found its own setup incomplete. The words after “Motors:” are its reason and have their own explanation: most often “Check frame class and type” (no frame chosen yet) or “no SERVOx_FUNCTION set to Motor1” (a motor has no output). This test runs even with the arming checks switched off.

What to do, most likely first

  1. No frame has been chosen: FRAME_CLASS is still 0 on a freshly flashed board.

    FixSet FRAME_CLASS (1 for a quad) and FRAME_TYPE (1 for X, 12 for the Betaflight motor order), then reboot.

  2. A motor has no output assigned to it.

    CheckThe message names the motor. Look through the SERVOn_FUNCTION parameters for its number.

    FixGive each motor an output: SERVOn_FUNCTION 33 is Motor1, 34 Motor2, 35 Motor3, 36 Motor4. The Board & Wiring Planner shows which pad is which output.

  3. The motor spin settings contradict each other.

    FixKeep MOT_SPIN_ARM below MOT_SPIN_MIN, and MOT_SPIN_MIN at 0.3 or less.

Parameters to look at

ParameterWhat it is
FRAME_CLASSFrame Class
FRAME_TYPEFrame Type (+, X, V, etc)
SERVO1_FUNCTIONServo output function
SERVO2_FUNCTIONServo output function
SERVO3_FUNCTIONServo output function
SERVO4_FUNCTIONServo output function
MOT_SPIN_ARMMotor Spin armed
MOT_SPIN_MINMotor Spin minimum
The code that sends it

PreArm: Motors: …

ArduCopter/AP_Arming.cpp AP_Arming_Copter::run_pre_arm_checks() · Open in ArduPilot Copter-4.6.3

ArduCopter/AP_Arming_Copter.cpp AP_Arming_Copter::run_pre_arm_checks() · Open in ArduPilot Copter-4.7.1

ArduPlane/AP_Arming.cpp AP_Arming_Plane::quadplane_checks() · Open in ArduPilot Plane-4.6.3

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer