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 –


  • RangeVideo rubber suspension damper

    I have seen this product mention somewhere at this community but don't remember where.

    I believe this is a good solution for the APM board.

    Anyone tested this?

    I attached some pics of my new Avionics platform. I'm so tired moving my electronics between my frames so I came up with this solution.
    Total weight included electronics is 180 gram.
    You can see the top plate from DJI F450 mounted on the bottom of the platform


    I will test and update some log files to compare later.

  • I continue to have nothing but weird behavior with sonar and wanted to see if there was something I could do to get it working better, I installed 2.9.1 on one of my quads, did the calibration and took it out to check out. As soon as I hit Alt-Hold it began pogo-ing up and down violently. My other two with 2.9x did not have the problem. I realized that I had Sonar enabled. So I disabled it and flew and the problem was gone. I downloaded the log and it look slike the Baro and Sonar altitudes are way off of each other. I have the BM1340 Sonar - - with a shielded cable and power filter.

    The signal looks clean, just not the same as the baro alt.

     Log is attached. Any help would be appreciated. I don't really need sonar, but I would love to get it working.



    2013-02-09 19-12 1.log

  • Got a few more fligths in this morning on 2.9.1. With calmer conditions everything worked fine. Loiter still has a tendency to drift sometimes but understand this is being tracked and we will see some inetresting development in 2.9.2.

    I have to say its been a long road getting the issues sorted out on my quad, but thanks to many on this forum I have learned a lot and have a much better setup now. I am so impressed with the ALt_Hold in 2.9.1 Entry and exit into this mode is seamless. Near perfect hold.

    It is really worth taking those extra steps to reduce interference and vibration sources, particularly with the IMU setup in this version. I hope to go through all the modes tommorrow and post up the logs.

    I did observe the slight motor dropout blip someone else reported going from STAB to Loiter today. But it was only a minor transitory event.
  • I flew a quadrocopter. Firmware 2.9.1 - all flies great on default settings, all modes operate as expected, I am very happy. Thank you!

  • Another tweaking question if I may.
    Most of my previous auto missions were at or below 4m/s. As Im getting more confident things are working as they should, I just tried a quick out and back mission at 10 m/s.
    The copter just seemed to keep on accelerating, only slowing after a waypoint. It reached 18m/s. The acceleration looks linear, like no attempt to capture speed. The same thing happened when I set 8m/s.
    The speed changes were set with waypoint do-change-speed. The alt was spot on all the time.
    Which PIDs might help with this.

    If I were to set a speed that was outside its performance would it prioritise altitude and just do best speed? Likewise, if I set a high rate climb at fast speed would it prioritise climb (we call it ‘reversions’ in the airbus)?

    I see there is a max-waypoint speed somewhere, defaulted to 30m/s. Was it somehow going for that?

    Thanks for your time and expertise guys.

  • Hi Randy,

    First thank's for your good work and support and also to all developers.

    This is my second time of the AMP 2.5 test, and all PID is default. It work
    like a charme !!!!

    Randy could you please check when you'll have a little time .. my log of the video 1 and especially when i engage the loiter at high altitude we can heard that the motor slow down a lot it always do that . Just wanted to have your thought and eventually if i could tweak some PID to have a better Loiter when there is
    some winds at hight altitude ... :)

    Video 1 :

    Also a Video test 2 of an auto mode :)

    Video 2 :

    Thank's a lot.



  • T3

    Well after reading 1500 forum post I figured I better bite the bullet and upgrade and see what all the fun is. It's nice to be on the leading edge and not the bleeding edge.  For all of you that bled to make this all work, I salute you and say thank you.

    After balancing all my props and throwing one prop away, since it just wasn't going to balance, no matter what I did.  I went to the local hobby store and purchased a sheet of foam rubber.  That's all they had, so I went with it.  I cut a 2 inch strip and folded if multiple times till it fit under my APM.  About 1 inch thick and I used Velcro to strap it down.  Below is shot of my Accel X, Y & Z.  Not very good I'm afraid, so plan B.

    3692615384?profile=originalPlan B was to remove the 1 thick foam rubber and cut it in half.  One half got folded over and was used on top of the APM.  The other half was cut in quarter pieces and folded and placed under the far corners of the APM.  Holding everything down was a Velcro strap running through the slates in the bottom plate and over the top of the APM.  After a successful few flights the corner pieces were moving.  So I placed a piece of double stick Velcro to hold each corner piece of foam rubber in place.  Below are pictures of setup and the last photos is new Accel X, Y, & Z after the Velcro corner pieces.

    3692615632?profile=original3692615397?profile=original3692615659?profile=originalI used the channel 7 Auto Trim feature which worked very well.  The altitude hold is outstanding, even at 2 feet off the ground.  To the developers a big thank you.  For those of you that crashed and bled, a very big thank you.  Can't wait to see 2.9.2.


  • Developer

    Just a reminder to all, this discussion is primarily for discussing technical issue (positive and negative) 2.9.1.  Let's try and keep focused on that.

  • After being grounded with a failed flash with blheli on skywalker20A - i am back because a working beta blheli fw is out. So after not being so fond of 2.9.0 i did a spin with 2.9.1 (mpu lpf 20Hz, FC on alu plate for mag, and cheapo doublesided tape, robbe 2827-26 graupner 10x5, 450 lamewheel). I could just do stab and althold in the backyard - very good, don't know what happened between 2.9.0 and 2.9.1 but thumbs up! Checking out gps the next time when i get to the field in safe hight... after some reports here that loiter can do seldom, sudden glitches. Logging is completely disabled right now so the minimosd & groundrecorder will have to do it. On the other hand i should re-enable some logging IF GPS trouble should happen - perhaps the logs can be of use for the dev team then?


    Kraut Rob

  • Bit of tweaking advice please.

    Loiter is holding initial position very well and perhaps I should not fiddle, especially as 2.9.2 will change things, but.............

    Have been flying around in loiter and, I assume (after correcting the overshoot) it tries to hover over where the sticks were centralized? This sort of happens but it seems to slowly wander back to where loiter was first engaged. I thought by moving the sticks I was changing the lat/long of the loiter.

    Is that how it should work? What settings will help that?


    While I was distracted by FPV equipment the copter tried to reverse ‘home’ through a tree. It actually made it through unscathed, taking out a considerable number of twigs.

    I wonder if alt-hold will trim a level hedge?



This reply was deleted.


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