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

Reply to This

Replies to This Discussion

oops, i mean preflight_calibration.  Sorry if that confused anyone.  If I used this command, I assume it would cause come crazy un commanded roll/pitch problems?

I think stabilize mode will be fine but modes that use the alt-hold (rtl, loiter, alt-hold, auto) will have very bad vertical performance.  that might spill over into roll/pitch a bit but mostly i would expect the alt-hold to be garbage..probably speed off into the sky or drop to the earth..

Excellent video Randy, thanks for posting that. I think it would be helpful if you were to consolidate all of your videos into one place. I think there is some great information in them that gets lost in this incredibly long post on AC2.9.1.

200 meters can you even see your copter at that height? I get scared at 50 meters and just this Saturday I tried to fly 70 meter cube drawing in the sky and that was way scary. It was especially nerve racking waiting a minute on each corner. No guts no glory. LOL.

My Arducopter started to circle and loosing altitude fast resulting in a crash in guided mode. It seems that I have found 4 similar incidents in the past week. I was running Arducopter 2.9.1. Here is the flight path and log file.

Any idea of what caused this behaviour?

A detailed description can be found at:



@Ballons, my DJI WKM using very well the inertial and keeps the PH perfectly, shifts are never more than a meter in strong wind.
A short APM may be able to get the same performance, we're working on.
These will be my last test with APM, after verified that the inertial X/Y/Z works well i start to test the "V3" code on the powefull PX4, installed now on a kamikaze quad...


..."kamikaze quad"... haha, i build all my quads with that in mind.

Where we can obtain "V3" code for PX4? Or this is not public yet?

So I had a chance to put 2.9.1 on my hexacopter. I've not flown this since a bad crash in the very early APM2.0 days, so not sure if the board is ok. It passed the hand-test ok - so I wanted to see how the vibration levels are doing first, as I think it'll need remounting.

I turned on 'raw' and 'motor' and I saw that the vibrations are bad (-2 to -19 on z). Definitely some work to do. However, there's also the occasional screwed up log entry:

RAW,0.00, -NTUN, -100, 17943, 0.17, -10.87,
ATT, 0, -68, 0, 136, 0, 6403, 6403
MOT, 1101, 1101, 1101, 1101, 1101, 1101

Is that an artifact of 'too much logging'?

However, the real concern was on landing. Wind was gusting, I decided to land, and as I touched down it started bouncing. Got 2 or 3 bounces in, each time increasing in height before I cut the throttle. Is that down to the very bad z vibrations? I was just in stabilize - not auto-landing or alt-hold. Log attached (hopefully the right one!).





You can see in one of my previous posts that I had the same issue when landing and my vibrations (home built Octo) are fine. Since then I fried all electronics due to a power spike and have not been able to test any further.

Let me know if you find the issue.



     It's not public yet.  We're hoping to publish instructions fairly soon (within the next couple of weeks) but it'll be use-at-your-own-risk until 2.9.2 comes out because we just haven't had enough people testing it to be sure that it's really reliable.

Hello Randy,
Thanks for information. Today i have purchased px4 with ulox. As soon it will arrived(week or two even with EMS) i'd like to help you to test it. But unfortunately i have free time only on weekends (((

Reply to Discussion



Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service