TBS Nano RX Failsafe Cut Mode Still Sends PWM — Preventing Proper RTL on Signal Loss

I’m running into an issue trying to configure my drone to enter RTL on radio signal loss. I’m using a TBS Nano RX (CRSF) with a TBS Tango 2 transmitter. The flight controller is a TBS Lucid H7 running ArduCopter 4.6.0.

Goal:
If the radio signal is lost, I want the drone to trigger RTL — not disarm and fall out of the sky. I would like it to RTL with signal loss in any mode including manual


What I’ve Done So Far:

Failsafe Setup in ArduPilot:

  • FS_THR_ENABLE = 1
  • FS_THR_VALUE = 975
  • RC3_MIN = 987 (confirmed from Mission Planner)
  • FS_OPTIONS = 1 (continue in AUTO if already in AUTO)
  • RC_OPTIONS = 8 (treat missing RC channel input as failsafe)

The failsafe screen seems to be set up correctly with signal loss resulting in RTL selected but unfortunately when signal is lost in practice the drone disarms after maybe one second.

Failsafe Mode in Tango 2:

  • Set to “Cut” under the failsafe settings for all channels.
  • Tested with Pos Hold mode as well, but that results in the RX continuing to output the current stick values — not useful for throttle failsafe as ardupilot doesn’t detect a problem.

What I Observed:

  • When I power off the transmitter, the throttle PWM (ch3in) stays at 987, even though failsafe is set to “cut.”
  • Because 987 is both the minimum stick position and the signal the RX sends when powered off, ArduPilot doesn’t detect a failsafe condition.
  • This prevents FS_THR_ENABLE from triggering RTL — instead, it just says Radio Failsafe and disarms immediately.

Additional Tests:

  • I confirmed that ch3in (throttle) does not disappear or drop below 975 when the radio is powered off.
  • Tried setting different values for RC3_TRIM, RC3_MIN, and tested RC_OPTIONS toggles — no effect.
  • Verified in the Mission Planner Status tab that PWM values are still seen when the radio is off.
  • Even with the drone armed and props spinning, turning off the transmitter just causes disarm via radio failsafe, not RTL.

My Question:

Is there any reliable way to get ArduPilot to detect signal loss via CRSF and trigger RTL instead of disarming — especially when the receiver doesn’t actually drop to PWM = 0 or “cut” like it should?

Or alternatively, is there a way to:

  • Force ArduPilot to treat CRSF link loss as a failsafe event (other than PWM logic)?
  • Override the behavior and always RTL instead of disarm?

I’ve seen other users online mention Betaflight doing similar disarm behavior when close to home. Not sure if ArduPilot behaves the same, but I am testing on the bench just a few feet from the home point.

Any help would be appreciated. Thanks.

How are you testing this? If it’s on the work bench this is expected behavior. From the wiki:

If the copter is disarmed, no failsafe will take place.

If the copter is armed but has landed, the copter will immediately disarm.

If the copter is armed in Stabilize or Acro modes, and the throttle input is at minimum, the copter will immediately disarm.

Otherwise, the copter will take the actions as configured in the parameters described below.

If you’re connected to the drone by USB or telemetry you should see a message that notes RC Failsafe. Are you getting that message?

1 Like

Wow thank you so much. I had not tried disconnecting the controller when the throttle is past min position and it went right into RTL mode as it should.

Thank you for pointing this out I had not been able to find that page on the wiki in my googling.

1 Like