Use push button to Arm/Disarm copter

I’ve a RC trasmiter with push button and I’d like to use this button to Arm/Disarm my copter, so I have set RC6_OPTION to Arm/Dosarm it’s works but if I realse my button my copter disarm, is it possible to use a push button one press for arming one other press to disarming my copter or should I only use switch button ?


Ah, we’ve talked about thisin the dev team. I might as if @peterbarker can answer this one because he is the one who added the button->aux function feature.

1 Like

I would 2nd that feature request…


1 Like

If you’re using OpenTx (or possibly other highly configurable transmitter firmware), you can use the a Logical Switch set to “Sticky” to get the behavior you want right in the transmitter.

Alternatively, if your flight controller supports Lua scripting, you can write a simple script that polls the momentary switch channel every 50ms or so and arms/disarms as you wish.

1 Like

OPs post indicated this button was still on his RC transmitter - so no
AP_Button involved :slight_smile:

This would basically entail adding a parameter to RC_Channel’s parameters
to hold option bits for each channel, something like

AP_GROUPINFO(“FLAGS”, 7, RC_Channel, option, 0)

One of those bits would be “Option Toggle” or something - basically saying
that a asserted/deasserted transition on the channel should change the
switch position.

We might need a second bit to rotate through high/medium/low siwtch

I can attack this if there’s enough demand for it.


If you dont need the push button on the aircraft, OpenTX can do it like this, we chose channel 7 for Arm/Disarm = RC7_OPTION,41
You could potentially connect an external big red button to your transmitter

  • Throttle to minimum, Arm switch down = aircraft arms
  • do what you like with the Arm switch or the throttle as long as they both aren’t in the disarm position at the same time
  • Land (hopefully), throttle to minimum, Arm switch up = aircraft disarms


And we have RC Option 31 on channel 13 for Motor Emergency Stop

1 Like

If you use openTx to set up a logical switch to run the arming channel, make sure you leave rudder arming on, even if you don’t use it. What I found when testing my own logical switch arming setup was when I tested the failsafe that worked fine, but when I turned the radio back on the plane or copter would disarm because the logical switch was now “off”. I had rudder arming turned off, but once I turned it back on the problem seemed to go away.

I can’t think of a mechanism in the code that would allow for the
behaviour you’re suggesting there.

Interesting flaw with the logical switch there - are you suggesting that
OpenTX will send through some initial value for a channel and only a while
after boot decide that the logical switch is set and it then starts to
send a different value? That sounds like a bug in OpenTX to me.

I just tested it again to make sure I wasn’t mixing things up and I was wrong about something: ARMING_RUDDER doesn’t make a difference. If you use a logical switch to high to trigger arming, when the radio is turned off and then on again, the logical switch will reset to low when the radio powers up again and that will disarm the plane. (I just tested this on a plane, but from memory copter did the same). When I arm with rudder input and not using the logical switch then everything works fine when the radio powers up again.

My setup in openTX is slightly different than the one @xfacta has suggested, but ultimately it still involved the a logical switch being run by a sticky to set the arming channel to 100%.

Here’s a video of me demonstrating what’s going on.

Hi Allister, thanks for the information and video. I’m going to check more here and see what I can come up with.
Of course it could be possible that a transmitter battery could die during long missions, or just some radio fault/glitch, so I feel you’ve brought up a very important situation.

Maybe taking the Arming switch(es) out of the default switch warning setting will help - just thinking aloud.

Based on that scenario, it’s probably best to just use a 2 position switch rather than getting fancy with a momentary one.

1 Like

The battery they “threw in” when I got my TX16S should have been thrown out, so maybe I was a little sensitive to this when I got my radio.

As much as I like my double arming switch I’ve been migrating back to stick arming for anything long range or important.

I’ve thought about this some more and decided I’m not changing the radio configuration, staying with my combination arm/disarm switch and throttle.
Since we mostly deal with multirotors, and test failsafes, I think if the radio fails or gets switched off we will leave it off and let the aircraft do its RTL rather than risk interfering.
A GCS plays a big part these days too.

Planes could be a bit different, if auto-landing from RTL is not possible.

Even if I set the radio to power-on and honour the arm switch position, the risk is that you would unintentionally arm an aircraft one day. The safest thing is to NOT use an arm/disarm channel and go back to rudder/throttle stick arming, but then we had some other minor issues with that…

1 Like

In the end, there isn’t a one size fits all solution to set the safest way to arm your craft. I agree that fixedwing vs multirotor will have different solutions. Notice that I haven’t suggested to stop using these logical switches for arming, because I feel the same as you that in some configurations and operating environments this offers the safest method. I just want to put the information out there so people can make an informed choice when setting things up.