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

Thanks Steve,

After reading your post again now I think I understood what you did. You actually did different than mine. Currently my system uses ONLY Tx failsafe (which sets the ch5 to RTL). I do NOT (currently) have the low throttle failsafe which is the APM failsafe actually.

So my understanding is that you activated double failsafe both your Tx and APM failsafe.

It seems pretty safe but I am not sure how it actually works. If you lose radio signal, which one do you think would do the work?

You programmed your Rx to send low throttle PWM to APM which activates its internal failsafe, then you also set the ch5 to RTL. 

I would actually like Randy to comment on this. 

Randy if you read this, would this double RTL failsafe work?

Alex, because there is no reliable way to detect this automatically at the PPM level.

More there are many different RC receivers on the market, we need a reliable way of detecting a failsafe in a standardized method that can be compatible with all receivers.


What magfield reading are you getting Steve?  Mine varies from 120~190 here in South Africa and I also had to disable the pre-arm check...

Thought I gonna add my results here as well after installing 3.0.1-rc1. After seeing other's results I was actually surprised to get 4% with the quad facing south. Over the last few weeks I also modded the support structure a bit. I added the CD Box for protection, all Cables are shielded, the APM2 resides on Moongel dampeners and sits atop a double sided copper plate.  


Perfect explanation Olivier!.. Then I was right on my previous comment when saying "APM should be able to detect a radio link failure on its own..."

Your #2 above clearly states that. Even if a Tx/Rx wouldn't have the failsafe capability, intelligent APM failsafe could still work because it is able to detect the failure through the PPM encoder.

But still one more question: You said "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."

Why can it not differentiate if the Rx is dead or not? If the Rx is dead there should be no signal coming to PPM encoder from the Rx. If the radio signal is lost, then there would still be some signals coming from Rx.

This part I couldn't understand...

Alex, sure it can differentiate, but actually it is not reported to the APM code. In both cases the problem is reported using CH3 = 900 us at the PPM encoder output.

That's why we have a provision to change that in the future with a 800 us PPM output if a receiver channel is dead or out of tolerance. Each dead channel will be signaled with a 800 us value, and the APM will decide what to do from those informations.


Good reasoning Olivier. Thanks... 

Perfect. It will get better in the future... Will be waiting for it while enjoying what the current firmware offers now:)

Olivier, I asked this to Randy but I think he is on vacation these days. 

Steve (F11) mentioned that he set both (APM and Tx) failsafes at the same time. So he has low throttle PWM set signaling APM to go into failsafe state and he also set his ch5 output to RTL.

Would this double failsafe cause any issue? Which one would APM carry out?

Every time I update the new software version on my APM, I want to know what are the default PID settings, but If I execute the reset option, then ALL the values are reseted, including Gyro, accel, and so on.

Question: Is there any way to load only the default PID values ​​of any version? If not, could be considered this option for future versions of the MP? (something like a "DEFAULT PID" button in Arducopter Pids screen)

I think should be removed the phrase "Your RC radio receiver failsafe must be configured correctly for the Throttle Failsafe to work correctly." from wiki.

Thanks Olivier

Alex, low throttle failsafe will have priority over mode change.

During radio failsafe, mode changes are ignored. Only the recovery mode decided by the APM will be active.

But... There is actually a small inconsistency in the code that can change the recovery decision if you change channel 5 at the same time as throttle = 900.

This is because CH5 is observed during 3/50 second after the throttle = 900 event.

This mean that the APM will think that the CH5 "ghost" mode (set by your receiver failsafe at the same time as throttle = 900) is the right mode to decide about the right recovery decision.

For example in some rare cases this could disarm the APM during flight in this very specific and uncommon condition :

- throttle low before failsafe event (you were flying in Alt-hold or Loiter with throttle low).

- radio failsafe occurring (throttle = 900 and switching CH5 mode to acro or stabilize at the same time)

The APM will think that you were flying in acro or stabilize, and will disarm because throttle = 0.

For this reason it is better actually to not change CH5 mode when a radio failsafe do occur so that the APM can decide the best strategy without ambiguity.

This will be corrected soon, a changed CH5 value (at the same time as throttle = 900) will not have any influence on the radio failsafe recovery decision.

According to witch mode is active before the radio failsafe event do occur, the APM will do that :

Acro or Stabilize modes :

- if throttle = 0 -> disarm

- if throttle > 0 and GPS fix is available, home position is set, distance to home > waypoint radius then RTL

In all other cases : LAND.

Auto mode :


If distance to home > waypoint radius then RTL

If distance to home <= waypoint radius then LAND

- if FS_THR_ENABLED_CONTINUE_MISSION is set : do nothing

All other modes :

- if GPS fix is available, home position is set, distance to home > waypoint radius -> RTL

- other cases -> LAND


Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service