The latest ArduPilot Fail Safe firmware V1.6 includes a state of the art system to detected if we have glitches or bad signal, triggering the RTL and avoiding undesired "Remote Resets".How it works?Well, the first part is just a low pass filter that works only when switching to autopilot, this prevent undesired toggles to autopilot mode when the signals becomes "noisy" and also avoiding undesired resets (the system mistakenly thinks you are toggling the switch).The second parts is a "Valid Pulse Width Checker", this is a very simple code that will increment a counter every good pulse received, if the system receive 75 valid frames (by default) it will thrust the commands we send through the remote control, otherwise will trigger RTL, and reinforces the prevention of undesired "Remote Resets" caused by noise.Of course the latest code could be found in the same place as always, here.The Attiny has been tested only on ground with my 72mhz Futaba and two different receivers, after confirmation i will remove the beta tag, and i will try convince Nathan to flash it on the SparkFun boards, in the meantime you can try it with your AVR programmer. ;-)Whats next?Well right now I'm working on the new ArduPilot firmware code name "Hybrid", will support NMEA, SIRF , uBlox UBX and VENUS 10HZ GPS protocols, on the same code, and you can switch between them by just changing a single variable, bad news, only works on 328. =P
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • How about switching to RTL if throttle low AND other channels hold for (say) 2s? Would this work for all Rx's?
  • jordi: another solution is to watch throttle signal, if it goes low, RC may be out of range. Then do something special like RTL. But one must consider this when manually controlling plane, manually gliding would not work then.
  • Is the distance threshold implemented in v1 still there in later versions as an alternative RTL failsafe for 2.4gHz users?
  • 3D Robotics
    @dydx: it's just in the downloads, not in the subversion repository.
  • I just checked-out the code using: svn checkout ardupilot-read-only

    Has/will this be committed to the repository? I can't see it there?
  • Developer
    LOL, that version do not have this functions =(, i also purchased the AR6100, and nothing... Only the "AR7000" for DMS2 and any receiver that cost more than $100 dlls!! Otherwise there's no way spektrum can do RTL when you switch it off, with or without latest attiny firmware.... One solution could be to solder one wire form the receiver LED, it shut downs when the signal is lost, so we can use it for that...
  • This is from Spektrum AR 6100 manual:

    Your AR6100 features SmartSafe fail-safe programming. SmartSafe prevents accidental motor operation before the system connects and, in the unlikely event of signal loss, SmartSafe drives the throttle to a preset (off) position. With SmartSafe, if the receiver is turned on before the transmitter, all channels but throttle will go to their fail-safe position stored during binding, while the throttle channel will not generate a pulse so as to not arm the electronic speed control. After the system is connected, if loss of signal occurs, the throttle will be driven to a preset fail-safe position, normally low throttle (set during binding) while all other channels will hold their last known position.

    I don't see option to preprogram RTL toggle channel to some fixed value when signal is lost. The channel would keep last position.
  • Developer
    If you have an spektrum you can pre propgram it to switch to RTL, like i do. I normally fly with spektrum.
  • Jordi, will this work with 2.4GHz digital RC receivers? As I know, these RC's don't ever send invalid pulse, and in case of signal lost, my Spektrum RC keeps last values for all channels except throttle which is cut.
  • Excellence...
This reply was deleted.