ArduCopter 3.0 is ready for widespread use.  To make the transition easier, this time we are asking people to voluntarily upgrade from 2.9.1b for the next month or so before we make 3.0 the default firmware downloaded by the mission planner.  The new version can be found in the Mission Planner's Beta firmware's link,, GitHub and the new Downloads Area.

Warning #1: A bug was found in the FENCE in which if you lost GPS it could lean at extreme angles as it tried to maintain an invalid position.  This is fixed in AC3.0.1-rc1.

Warning #2: This release has not been fully tested on Traditional Helicopters

Warning #3: GPS glitches can cause sudden and aggressive position changes while in loiter mode.  You may wish to reduce the WPNAV_ACCEL to 100 and Loiter PID to 0.2 (from 1.0) to reduce aggressiveness.

Improvements over 2.9.1b include:

  • Inertial Navigation for Loiter and Auto meaning much more accurate control (Randy,Leonard,JonathanC)
  • 3D navigation controller follows straight lines in all dimensions between waypoints (Leonard,Randy)

         WPNAV_SPEED, WPNAV_SPEED_UP, WPNAV_SPEED_DN, WPNAV_ACCEL allows configuring speeds and acceleration during missions

  • "compassmot" to compensate for interference on compass from the pdb, motors, ESCs and battery.  (Randy,JonathanC) (Set-up video here)
  • Safety improvements:
    • simple Tin Can shaped Geo Fence
    • pre-arm checks to ensure all calibration has been performed before arming (can be disabled by setting ARMING_CHECK to zero).  (video description here)
    • GPS failsafe - switches to LAND if GPS is lost for 5 seconds
    • stability patch improvements to stop rapid climbs in very overpowered or overtuned copters
  • Circle mode improvements including "panorama" when CIRCLE_RADIUS set to zero (Randy,Leonard)
  • SONAR_GAIN parameter added to allow better tuning of sonar surface tracking
  • CH8 auxiliary switch (same features as CH7)
  • works on PX4 (some minor features still not available) (Tridge,PatH)

How to upgrade:

1. Make sure you are using Mission Planner 1.2.59 or newer.

2. Click on the MissionPlanner's Firmware screen and click the "Beta Firmwares" link on the bottom right.  The version numbers should update to "ArduCopter-3.0.1rc2", then click the appropriate frame icon and it should upgrade as per usual.

3. Reduce the Loiter and Alt Hold PIDs if you have modified them from the defaults.  The modified PID values for the 3dr frame can be seen in the image below.

Note: Nav parameters have been combined with Loiter so do not be concerned if you can't find them.

4. If you purchased an APM prior to March of 2013, update your PPM encoder to the latest firmware.

5. Try out the new version in stabilize mode first, then alt-hold, then loiter and finally RTL and Auto.

Special Thanks to MarcoDaveC and the rest of the beta testers for putting their copters at risk during the extended testing period.  Some of their videos can be found hereherehereherehere and here.  Thanks also to MichaelO for the MP changes required for this release.

All feedback welcome.  Please put your questions, comments (good and bad!) below.  

Added by Craig:

Please watch Randy's videos on setting up and flying APM-Copter 3.0 before you go flying.  They are excellent!

3DR Quad Set-Up Suggestions
AC 3.0 "Live" Compass Calibration
AC 3.0 CompassMot Setup      
AC 3.0 Pre-Arm Checks            
AC 3.0 Fence                               
AC 3.0 Maiden Flight Checks   

Views: 134258

Reply to This

Replies to This Discussion

The failsafe you enable in the Mission Planner under the Hardware tab. You can enable various features of it there to tell it what to do in case of a failsafe.

I apologize if my reasoning is too obvious, but so far I have not understood very well this topic.... If I understand correctly, the ppm encoder recognises a signal loss, so that the throttle failsafe can be triggered, regardless of whether the tx/rx combo you are using offers the failsafe options or not. In other words: Failsafe option is a purely software feature, and can always be activated, regardless of the used hardware (Tx and Rx). Right?

You have it set exactly like I do. Rx failsafe set to low throttle and ch5 to RTL. The way you explained how it works is how I understand it also. I even go one step further and put my RTL on the 1500ppm position but that was just for some cheap Rx's I had that could only set failsafe on the throttle. It wasn't necessary but I did it anyway. :)

I agree that APM should be able to detect a lost of Tx/Rx link without any of this. Maybe it does? Like what would happen if the Rx itself lost power because of a bad cable? Then APM would not receive a low throttle or ch5 RTL. What would it do? It could be tested on the ground by pulling power to the Rx.

I was trying it both ways yesterday thinking that might help but I still couldn't get it. I think Craig said he reproduced the problem so there should be a fix in the works. I wonder what causes it to work in some setups and not in others.

Doing that is possible but not necessary if you are setting a mode different from acro or stabilize on ch5 during failsafe, or if you have a receiver with independent hold mode during failsafe.

Anyway, the problem you did experience will be corrected soon and will occur actually only if actual throttle = 0 and your receiver is setting acro or stabilize when switching to failsafe.

THANKS SO MUCH !! I manage it, and partialy solved; increasing the"Yaw Rate P" from 0.2 to 0.4 I don't know it this info will help you...

Yaw Rate P from 0.2 to 0.4

Has the magfield prearm check been relaxed? I turned off my prearm check because my area has a weird mag field so it wouldn't arm. I also saw other users reporting it.

That's wrong. The radio loss APM failsafe will trig only if it does receive the right signal from the PPM encoder or if the PPM encoder stop to work.

To achieve this there are three way :

1) Your receiver do set PWM = 900 us value on CH3 during radio loss (receiver failsafe)

2) Your receiver is dead or does cut signal on CH3 -> PPM encoder detect this and switch CH3 output to PWM = 900 us informing the main APM code that a radio failsafe did occur.

3) The PPM encoder is dead, in this case the main APM code will detect that there are no more PPM frames available and will trig the radio failsafe.

For cases 1 and 2, the main APM code can't differentiate actually if the receiver is dead or if a normal radio loss has been signaled by the receiver. We have a provision in the PPM encoder to signal a dead receiver using a PWM value = 800 us instead of 900 us. This will be perhaps enabled for a futur major APM version release and will allow a better error reporting.

So you have two choices to signal a radio loss : PWM = 900 or cut CH3 output on your receiver during failsafe.

The best is to use PWM = 900 to avoid a 1 second delay (PPM encoder detection delay).

As a side note the "radio failsafe" was named before "throttle failsafe", because it is using CH3 (throttle) for signaling.


This whole RTL behavior is begging for a flow chart :)

Yes! I meant to point 2 of your list: Your receiver is dead or does cut signal on CH3 -> PPM encoder detect this and switch CH3 output to PWM = 900 us informing the main APM code that a radio failsafe did occur. That means, that the failsafe function can be activated, although my Tx/Rx combo has no failsafe option (point 1 of your list).

Thanks Oliver.

That's true. I'm going to try making one for the Wiki.

Do not confuse RTL and failsafes : failsafes strategies are more than RTL mode.

Depending about flight conditions, a failsafe (actually there are 4 different failsafes : GPS, GCS, radio and battery) can take a different flight recovery decision :

- Do nothing (for example radio failsafe during auto missions)

- Switch to stabilize mode


- Land

- Disarm

- Parachute (hopefully soon)

- Destruction (soon :)

The radio failsafe is a particular case because it is asking to the user to setup its radio receiver failsafe correctly to get it working.

A simple switch to RTL mode using the CH5 receiver failsafe is the poor's man failsafe.

I think that users will better understand that when i will have a schematic for that. There is actually one for developers but it is not fully up to date and is a bit difficult to understand for the general public.


Yes Randy, I corrected myself partially in my above post (the long one). Saying "Tx failsafe MUST be disabled" isn't actually correct. Because it is the only way APM knows system gets into the failsafe mode. I got that part. 

But why is APM not able to detect a radio link failure? Can it not use the PPM encoder to detect something went wrong and there is no valid signal from Rx anymore?

If APM were able to detect the radio failure then setting failsafe would be much more easier. One would just need to turn the failsafe parameter on and APM would do the rest...

Why not?

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service