ArduCopter 2.9 / 2.9.1 released

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.


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

Join diydrones

Email me when people reply –


  • For the first time , and with the release of 2.9, I feel very confident with the Arducopter platform. The Alt Hold is great! Also the overall performance is fantastic. The Sonar following elevations is very nice, it even reacts to small hedges etc. I tested it on my Hexa-b. 

    Keep up this excellent development and project. This is great work guys! Congratulations.

    Thank you,


  • Just when you think you have it figured out, gravity wins. I've been flying tricopters APM2 since 2.5 and have had tremendous success. I couldn't wait to install 2.9 and take advantage of the new features. I added some 1/4" foam rubber below the APM2 and enabled the RAW logging and saw a significant improvement over just using industrial velcro to attach.

    I flew 2.9 in Stabilize and was able to tune RateKP for good stabilization. All is well until I switched over to Alt-Hold or Loiter. Immediately motors stopped and didn't throttle up until it had lost a meter or two and I was able to switch back to Stabilize mode.  I recovered and tried Alt-Hold mode again... this time the tricopter wildly pitched back and forth in quick bursts while somewhat maintaining altitude. I was flying with default parameters, then changed Throttle Accel P and I to .5 and 1.0 and made another flight. This time, after gaining a bit more altitude, I switched to Alt-Hold and experienced the brief motor-cut/drop, but it quickly recovered and maintained precise position. What a relief to see. Switched to Loiter and moved the throttle down and the tricopter smoothly decended as expected, then rolled right and left to see it change positions. All was well then it quickly rolled upside-down and tumbled to the ground at 9.8m/s/s. I have had NO issues with loiter since 2.7. I've attached my log file in hopes that someone can help me identify what happened.

    This tricopter has lots of power and was flying with no payload. It takes about 25-30% throttle to hover, so I have to switch to Alt-Hold and bump my throttle up to around 50% at the same time to keep from falling. 

    Tricopter (18" arms)

    3x PowerUp 25 Sport motors 

    3x 12x3.8 SF APC props

    3300mah 4-cell NanoTech LiPo

    45amp Turnigy Multistar ESCs 480hz


    900mhz 3DR Telemetry

    No Sonar on this one

    APM2 AC2.9

    UBlox-Lea6 GPS

    2013-01-20 16-46 7.log

  • I just wanted to share how well the tricopter (equipped with APM 2.5 firmware 2.9) hovers while in loiter mode.   

  • I'm seeing something odd with 2.9 that I never noticed with 2.8.1 on my APM 2.5.  My copter is sitting dead still on a table and I'm seeing the altitude (and groundspeed a litte) drifting both up and down.  It starts out right around 0 on boot, moves a little, then settles at 0 for a bit, then it starts to drift.  I've tested it with and without the Ubox GPS attached and I get the same results.  Is this normal and I just never noticed it with 2.8.1?  See attached screenshot....


  • An easier to get gel vibration damper is Moon Gel.  I found it at my local music store for about $7.


  • Do I need to change any of my telemetry settings for CLI to work over it?  When I go to the CLI screen I get a bunch of "gibberish" characters rolling down...

  • Hi,

    I also have trouble with calibration : my HUD isnt level at all :(


  • Sorry if this is not the appropriate thread, but I started up MP today, it started to auto update, and failed with the message:

    "Update Failed The volume for a file has been externally altered so that the opened file is no longer valid."

    Is there something I did wrong, or is there a bug in the 1.2.32 update?

    ThisWikipedia: This, in the English language, is the singular proximal demonstrative.

  • Hello,

    I have the F450 Frame with APM 2.5 and arducopter 2.9. I have problem with the ALTHold, because after 10-20sec the quad fall more and more and after 1-2min it´s so low that land. I have the default settings. It´s a problem from 2.9 or i had to make PID settings better ? Have anyone the same Frame or a similar, if so please send me the PID´s.


  • I have had no issues at all with ArduCopter 2.8.1, flown many times without fail and upgraded this weekend to 2.9. I have a standard 3DR Quad-C (850kV, 10 inch props) with APM 2.5

    During a second flight with ArduCopter 2.9 today, my Quad suddenly failed to react to any command, while being airborne. The quad was approx 20 meters away from me and from the transmitter (Spectrum DX8) I could see I was connected to the receiver with no frame losses. Signal was not a problem.

    The quad was dangerously circling, not perfect circles, ascending and descending and complete unresponsive to the receiver. I tried switching the receiver off (had failsafe programmed) but no reaction, switched receiver back on, tried switching from Stabilize to Loiter, RTL, back to Stabilize... No response from the quad at all, and circling dangerously in the field, getting closer to trees and houses. 'Thankfully' it angle of the circles got steeper and eventually it hit the ground (hard!). Broke two pairs of legs, two bent arms, two engines bent, camera mount broken, two props broken... But I was relieved that at least it crashed in the field and did not fly away.
    There were no other flyers around, it was an empty field.

    I was unfortunately not connected via MAvLink, was just outside with my Spektrum and the Quad, so I have no log files :-(

    Very scary and I don't trust it now with 2.9. Am considering downgrading to 2.8.1 as I have never have experienced complete lack of response. I could not regain control of the Quad at all. No failsafe response,which I had set to Rx failsafe. no RTL, no nothing.

    I have of followed the exact instructions when upgrading , changed the PID settings as per instructions ( I think it is less smooth now). I turned off the Sonar and Optical Flow sensor I have as I noticed during the first flight that it would not hold altitude well with sonar on.

    Prior to the crash it was in Loiter mode, doing fine, and when I wanted to regain control and switch back to Stabilize, the problems started, random circling at an increasingly steep angle (as such ascending, descending) (between 3 feet and 20 feet) and the center of the circle also shifted randomly.

    I have no clue but do not feel comfortable. I was getting pretty comfortable flying it up til now, have recorded videos flying over water etc)

    Any suggestions as to what could have caused this?
This reply was deleted.