← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The safety switch has not been pressed

Stops itArming, disarming and the safety switch

What ArduPilot says:

The board's safety lock is on. While it is on, the motor and servo outputs are held off (all but those listed in BRD_SAFETY_MASK), so nothing can spin, and arming is refused. A board that starts with the lock on (BRD_SAFETY_DEFLT 1) waits for its safety button: the button's light flashes while the lock is on and stays lit once it is off. Copter tests it again at the moment of arming, as “Safety Switch”.

What to do, most likely first

  1. The safety button has not been pressed since power-on.

    CheckLook at the button's light: flashing means the lock is still on.

    FixProps off or the aircraft held down, press and hold the button for about a second, until its light stays on. BRD_SAFETYOPTION says when the button is obeyed; by default it works in both directions while disarmed and not at all while armed.

  2. The board has no safety button, but BRD_SAFETY_DEFLT is 1: often from a parameter file made for a Pixhawk or a Cube.

    CheckIf the board has no safety connector (most all-in-one FPV boards) and no GPS module with a button is plugged in, nobody can press it.

    FixSet BRD_SAFETY_DEFLT to 0 and reboot: the board then starts with the lock off. This is how a board without the button is meant to run, and its default there.

  3. The lock comes back on at every disarm: BRD_SAFETYOPTION bit 3 asks for that.

    FixPress the button before each arming, or clear bit 3 of BRD_SAFETYOPTION if you did not mean it.

  4. The button, its cable, or the GPS module that carries it is unplugged or broken.

    CheckOn Pixhawk-style boards the button is often on the GPS module: check that connector. The ground station can release the lock by command; if that works, the button is at fault.

    FixRepair the cable or replace the button. Until then the ground station can release the lock for one session, props off.

With the lock on, the flight controller is fully awake but cannot turn a motor: it is the last barrier between a mistaken arm and a spinning prop. If your board has the button, keep using it.

Parameters to look at

ParameterWhat it is
BRD_SAFETY_DEFLTSets default state of the safety switch
BRD_SAFETYOPTIONOptions for safety button behavior
BRD_SAFETY_MASKOutputs which ignore the safety switch state
The code that sends it

PreArm: Hardware safety switch

libraries/AP_Arming/AP_Arming.cpp AP_Arming::hardware_safety_check() · Open in ArduPilot Copter-4.7.1

PreArm: Safety Switch

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

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

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