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 –


  • I compiled the Code from  and upload it to the APM 2.5 without Errors.

    But MP 1.2.35 gets no Mavlink Connection.

    The same thing happens when I upload the DEV version (2.9.1-dev) via the Mission Planner.

    V2.9.1 (without HAL!) has no Problems.

    Why does Mavlink not connect?


  • Any news on 2.9.2?


  • Hi all,

    This week I flew my first complete missions. All the way from automatic takeoff, a couple of waypoints to automatic landing. There's one thing I don't fully understand.

    The automatic landing is rather rough. The first few meters of the descend the vertical speed is around the 50 cm/s. Exectly the value I set the parameter AUTO_VELZ_MIN parameter to. The last stage of the descend/landing, from about 2-3 m up, the vertical speed increases to about -125 cm/s. The LAND_SPEED parameter is set to 10 cm/s.

    What am I missing? I tried different values of LAND_SPEED, but they seem to be ingnored for the last stage.


    Best regards,

    Jan Willem

    The Netherlands

    2013-03-03 09-37 5.log

  • I'm sure this has been asked before but I can't seem to find the answer.

    Is there a way to make mission planner auto reconnect once the telemetry link is lost?

  • I have an APM2.5 that I swap between my quad and Y6. Is there a way to see if I have Y6 or Quad code loaded? Maybe I missed that?

  • Throttle failsafe behavior.

    I was pushing out the range yesterday on a 12 waypoint mission when, after WP 6 I heard “heading to waypoint 1” and the copter stopped and started to descend. Waypoint 1 was ‘takeoff to 20mts’. (it was at 35mts). I then hit RTL.

    Checking the logs, it was a low spike in CH3 – throttle failsafe. Must have been so short that it went straight back to auto. I didn’t see any RTL mode.

    I do have throttle failsafe set up and the second mission it also failed in the same place except with RTL.

    Is that what it meant to happen with a brief failsafe – mission reset? Would be better to pick up the mission from where it stopped.

    Didn’t there used to be a telemetry failsafe option. Cant find that now.


    Very disappointed in the range of this 2.4 stuff. That was obliviously the reason for the crash of my big 3m glider last year. Should have had an APM on it.

  • Can development assume anything regarding next firmware?

  • As I described in a previous post along this thread I am exploring the possibilities of Acro mode. Apart from the issue that only roll flips are possible and no loops (which is planned to get solved in future firmware issues 2.9.3 or later) I encountered some odd behaviour which I wanted to describe here. When things in Acro mode get too wild my emergency exit was to switch to RTL using the CH7 option. I had now two instances when after doing that the copter would with slight deceleration fall out of the sky (w/o any damage, it is a pretty much indistructable DJI F450). Lying on the ground I could disarm it. When rearming the arm indicator light comes on but when increasing the throttle in one case only three motors would start spinning in the second case (for which I have the log file attached) only one motor. I had to unpower the APM and have it reboot before I could fly again.

    In both cases the situation occurred after a strong nick input. In the log file attached I switched to RTL in line 2692. After that things went weird.

    Maybe somebody can have a look on the log file since the problem might be of general interest. Werner

    2013-02-28 22-08 1.log

    2013-02-28 22-08 1.kmz

  • My new Futaba 8FG will be arriving tomorrow, and I will be replacing my Spectrum 6 channel on my hexa with it. So is the consensus to use ppm or pwm with 2.9.1 (Futaba brand 6208 rx)? What about with 2.9.2? Has anyone posted how to determine the current ppm encoder version (that was asked before but I didn't catch a response, sorry if it got answered)?
  • Hello,

    I'm trying to connect my APM2.5 (Arducopter 2.9.1) with Mission Planner 1.2.33, MP start reading my parameter and suddenly stop after reading 3/4 parameters. If I try a connection with "Terminal" it's working fine, if I upload code with Arduino to APM2.5, it's working fine. Blue led C on APM2.5 stay fix.

    I don't know what is the problem, any ideas ?


This reply was deleted.


Santiago Perez liked Santiago Perez's profile
17 hours ago