A few comments on how to make the wiki clearer on how to set up Failsafe, and a question on how to test it. Extract from the wiki with my comments:


If you have enabled failsafe (how? I have set my config THR_FAILSAFE to 1 - is that correct?), your copter will RTL back to home, and auto-land after 20 seconds.

To enter failsafe, you must be armed (failsafe does not work when disarmed) and you must set your receiver to output a low throttle signal (below 975µs by default). To send a throttle value that is below your radio's normal neutral throttle value (say 1100), please read your radio's programming manual.

I would make this a bit clearer. For instance, "you must set your receiver to output a low throttle signal (below 975µs by default). This can be done by looking at the Status or Raw Sensor View (Radio) and changing the end point on your low throttle setting so that it is below 975µs. Then programme that into your receiver as a Failsafe setting (refer to your receiver's manual). Then reset your low throttle setting back to what it was e.g. 1100. Test that the receiver Failsafe setting is working by viewing the radio data as above and then switching off your Tx. The Ch 3 setting should now drop to the below 975µs setting. Switching the Tx back on should restore the Ch 3 setting to your normal neutral throttle value. Recalibrate your radio settings once you have completed this exercise.

How do I safely test that this will work? I tried taking my copter outside, powering it up, getting a GPS lock and then arming it and looking in Mission Planner. I could see Ch3 in reducing to 965 when I turned my Tx off, but there was no indication of a change in mode. Oddly enough, I am reluctant to turn my Tx off when I am flying it.

Any guidance on this would be much appreciated as I would like to have this safety feature as insurance to help prevent injury (and crashes and money!).

Regards, Bill

Views: 8456

Reply to This

Replies to This Discussion

On my tx jr9503 and jr921 rx I have two types of failsafes. Smart and preset. The one I use stores all channel values during binding and falls back to those values upon loss of signal. So the way I do it is put in the bind plug, power rx and it will fast blink. I then pull the bind plug before turning on tx. Then I set my radio the way I want it if signal is lost. For me this is just putting my flight mode switch on RTL. Throttle I didn't see how matters because RTL will manage throttle. When I test it on the ground by arming and while in stable mode I turn of tx. It shows on mp that rx signal is 1521 in relation to the flight mode channel but the copter appears to stay in stable mode with zero throttle. Not good.

I'm going to do so e more testing today but it seems this type of fail safe is not working. Anyone else had any luck with this type of failsafe?

I followed the wiki for failsafe setup.

Obviously the wiki is severely incomplete, or there is a software bug.

Like you indicate, motors becomes shut off when the TX is.

If there is anything we need to do with the THR_FAILSAFE and/or TRIM_THROTTLE parameter, then of course this must be included in the wiki. Together with any other info essential for successful failsafe function setup.

Failsafe set up is one really important feature, and there should be no doubt whatsoever how to make it work.


There must be some checking in the RTL code that prohibits it entering RTL mode unless throttle is not zero. I set my failsafe on my Rx so it would output 50% throttle and it seems to work now like it should.

Well, as I understand it, the FAILSAFE feature (RTL or continue auto mission) is supposed to be triggered explicitly by the event of RX throttle value going below the "THR_FS_VALUE", per default 975 µs. No matter the state of other channels. 

And unlike a normal RTL command, the failsafe should induce either:

  1. RTL, initiated by a stationary climb to a pre set altitude, followed by returning to launch position (HOME), and after loitering in x second over launch position, an auto land
  2. or, if THR_FS_ACTION==1, and current flight mode was AUTO, the auto mission continues.

Any other need so pre-set channels at certain failsafe values seems like a workaround for a failsafe response that does not work as supposed to.

Don´t you agree?

BTW, I have opened an issue, suggesting an improved annunciation of failsafe mode.


I encourage anybody to comment it.

There is also another issue about failsafe, posted by another member:



How can we confirm if RTL will not engage on a zero throttle condition? I know it will not enter RTL without GPS and without being armed and it seems it will also not enter it in the ARM condition WITH zero throttle. If that is the case then that would be the easiest fix unless there is some safety reason for not engaging RTL with zero throttle. Maybe in case someone accidentally hit RTL switch on transmitter while copter was on the ground? In that case then altitude could be a cross check or check sensors to see if craft is really on the ground vs taking a fall.


But you are referring to RTL as a response from CH5, assuming the RX failsafe is setup that way.

While the explicit ArduCopter failsafe is supposed to be triggered by throttle value < 975 µs (as in failsafewiki).

THAT´s the feature I would like to have working for me.

- ANYBODY out there succeeded with that?? Please?

With 0 throttle, the failsafe would send the copter INTO the air even if it were on the ground while armed, such as could happen during a pilot's normal startup or shutdown sequences. If you accidentally turn off the Tx while on the ground, I'm sure you don't want the copter to start flying.

To test, you could disconnect all motors or remove all props and try and engage it. The mode in the mission planner should change to RTL almost immediately and throttle outputs should increase.

I'm sorry for my previous post in the other thread about failsafe, but I was referring to the latest version of "ArduPPM Encoder V0.9.87", and the failsafe works all right, tested with the sim a lot of time.
I can not make tests with the failsafe of the old ppm encoder because all my cards were last updated, and it works as I explained in the post that I fixed (thanks Thomas).

From "ArduPPM Encoder V0.9.87 ArduCopter version" read me (i use this one):

    Failsafe mode

If a receiver servo channel is lost, the last know channel position is used.
If all contact with the receiver is lost, an internal failsafe is trigged after 250ms.

Default failsafe values are :

Throttle channel low (channel 3 = 900 us)

Mode Channel set to flight mode 4 (channel 5 = 1555 us)

All other channels set to midstick (1500 us)


So if the encoder miss a single channel from rx that keeps him in the last position received (and only him).

If the rx is turned off the internal failsafe is trigged after 250ms as I wrote above.
Moral: update the ppm encoder  (Atmel328p) is the best thing to do,
very convenient for me, besides being able to also use the channel 8 for some... : P

Tomas, I have never had a problem configuring the APM specific failsafe that causes the craft to enter RTL, return and land. However I have only done it in HIL simulation. I typically set THR_FS_ACTION =1 and the FS value of default 975. With the Tx off, my Rx outputs 900 on the throttle channel. 900<975 sets it into FS RTL.

If it is not working then you should have a look at the status of the throttle in value from your Rx to the APM, perhaps it is not being driven low enough.

As for Rx failsafes, they are useless for a copter IMO. They are designed for planes and cars. There is no specific set of channel outputs that can do anything safely with a multicopter except crash it and protect the people or property it might damage. This is what a failsafe is meant for at it's most basic, not to save the aircraft.

Ok, the point of situation about wrong switch and failsafe, all checked with the sim now:

- the internal failsafe of the latest ArduPPM Encoder work like as describe

- your quad has engines disarmed: moving all the sticks and all the switch nothing happens (obviously, taking yaw stick to the right = engines armed)

- your quad has engines armed with throttle stick to the lowest position: if you engage RTL nothing happens (correctly)

- your quad has engines armed with throttle stick to the lowest position: if you turn off yout tx and your receiver is set to hold the last position nothing happens (of course)

- your quad has engines armed with throttle stick to the lowest position: if you turn off your TX and you set the channel on your receiver failsafe as I said (all stick to middle and CH5 in RTL) the quad takeoff and try to going to home (it's normal)

Also remember that if the quad is on the ground with armed engines you have only 30 seconds to go wrong to turn off the tx because after that time will disarm the engines alone.
I understand that this latest thing is not pleasant, but personally I prefer it because if the rx does not receive the signal or the tx has a problem (and the quad is in flight) rtl is engaged and the quad comes to home and land in autonomy.
Many receivers remain the last position received, which means goodbye quad!
This function is good for fixed wings, not for the quad with the capability to go home and autoland in complete autonomy.
I do not think you can place a security that the quad does not take off if you turn off the TX and the receiver is set as I described, because RTL is similar to AUTO, and if you commute to AUTO and the quad is on the ground (armed) that it is right to leave for his mission, but in fact it could inhibit the RTL and the throttle in middle positiion if your quad is located within the home radius at the ground,
currently not present in the code.
You must choose what to do... I hope I explained myself, and that you understand.



Absolutely Don Brooks! :-)
This because RTL is like a waypoint in AUTO mode.

There are many possibilities, I did what I've described above.

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service