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: 298464

Reply to This

Replies to This Discussion


     I had a look at your logs (thanks for attaching them, very helpful) and it looks like it was maintaining it's altitude.  In the graph below from the mission planner you can see that although bumpy the Baro altitude (red) is staying roughly around the target altitude (green).

     From your description though it seems like it didn't actually do this.  It sounds like it fell so what this likely means is that your barometer value was inaccurate.  This could be caused by a change in the weather so my guess is that if you try it again another day, you won't see the problem.

     If you do see the problem again could you enable the INAV message in the dataflash logs?  I'd like to rule out that it's the inertial nav that's causing the trouble.

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

Awesome! That is one solid loiter (<1m box), and in wind, too. Thanks for posting and thanks to Leonard for the tuning assistance.


     The best way to check out your vibration is by enabling the RAW message in the dataflash and then graphing it with the mission planner.  I put a couple of screenshots as the first reply to this 2.9 discussion thread.  You can also post them on this thread and we can have a look at them.

     Loiter won't be inav'd until 2.9.1 though so I don't think sorting out vibration will help.  If you want to spend some time getting it working the best it can in 2.9, i'd suggest tuning the loiter rate P and I values.  Also if you're using a mediatek (and haven't upgraded to the mediatek 1.9 firmware) you'll need to reduce your loiter rate P down to about 2.4.

     Hope this helps.

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



     Yes, the accel calibration method for each version is separate (a simple level for 2.8.1, the full 6 position calibration for 2.9) but neither should be erased when you switch between the versions.

Thanks for the log tips.

 Loiter won't be inav'd until 2.9.1 though so I don't think sorting out vibration will help.

Why not?  Getting the vibration issues out of the way would be a good thing regardless of the firmware version.

As I mentioned before, I want a stable video platform - not a acrobatic performer.  I hope that you address this in your tuning guide.

BTW - I have the Ublock GPS, is there any advantage to the Mediatek over the Ublock?

Thanks again....

Hi Randy,

Got 2.9 running on my Flamewheel with 1/16" thick O-Ring suspension mount on each corner of my APM2 and got results pretty much just like your "Good" results,

Maximum Z excursion in the range -5 to -15. And the X and Y axes also looked similarly clean as in your graph above.

I did reset the MPU6K Filter to 20 as you suggested (default was zero?).

What little vibration is transmitted to the APM board likely mostly comes from the receiver and ESC wires.

The bottom line.

My Flamewheel F450 is flying very well with currently stock as supplied PIDs (I do have -40% expo on pitch and roll on my Hitec Aurora 9).

And suspension O-ring mounting of the APM2 board works at least as well as foam or gel mounting.

Great job on 2.9

Thanks Benny,

I forgot that when you select the terminal tab it connects on it's own.  I've never been able to be connected in the MP and then select the terminal tab - I always have to disconnect first and then select it...

First, congratulations to you work! Is is really great stuff!
As I am reading for a couple of times now people have issues with the narrowre throttle deadband, would it be usefull to add this as a user value so users could choose their setting by themselves, depending on personal needs and accuracy of their tx?

I have the same problem but much mor severe. What should I do ?

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,


Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service