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

Reply to This

Replies to This Discussion

Additionally I noticed that alt-hold would not work indoors (at very low altitudes). did not try outdoors yet. I hover at approx 35-40% throttle.

Log is attached. The first two spikes are bounces on the ground. After that it was playing with alt-hold and bounces up and down.

What are the comments on vibration?



Hi Scott,

On the bottom of the first page of this blog you can see the results of my straight O-ring suspension mounting which seems pretty close to what you show above: Z= -5 to -15 and XY = +5 to -5.

My graph looks a bit different because I windowed a smaller range, but your vibrations do seem a bit lower and especially where copter is moving, probably because of the foam better damping actual board movement.

Basically well withing range for what we need now.

Kevin, yes, the real problem is this has been an unadressed problem with solutions only forthcoming at all in the face of immediate necessity and the solutions have all been try something and see if it works.

Bottom up engineering (the wrong way).

Any amount of more thoughtful approach is bound to yield better and more quantifiable results.

As an additional issue at this point since vibration isolation has now become critical, it seems to me that a significant contribution could be made by providing primary vibration isolation of the board inside its now supplied case.

I know DIYDrone guys, Damned if you do, Damned if you don't.

First you make this swell case available to people to protect the APM and now they want vibration isolation too.

Such is progress.

hi Bill! How did you display the sonar and baro measurements? this is in log files? which parameters you set up to have those variables?

I think I have the loiter mode much less fidgety, it is really smooth now, (but there is no wind at all).There were some pods that didn't match the ones in the picture at the top of this thread, that I changed to match. specifically I changed the p value for roll, pitch and yaw from 3.8 to 4.5. Then I change Loiter rate P back to 5.00.

This made a big difference.

Still I have a problem with the sonar. (MB1200)   if I engage it, when I go to loiter, the throttle goes nuts

!, it drops like a rock, or shoots up aggressively, had to keep my hand on the mode switch!

The other thing I wonder about is that when I set it into loiter mode, and then command it with to move to a new location, when i release the stick it goes back to the previous position where I set it to loiter mode.. However If I change altitude, the new altitude "sticks" and it maintains the new altitude.

I can't believe this is the way loiter mode is suppose to work, do you have to switch it to stable mode and move to the new position and set it back into loiter if you don't want it to go back?   

Just asking??


Start Mission Planner, go to the terminal screen. 

Type 'logs' <enter>

type 'enable raw' <enter>

Fly, then download the latest log (' Log download' in the terminal window), then 'log browse', select the log you just downloaded. Then scroll down and select a row that says 'raw'. Click on a 'baro' or 'sonar' field and select 'graph this data'. 

Hope this helps!


I have just flown my new H frame quad with 2.9. Not bad with stock PIDs but I have one big yaw problem.

I have mounted the front and rear arms on flexible mounts to reduce vibration but there is a yaw coupling that I didn’t expect.

I will try to explain.


If I want to yaw left, the front left motor(3) and the rear right motor(4) (both clockwise) will speed up, giving more lift, while the remaining two slow down.

Unfortunately, (with my extra flexible arm mounts) this makes the front bar tilt right and the rear bar tilt left so the lift vector produces a yaw opposite to the demanded one. Yaw is very poor, sometimes opposite!


I will try stiffer mounts BUT it begs the question, is there any reason for the current rotation convention?

My frame is intentionally very flexible but surely all will flex to some extent and suffer from adverse yaw. Is there any reason why all motors could not be reversed (with appropriate changes)  so that any flex helps in the correct direction.


What about an option for opposite rotation? What do you think? Would it solve the problem?




I have the same with Alt-hold and the MB1200. It is too cold here to reliably run more tests, so it will have to wait. Normally my sonar noise is non existent and is something to look in to too. 

When I switch to alt-hold in doors, it falls down and stays down. When I then add a little throttle, it just shoots up dangerously. 

More when the weather gets warmer....


Randy looked at this and your are spot on!

This is what is causing the continual increase in altitude.

Sorry about this! But great catch!

Please disregard the alt-hold issue. Entirely my bad. However, it would be nice to have a verdict on my z-vibrations. It appears they are within tolerance (-12 to -8)

This actually demonstrates one of the things I was worried about with flex mounting arm mounts.

It seems to me that you could actually reverse the situation, but that also would not be a solution, it would initially yaw more aggressively in the intended direction but would then attempt to compensate.

My little Flamewheels which are very rigid respond to yaw input predictably, solidly and precisely with no over or undershoot.

It sounds like you have actually built in a noticeable mechanical response lag between the airframe and the APM which the APM will try to compensate for over time, my guess is that if this is enough to express itself in yaw it also has some effects of sluggishness and / or twitchiness in normal roll and pitch maneuvers as well.

Hi Andre, I am really sorry to hear about your crash!

It looks like you lost a motor, that might explain why it was jumply. You may have had a faulty connection between the motor and ESC.

I have crashed like this because:

1. Servo lead worked loose, end of

2. Set to wrong voltage cut off

3. One of the three motor wires broke at the plug causing an intermittent fault that eventually crashed me. (I found it when I unplugged the motor and the cable came out the back of the bullet connector.

Sorry about the crash and good luck getting it back in the air!

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service