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 –


  • Have you got any PID settings you can share? At the moment, my naza phantom flies better than my APM S800!
  • Dear Randy,

    I'm here in Brazil and I have a problem in my barometer APM already removed the foam inside the case, as he had read in some reports but did not produce a positive result. There were reports of nescessidade to empty the EEPROM and reinstall the FW version or another. I do not understand how to do the procedure to empty the EEPROM. My board is an APM 2.5. Thank you for your attention.

    • Developer


           It's better to raise support issues in the APM Forum.  It's very bad idea to remove the foam over top of the baro.  Who ever gave that advice is misleading you I'm afraid!

      • Randy,

        I solved the problem, first turned off the eeprom, the Mission Planner upgraded to version 1.2.98 and installed V3.1.2 Fw Arducopter Quad, did compassmot, calibrated the barometer and everything returned to normal, did alt hold and loiter, were perfect .
        Re-put the foam like this on the APM website.
        I want to thank you for your attention.
        Thank you very much.

  • @randy, i am flying a 3DR qaudcopter with arducopter 3.0.1. In mission planning whenever i use a TAKEOFF command, the command following this TAKEOFF command is not executed. otherwise all mission planning commands are being executed in sequentially correct manner. The quad keeps loitering after reaching TAKEOFF altitude. my RTL and LAND are within 2m accuracy of HOME. The auto flight of quad is otherwise highly accurate and beyond imagination.

    • Developer


           My guess is that the copter is not quite reaching the altitude target of the takeoff command.  Perhap try raising the Altitude Hold P value a bit.  The default is 1.0.  Perhaps try 1.5.

      • thanx randy, will try that.

  • Hi, check out

    just posted :-)

  • Dear Randy,

    I'm having this yaw issue where when I yaw at a slow constant rate for 2 or 3 seconds (stick fixed), then the yaw rate of the quadcopter suddenly increases, requiring me to counter yaw to save it. The result is ugly flying. Below is a very short video clip I made demonstrating the issue. I hope somebody recognizes the problem and can provide some help. Thanks.

    I haven't touched my yaw PIDs.

    My transmitter does not have expo on the yaw channel.

    I'm using quadcopter firmware 2.9.1b with an X frame.

  • Hi Randy, 

    can you see  at  log please ? ( or somebody else).  Recently we had first big crash with 2.9.1. octocopter APM1 . Can you help me clarify why ? First thing , at time 254 sec is voltage decrease from 15,2 to 14,5 ( but same load over attopilot ). Is it possible problem with one of connector on battery ? We have two  4S 8000 pack connected parallel.

    Fly sequence:

    1-STAB-  ascent to about 20m - with camera about 5,5 kg total weight

    2-ALTH-take some photo

    3-STAB- ascent to about 30m

    4-ALTH- take some photo

    5- switch to STAB with same throttle stick position as during switching to ALTH - FALL

    It could be overheating of 30A regulator  on output 3  ? We noticed this earlier, regulators on X arms heating a little bit more than on + arms.  It was during 30°C in the shade. Or it was cause copter falling unstable after switching to STAB with same stick possition but lower voltage ? 

    We found after watching log, copter set home position with a big error. Probably cause see only 6 sattelites. I belive this is not reason of fall. We was flying  max. 15 meters distance from church and starting too.  (same place where copter start falling) .

    Thank you very much


    2013-07-26 09-45-14.tlog


This reply was deleted.


Neville Rodrigues liked Neville Rodrigues's profile
Jun 30
Santiago Perez liked Santiago Perez's profile
Jun 21