Ardupilot Arming Philosophy/Ideas

Yea, I prefer stick arming too.
But have to admit recently added a kill switch function on a push button. So need to keep pressing it for 4 seconds I believe until permanently disarm occurs. - But motors stop immediately when button is pushed but will start again if released within 4 seconds.

@Allister
Certainly agree with those first two points.

3 Likes

Thanks @Yuri_Rage. I can see your perspective here as well. To see if I understand the Throttle failsafe @xfacta mentioned, let me try to imagine how this would work.

The TX is setup with whatever RF system - not relevant here.
Motor kill switch may or may not be used - not relevant here.
Stick(rudder arming) is active and is used.
A discrete switch is set, which when flipped pulls the throttle signal below FS_THR_VALUE, engaging the RC failsafe (behavior). (In your example, flipping this switch would also pull channel5 low - “disarming” the ELRS RX.)

Is that the idea?

@Karl_Schoelpple I hadn’t thought about this idea with a lot of the modern TXs using buttons - I guess you would be using a momentary non-latching button in your setup?

Yep, correct.
In my case button could also be setup as a latching style but it this stage prefer it as no-latching.

Thanks makes sense. Thanks!

You’ve got the gist of it. My one concern is that such a throttle cut may not kill the motors in a crashed condition very quickly. AP may try to RTL first, before sensing the lack of control response.

I also like @Karl_Schoelpple’s idea of using a momentary switch. I have one that is rarely used on my Copter builds, so I could easily incorporate that into my scheme.

@Allister’s point stands that we should be reticent to make such changes that could disrupt habit patterns. So, I’ll mull all of this over a bit before committing to anything new.

2 Likes

My throttle cut switch on Taranis X9D and Radiomaster TX16S is on switch SF - a long 2 way switch at far left near the slider.
Obviously OpenTX and EdgeTX :slight_smile:

The switch is set to override throttle to -110%
OpenTx and EdgeTX use a range of -100% to +100% for the uninitiated.

And an announcement.

We also have switch warnings set up, so the default (throttle is cut) is in play whenever you power up the radio. You CAN NOT do anything further and the radio wont become ready until all switches are in the default positions (away from the human).

Not all transmitters will have these features. Some plane-oriented transmitters might already have a built in throttle cut function somewhere.

2 Likes

That’s a very interesting idea. I’m going to think more how I could use something like that.

Yup, I agree. That’s part of why I started using Arm/MotorStop on the switch. I feel it’s a middle ground on the situation.

I’ve also considered finding a guarded switch for arming. I’ve seen them on Taranis radios so I’m sure it wouldn’t be a real big deal to install one on the TX16S.

2 Likes

Apart from the throttle cut and an emergency stop switch, we really only changed to using an arm switch (with throttle to minimum) so we didnt have to use the yaw stick.
Some copters are a bit more sensitive than others to any amount of accidental yaw during takeoff.

Thanks to everyone for all the ideas and tips shared. I appreciate it!

I’m still challenged by this. I have been using 165 Arm/EStop on a 3 position switch the way @Allister does it, but this doesn’t align to how ELRS works. I think this is important because in ELRS when IsArmed is enabled, AUX1 (Channel 5) is sent with every packet going out, this is the most reliable way to be able to tell your model to disarm/disarm and these safeguards are applied:

  • All “Button” inputs are disabled (on the hardware - e.g. bind buttons)
  • All “Joystick” (5-way buttons) are disabled (e.g. on your TX module)
  • Bump to Share is disabled
  • VTX Admin is disabled
  • Integrated VTX channel change is disabled
  • Dynamic Power is fully enabled

Now I’ve started playing with HDZero, I am wary of stick arming because it also uses sticks for the VTX menu, so I’d like to have a way to use ELRS as designed and Ardupilot as designed - but so far I can’t figure how out to get both.

I’m assuming you’re using and Edge TX radio so why not program that one switch on the radio for two different channels? For example when you move the 3-pos switch it activates channel 5 high and low to keep ELRS happy, but it also activates Channel 7 Low/mid/high to trigger ArduPilot arming (165). I’m just thinking you may need to put a curve on the channel 5 output to define what it does in the mid position (I’d suggest stay armed since that’s just triggering the TX module, not the drone). On the ardupilot side just leave channel 5 blank. Assign arming to channel 7 or whatever you want. Downside is you burn two channels.

Or buy a CRSF module. :laughing:

1 Like

I’ve tried Crossfire, I don’t like it.

I’ve also tried the 2 channel approach. It seems to work but it doesn’t deliver what ELRS wants.

The main thing that is broken is that you can arm the vehicle not using the radio, for example Mission Planner/QGC via a SiK telemetry radio, LTE to a companion computer etc. So the vehicle could be armed and ELRS doesn’t know about it.

What I really need is a telemetry variable back to the vehicle via CrossFire that tells me if it’s armed or not. I just checked there doesn’t seem to be one (unless I can somehow parse out the “*” on the end of the flight mode.

Not sure if this is useful for this conversation but:
I have channel 5 in the radio programmed to throttle trim up switch. It will keep ON from first switch. And have RC5_OPTION, 0 in ardupilot. That’s just to comply with ELRS recommendantions of having ELRS in armed state in channel 5.

Using default stick arming/desarming ardupilot defaults. That’s fine as I’m never in a hurry at the time of arming.

Plus: Programmed Channel 7 to perform only when BOTH tactile buttons SA and SD are pressed together (TX12 radio). And I have RC7_OPTION, 81 (Disarm). This is my emergency disarm and unlikely to be triggered by accident.

1 Like

I use switch arming on everything but I have also replaced the arming switch with one that has a physical lock out so you need to lift it before it can move, so there is no way it can be moved unintentionally.
Screenshot from 2023-12-11 03-34-11

https://www.aliexpress.com/item/1005001787354459.html

4 Likes

I got this from one of the developers on the ExpressLRS discord

“even if you don’t use ch5 on the drone itself, you need to toggle ch5 on the radio to let the module know you’re armed… doesn’t matter if it’s via a telemetry sensor (via logical switch and/or special function) or by toggling the ch5 switch manually… (it doesn’t have to be set on the craft itself)”

No surprises there - they’ve consistently recommended that. That’s why I use an EdgeTX mix to set Ch5 upon stick arm/disarm. It’s the cleanest solution I’ve found.

1 Like

I’ve got this working by getting the ARM telemetry sensor populated by Yaapu, then using an EdgeTX special function to send it back to the AP over Channel 5. Thanks @robertlong13 for the suggestion and help.

Works great - and Channel 5 is correct whether armed via sticks, switch or ground station and whether disarmed using any of these methods.

I think it should work if disarmed automatically (e.g. after landing), but I haven’t tested that yet.

1 Like

I would add a long delay to Ch5 “disarm” so it stays “armed” significantly longer than it takes to disarm the vehicle.

1 Like