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

Reply to This

Replies to This Discussion

So I'm trying to tune my alt hold because it just wants to land when I switch to alt hold.
So here is what I did
Vib dampening
Accl calibration
Turned the-mid down to 350
So after I turned it down to 350 it stays airborne but ossilates up and down a lot
Should I be tuning thr-rate P?
It's set to 6000
My set up is dt700motors w/ 1147props on H frame
Any help would be great


     First off, it's good to see that you took the effort to look at your logs before sending them along.

     It seems that you're in stabilize mode the whole time.  Stabilize mode is tried and tested by so many people this must be a configuration or set-up issue.  In Stabilize mode the pilot has full control of the throttle (i.e. no autopilot) so even though you do have a fair bit of vibration in your frame that shouldn't be the main issue.

     The only thing that I see that's a bit odd is that your gyro offsets are quite large.  Normally they're about 0.02 but yours appear to be X=2.52, Y=-2.4.  This might happen if you were moving the copter when you armed it. 

     Could you go into the cli (mission planner's terminal window) and type "setup", "reset", "Y" and then redo your configuration?  That may very well fix whatever problem is there.

     If the above doesn't help, maybe you could make a video and post it here?

Randy, thank you for reply.

Indeed, I did try only stabilize, nothing else since I was not able to be airborne.

Below is a video where you can see the quad reaction, is not exactly the same log, but similar.

When I try to reboot from CLI, I press Y then is displaying "Reboot APM" and nothing else is happen, see image. Should I expect some confirmation when reboot is done? - video (with sound)  with unstable quad

I did notice that  when I have another heading, it is a similar reaction, but another motor try to flip the quad, not necessary motor #1 (front right)

Sorry if this is a stupid question, but did you have this in the air with an earlier version of Arducopter? 

I have to ask, because it looks like your rear left motor has no lift. The prop looks correct, but I can't tell if the motor is spinning in the right direction. I'd hold it over my head and test the throttle and make sure all four motors are giving some lift. It should react when you tilt it too. 

I did reset from CLI, but the default new value for Gyro is again 2.5, see below, and not 0.02.

Should I set this value manually?

That rear left is a new motor. It is spinning on the correct direction. When I keep the quad on my hand with some throttle and try to pitch or to roll, I did feel the compensation to level OK. But when is on ground and I am acting just the throttle, it is not stable.

Did you notice when I try to pitch (tilt in front), both rear motors has the same thrust and try to flip in front in sync which after me looks normal.

When I head the copter on another direction, and use just the throttle (not roll or pitch) then it is another motor (front left) who try to flip.


     That behaviour of the cli is totally normal.  you just need to reboot the APM just like it says.  :-).

     Ok, so...maybe this is the first time you're flying a quad (no problem, we have all been there!)  and you're expecting it to fly like an ARParrot - i.e. just take off perfectly vertically etc.  but it's really not like's primarily an outdoor quad and you'll need to develop some flying skill.  So I highly recommend buying some extra props and prepare yourself to break them.

     Take it outside in a wide open space and start learning to fly by "hopping" it forward.

     One other thing to be careful of is that when you arm it, you only need to hold the rudder right for about 5 seconds.  It takes another 5 seconds to do all the initialisation but you definitely shouldn't keep the rudder held right for >15seconds or you'll enter the autotrim function so if you move the roll-pitch around within the next 25 seconds you coudl throw off the HUD.

There's a parameter called CIRCLE_RADIUS (was LOITER_RADIUS) that should control the radius of the circle in meters.

is not my first flight, see below some video I did with the exactly same frame with 2.8.1

When I check on the old logs from 2.8.1, I did not see the INS_GYROFFS_X params.

I did reboot APM2.0 again and INS_GYROFFS_X is again 2.5 instead of 0.02.

Is that an APM issue?

usually I keep the rudder right until I see on the MP screen "Armed". Sometime it is more than 5 sec. I did not know that if I keep it > 15 sec  it will autrotrim again, this is new for me. I will try another flight tomorrow.

I've slightly updated the Programming Setup wiki page to do with getting the code to compile on Arduino.

It has changed since the introduction of AP_HAL.  Basically we're at a transition point...for 2.9.1 you can use the standard Arduino 1.0.1 (or later) but for all future versions you'll need to use our modified version of the arduino ide and the way you select the board type is a little different.

Hope that helps.

Got my new quad built with ver. 2.9 and I have to say it is on a whole different level from the stock Naza F550 I started with. I have done zero tuning and it is rock solid in stablize with default settings. Course lock is so solid, no drift, I love it! It was so wonderful to fly today with complete confidence in the airframe! I was finally able to actually stop worring and learn to love the flying.

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service