ACRO bug (fixed in 2.9.1b): while doing flips in ACRO mode, if you switch to Stabilize while inverted your throttle will go to minimum.  To regain throttle control you need to switch back to ACRO then back to Stabilize again (i.e. switch to stabilize twice).  You never lose control of roll/pitch/yaw.

Loiter/AltHold/Auto/RTL bug: if you switch into these modes with throttle at zero motors will go to minimum until you raise the throttle.

Auto mode altitude bug (fixed in 2.9.1b): setting a waypoint altitude greater than 320m over home altitude may wrap around and instead be interpreted as a low altitude.

ArduCopter 2.9 is now in the mission planner and the downloads area!

The major improvement is we use inertial navigation to improve altitude hold.  This increased reliance on the accelerometers means you must do some additional set-up before flying:

1. Perform the new accelerometer calibration in the mission planner (video).  The auto-trim metho has also changed (video).

2. Add vibration dampening foam between your frame and the APM.  Some suggested materials: DuBrogelhk foam.

 3. If upgrading from 2.8.1, modify the throttle and altitude PID values:

  • Increase your Throttle Rate P, reduce I to zero, increase D
  • Increase Altitude Hold P, reduce I to zero
  • Tune Throttle Accel P and I terms but try to keep P about 1/2 the size of I


Here is the list of major changes (a more detailed list can be found in the release notes):  

  • Alt hold using inertial navigation (Leonard, Randy, Jonathan)
    • AUTO_VELZ_MIN, AUTO_VELZ_MAX parameters control the max climb/descent rate for the autopilot (cm/s)
    • PILOT_VELZ_MAX controls max climb/descent rate for the pilot (in cm/s)
  • Landing improvements (Leonard/Randy).  Copter will descend to 10m or until an object is sensed with the sonar.  Then slows to 50cm/s descent (speed can be adjusted with LAND_SPEED parameter). (video).
  • Surface tracking with sonar (Randy/Leonard).  Copter will attempt to maintain current distance from objects in front of sonar regardless of altitude.  Only used in alt-hold and loiter, not used for missions.  Sonar can be enabled/disabled with CH7 switch. (video)
  • Failsafe improvements (Randy/Craig/John Arne Birkeland) including bug fixes, additional check for PPM encoder failure and implementation of battery failsafe.  Set-up instructions are here.
  • Mediatek gps driver accuracy improvements and use of SBAS [Craig].  Instructions on upgrading your mediatek to firmware 1.9 are here.
  • Traditional Heli improvements (Rob) including (a) bringing heli code back into the fold, (b) enabled rate controller (previously only used angle controllers). (c) fix to rotor speed controllers - now operates by switching off channel 8.  (d) allow wider collective pitch range in acro and alt hold modes vs stabilize mode  (e) bug fix to allow collective pitch to use the entire range of servos
  • Acro trainer (Leonard). Copter will return to be generally upright if you release the sticks in acro mode.
    • ACRO_TRAINER : set to 1 to enable the auto-bring-upright feature
    • ACRO_BAL_ROLL, ACRO_BAL_PITCH : controls rate at which roll returns to level
  • Camera control improvements (Randy/Sandro Benigno):  (a) AP_Relay enabled for APM2  (b) Trigger camera with CH7 or DO_DIGICAM_CONTROL command  (c) Allow pilot override of yaw during missions and fixed CONDITIONAL_YAW command.
  • PPM sum support for transmitters with as few as 5 channels (Randy/Tridge/John Arne Birkeland).
  • Performance and memory useage improvements (Tridge).


As per usual PIDs are optimised for the 3DR/jDrones quad with 850 motors and 10" props. If you're using more powerful motors/props and are seeing bad flight behaviour in stabilize, start by turning down Rate Roll P in 25% steps.

Special thanks to our testing team lead Marco and the dedicated bunch on the 2.8.1 release thread who put their copters at risk while testing the pre-release version.  Some of their videos are here: 1 2 3 4 5 6 7 8

Please feel free to report issues you find in the discussion below and/or add them to the issues list.


Views: 298198

Reply to This

Replies to This Discussion


    So you already tried connecting through the terminal window and typing, "logs", "erase"?  I've seen something like what you've got above once or twice and I've always managed to sort it out by doing that.

My 1st attempt:

1. Its a li'l hassle when doing the accel calibration especially when using frame other than quad ex-Y6. Can it be as simple as the previous version? I tried my Y6 and couldnt get a proper reading. Placed it on a flat surface and completed the calibration process but the horizon level in mission planner and my roll gimbal look like they just had a bottle of vodka.

2. Checked Simple Mode for RTL but it came back nosed in.

Yes Randy, I already tried connecting to the terminal window and typing, "logs" and "erase". After this no log, and new logs start again with a negative number

I had this problem with v2.5.5, and didn't succeed to correct it.

Quick Q: Do we still need to do the normal acc calibration and the new beta one or just the beta one from now on?

Thanks. Fortunately I have managed to get the official install via mission planner to work now :-)

I loaded Arduplane via the mission planner and verified that the radio was working OK. I then re-loaded Arducopter 2.9 via the mission planner and it worked. There must have been something messed up with my APM that got cleared out properly going to Arduplane (I guess any firmware would have worked as long as it wasn't 2.9) and then back to 2.9 again.

I am sure it was specific to my APM and whatever I had done to give it brain damage while messing around trying to get my MTK3329 firmware upgraded while being too lazy to solder wires to the GPS module for a FTDI connection (still need to think about doing that next).


     I'm afraid at this point the accel calibration can't be made as simple as the old method.  The reason is that previously we only cared about the direction of the accelerometer vector because we only used it for attitude.  Now that we use it for measuring acceleration we need the length of the vector to be correct as well.  You can get the HUD level using the "save trim" or "auto trim" functions.  I'll update the wiki shortly with how to use those.

     Maybe at some point in the future we will be able to make it auto-learn but I can't promise that.  One thing to remember is that the accel scale and offsets are specific to the board so if you save/restore your parameters (in particular the INS_ACCOFFS_X, Y, Z and INS_ACCSCAL_X,Y,Z parameters) you could get away with only doing it once ever for that board.

     I believe that other systems get around asking the user to do this because they actually do the calibration at the factory before you receive the board.

     Simple mode won't affect the direction that the nose points when doing an RTL.  it will just mean that the pilot inputs will remain in the pilot's point of view.  So pushing forward on the pitch stick will make it move away from you (or more accurately in the direction it was facing when you armed the motors).  You can also override the yaw now in 2.9 with your transmitter's rudder control.

     Marco has asked that we not point home during an RTL so we can add a parameter to do that in 2.9.1.


    Ah, great news!

    If it's a built in mediatek, you can upgrade it without any soldering or even an FTDI cable.  At least I was able to following the instructions in that discussion although I can't say it was took me a while.


    Once you're on 2.9, just the beta one.  Actually in the latest version of the mission planner the old button is gone and the beta button has taken it's place.

Mie, this is an old question, discussed many times on the dev list, personally i don't like this default.
For the "nose free" during all your flight session at the moment you must flash 2.9 with Arduino, with this 3 line in the "APM_Config.h":

// free YAW during RTL/AUTO/GUIDED
#define RTL_YAW        YAW_HOLD
#define AUTO_YAW    YAW_HOLD

Randy know well my point of view, i like ArduCopter with the nose free in any case (see all my videos).
This is also very useful in case of emergency (the nose is where he left), as though we use our quad for take photo/video (during a mission if the yaw is locked how do I shoot what I want?).
The nose pointing towards the direction of flight is useful with ArduPlane or with heli, and it's logical, try to flight backwards with a plane... :P
But with quad you can fly in any direction, ArduCopter is the only system that rotates the nose in some "auto" cases (for default), and in my opinion this is wrong, maybe useful only in "FPV"! :-)
A user who does not use simple is found during RTL "all the ALE/ELE command reversed", try control your quad in those conditions if you are newbie... :/
For the newbie or the "simple lovers" it would be very nice if the nose to come back in the original direction of takeoff during RTL.

My two cents...


Thanks Randy.  I noticed that the latest MP version isnt in the downloads area yet, so I used me current 1.2.30.  I also noticed after doing the beta calibration that my quad was tilting a bit to the left, so I used the old calibration button and it came level.  Should I rather redo the beta calibration and then trim it level on my radio then?

Yea that damn music, I'd pay you to remove it! Ha!

Andre, if old method works for you fine use that.. As said that other is still in Beta. MP updates should be our shortly too as Michael is releasing them really often.

Reply to Discussion



Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service