Motor arming

Mike Shellim 26 April 2016
Updated 20 April 2023

Motor arming is a common topic of discussion in the forums. In this article I'll demonstrate a simple framework for designing your own custom arming system, using two examples.

Note that I use the term 'system' rather than 'switch', because arming can be much more refined than just simply flipping a switch on and off.

But first a few definitions:

The Sticky logical switch

Arming systems are typically based on a Sticky switch which is used to activate or deactivate a throttle mix.

A Sticky logical switch is essentially an on/off switch where the 'on' and 'off' actions can be customised:

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

Switch is a physical or a logical switch.

In the context of an arming system, the 'on' switch represents the arming gesture and the 'off' switch represents the disarming gesture.

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

We'll see later how the sticky switch is integrated into the motor mix.

Gesture design

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:

Note that SH disarms the motor unconditionally, so it also functions as a kill switch. A condition could be added that the throttle must be at idle, in which case SH would no longer qualify as a kill switch.

The code

The logical switches are shown in the Companion screenshot below.

Note that 'Thr' and 'Ele' refer to sticks (not inputs) - make sure to make the correct selection (inputs are prefixed with 'I', sticks have no prefix)

Integrating an arming switch into the motor channel

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

How it works:

Smart switch

One of the great benefits of a Sticky based system is that switch checks are not needed at startup. This is because the initial state of a sticky switch is false equating to 'disarmed'.

We can apply this to make a regular 2-position switch 'smart', whereby the default state is Off regardless of the actual position of the switch.

To do this,

  1. Select a 2-position switch to use.
  2. Create an Edge logical switch to trigger when the 2-pos transitions from Off to On
  3. Create a sticky to handle the on and off actions.

Here's an example with SF↑ = Off and SF↓ is On.

L1: Edge SF↑ [0, infinite]

L2: Sticky (L1, SF↑)

Regardless of the position of SF, the sticky switch (L2) will always be false at startup. If SF is in the On position, it will need to be moved Off then On in order to activate it.

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

MotorArmKill.otx

Safety first!