# Flight Termination Configuration

The _Flight termination_ [failsafe action](../../config/safety#failsafe-actions) may be triggered by a [safety check](../config/safety) (e.g. RC Loss, geofence violation, etc. on any vehicle type or in any flight mode), or by the [Failure Detector](../../config/safety#failure-detector).

:::note Flight termination may also be triggered from a ground station or companion computer using the MAVLink [MAV\_CMD\_DO\_FLIGHTTERMINATION](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_FLIGHTTERMINATION) command. This is sent, for example, when you call the [MAVSDK Action plugin](https://mavsdk.mavlink.io/main/en/cpp/api_reference/classmavsdk_1_1_action.html#classmavsdk_1_1_action_1a47536c4a4bc8367ccd30a92eb09781c5) `terminate()` or `terminate_async()` methods. :::

When _Flight termination_ is activated, PX4 simultaneously turns off all controllers and sets all PWM outputs to their failsafe values.

Depending on what devices are connected, the PWM failsafe outputs can be used to:

* Deploy a [parachute](../drone_parts/peripherals/parachute).
* Extend retractable landing gear.
* Move a PWM-connected gimbal to a safe orientation (or retract it) in order to protect the camera.
* Trigger an inflatable device like an airbag.
* Trigger an alarm.

There is no way to recover from flight termination. After triggering you should unplug the battery as soon as possible. You will need to reboot/power cycle the vehicle before it can be used again.

:::tip PX4 does not know what safety devices are attached - it just applies a predefined set of PWM values to its outputs. :::

:::tip Failsafe values are applied to all outputs on termination. There is no way to configure independent time-based (or other) triggering of the motors or specific safety devices. :::

:::note This is _not_ an independent _Flight Termination System_. If power is lost or if the autopilot crashes completely, the failsafe devices will not be triggered. :::

## Hardware Configuration

Any _safety device(s)_ (e.g. a [parachute](../drone_parts/peripherals/parachute)) that can be triggered by changing a PWM value can be used, and may be connected to any free PWM port (both MAIN and AUX).

:::note If you're using Pixhawk-series board you will have to separately power the servo rail (i.e. from a 5V BEC, which is often also available from your ESC). :::

## Software Configuration

The [Safety](../config/safety) topic explains how to set the _flight termination_ as the [failsafe action](../../config/safety#failsafe-actions) to be performed for particular failsafe check.

The [Failure Detector](../../config/safety#failure-detector) can also (optionally) be configured to trigger flight termination if the vehicle flips (exceeds a certain attitude) or if failure is detected by an external automatic trigger system (ATS):

* Enable the failure detector during flight by setting [CBRK\_FLIGHTTERM=0](../parameter_reference#CBRK_FLIGHTTERM).
* [Safety > Failure Detector > Attitude Trigger](../../config/safety#attitude-trigger) explains how to configure the attitude limits that trigger _Flight termination_. :::note During _takeoff_ excessive attitutes will trigger _lockdown_ (kill motors, but not launch parachute) rather than flight termination. This is always enabled, irrespective of the value of `CBRK_FLIGHTTERM`. :::
* [Safety > External Automatic Trigger System (ATS)](../../config/safety#external-automatic-trigger-system-ats) explains how to configure an external trigger system.

For each MAIN output to which a safety device is attached, where "n" is the PWM port number, set:

* [PWM\_MAIN\_DISn](../parameter_reference#PWM_MAIN_DIS1) to the device's "OFF" PWM value.
* [PWM\_MAIN\_FAILn](../parameter_reference#PWM_MAIN_FAIL1) to the device's "ON" PWM value.

For each AUX output to which a safety device is attached, where "n" is the PWM port number, set:

* [PWM\_AUX\_DIS1](../parameter_reference#PWM_AUX_DIS1) to the device's "OFF" PWM value.
* [PWM\_AUX\_FAILn](../parameter_reference#PWM_AUX_FAIL1) to the device's "ON" PWM value.

Finally, set the `PWM_AUX_FAILn` and `PWM_MAIN_FAILn` PWM values for any motors.

## Logic Diagram

The diagram below shows the logical flow around flight termination.

![Logic diagram](https://4155462212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LArEa7z2SPawfl3HpCD%2Fuploads%2Fgit-blob-ecf0b609510ff4b5572257e03f2055ae52aaeb7d%2Fflight_termination_logic_diagram.png?alt=media)
