Motor arming

Mike Shellim 26 April 2016
Updated 16 July 2023

Props can cause serious injury!

In this article I'll demonstrate a framework for a custom gesture-based motor arming system. With this framework you can create ultra-safe arming systems without the need for switch checks at startup.


The Sticky logical switch

The basis of the framework is the Sticky switch. Think of it as an on/off switch where the 'on' and 'off' actions can be customised.

L1: Type=Sticky V1={switch for On} V2={switch for Off}

In the context of an arming system, L1 is the arming switch. V1 and V2 are the arming and disarming gestures. Each gesture is implemented as a physical or logical switch.

This method provides great flexibility since the arming and disarming gestures can be different.

Startup state

The great advantage of using a Sticky is that you can ensure that it's Off by default. This means your motor is guaranteed to be safe at startup without the need for startup checks!

Example 1: safe arming

As an example, we'll design an arming system with the emphasis on safety. For this kind of system, (a) arming should be difficult and (b) disarming should be easy (but not so easy that you can do it accidentallly whilst flying the model).

We'll use the following gesture to arm the motor:
  1. Throttle to idle
  2. Elevator stick back
  3. Pull SH
And the gesture to disarm the motor:

The logical switches are shown in the Companion screenshot below.

How it works:

Note that 'Thr' and 'Ele' refer to sticks (not inputs). In the mixer menu, inputs are prefixed with 'I', sticks have no prefix.

Example 2: 'smart' arming switch

Many pilots like to use a simple 2-position switch for arming.

The problem is that switch checks are necessary to ensure the switch starts in the disarmed position. However, by making it 'smart', we ensure that the switch is Off at startup, regardless of the actual position of the switch.

Here's the code, using switch SF.
SF↑ = Off and SF↓ is On.

L2: Edge SF↑ [0, infinite]

L3: Sticky (L2, SF↑)

Regardless of the position of SF, arming switch L3 will always be false at startup. If SF starts in the On position, it will need to be moved Off then On in order to arm.

Integrating an arming switch into the motor channel

With the arming logic done, we can apply it to the motor channel as follows:

How it works:

Using the Channel Override special function (don't!)

An alternative method of disarming which is often mentioned is the Channel Override special function. I don't recommend it, for the following reasons.

Download demo

The following demo shows the arming/kill switch operating on CH3.

For OpenTX 2.2 and above


Safety first!