RC failsafe on Stabilize or Arcro modes

Hello folks,

While I tested the RC failsafe on SITL, I noticed that there is difference between document and actual behavior of ArduPilot.
Based on the document (https://ardupilot.org/copter/docs/radio-failsafe.html), “if the copter is armed in Stabilize or Acro modes, and the throttle input is at minimum, the copter will immediately disarm.” However, when I simulated low throttle (below throttle failsafe level), flight mode of ArduPilot was changed to RTL as shown below


On the other hand, when I input “rc 3 1000” --> “rc 3 900”, it finally triggered disarming as shown below.

Could you help me to figure out which behavior is correct for the RC failsafe? Thanks.

I’m also curious about this problem.

It is not a problem - the copter will only disarm if it thinks it is NOT flying.
You will need to better explain the issue you experience, and maybe provide a log.

If the copter is flying and throttle goes below failsafe level, then it triggers an RTL.
You should NOT ordinarily be able to use your throttle stick to go as low as the failsafe level of PWM, or things are configured.

The RC receiver, brand and model, also come into play, as some require to be bound with the throttle below the failsafe, and some can be set to “No Pulses” after binding.

Your explanation is different with ardupilot official documentation.

in stabilize mode It will immedietely disarm at failsafe, according to official doc.

I often notice you not taking others’ struggles or issues seriously in the forum, they are also struggling for the facts.


I always try to read through the whole text that people go to the trouble of writing, and I try to get a sense of what they mean if it’s not clear - and I dont doubt I am sometimes wrong. My typing doesnt come across as compassionate (I know) , although we are not here for that. I am just trying to get out what I understand, and trying to help.
Feel free to call out when I am wrong or I misunderstand.

On reflection @KimHyungSub did describe the situation quite well.

The failsafe link provided is completely correct as far as I can tell from the actual code.

The behaviour noted by @KimHyungSub is to be expected, because as the documentation says, just a radio failsafe doesnt cause disarming.
To disarm while in flight the throttle must also be at minimum throttle AND you must be in Stabilise or Acro mode, and I think this should take at about 2 seconds.

The difference will be if using a modern receiver where it initiates RC failsafe because of signal loss (rather than some lower than normal throttle value) in which case throttle and other channels will be ignored until the RC failsafe is cleared.

I’ve never had a disarm-in-flight event from RC failsafe, but then it would be very rare for me to have throttle all the way down in any mode but AltHold or Loiter. In fact, I’ve never had a disarm in flight for any reason.
I’ve used receivers that needed binding with the throttle channel set below failsafe level in order to trigger failsafe at the required time, but still never had a disarm. So you’d need a way to trigger failsafe THEN throttle goes low - which I think would be very difficult to achieve in real life.

Ideally you would use a receiver with a proper SBUS implementation (which indicates radio failsafe to the flight controller via the data stream) or a receiver that uses some other modern protocol that indicates failsafe without the need to rely on throttle PWM value.
Or at least a receiver that can be set to “no pulses”.
I think in those cases the throttle value wont matter, because you will already be in RC failsafe and performing the configured action, such as RTL.

It would be wise to do your own tests with your transmitter, receiver outside SITL, but without flying.
Maybe someone with a tiny woop that’s fairly immune to crashes would be able to test the acro/stabilise “disarming in flight” issue for us.

I’m going to test this more in SITL, but I cant test it in flight with my copters.

I was testing this out in both SITL, and with a copter in the ground (not flying) - when relying on throttle value for radio failsafe, the FAILSAFE activated first every time and I could not make the copter disarm just because the throttle was low even in Stabilise mode.
While the radio failsafe status exists the throttle and other RC channels are ignored.

In real life, actual flying, it’s often best to allow a failsafe to complete it’s intended action (RTL for example) and check the copter when it’s safely back on the ground.
Interrupting failsafes might be more trouble than expected.

I’m very sorry; I misread the document earlier.

As you described, it is correct that Radio failsafe won’t cause the copter to disarm.

@Truth_T @KimHyungSub
Here’s a real-world example of disarming in Stabilise mode. This one did disarm because:
a) also armed in Stabilise mode
b) throttle at minimum for the entire flight
c) it wasnt a radio failsafe, just an accidental mode change

The fix: get a spring-centred throttle