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

Reply to This

Replies to This Discussion

How bad is the behavior on taking off? I think all quads do some wobbling and are touchy while in ground effect. Mine wobbles and I have to be careful on liftoff and landing while close to the ground (couple of feet). If it is violent, there may be some other issue.

What quad do you fly?

Yes, you have to lift off "briskly", to about 1 meter above ground, goes for conventional RC heli's too.

All the air underneath a rotary wing/s aircraft on take off, and near to the ground, does really weird things.

At our scale, 1M seems to do the job.

Same with landing, plan ahead, get to above your landing spot, firmly/gently reduce power, put it down.

Confined spaces really messes up, or fine tunes :-), your start/end skills !!!

Hi Harley & Gustav

Thanks for the responses.

I have a couple of quadcopters and helicopters up to 500 size. Getting a helicopter off the ground is no problem.

My current challenge is with a small new quadcopter:

From Hobbyking:

-          F330 quadcopter frame

-          Turnigy Aerodrive SK3 - 2826-1130kv Brushless Outrunner Motors (125 watt)

-          Turnigy Plush 25 Brushless Speed Controllers

-          8045 SF Props

-          2200 mAh 3 cell battery


3DRobotics and Spektrum:


-          3DRobotics APM 2.5 controller plus LEA-6H GPS with Power Module

-          Spektrum AR8000 receiver, TM1000 telemetry unit and DX8 transmitter

Flying weight – 920gms (about 2lbs).

Well powered but hovers at 42% throttle so should be capable of being controlled.

Once I get it in the air, it flies well. But getting it in the air is like trying to getting a teenager out of bed in the morning. Jumps all over the place - yaws, pitches, rolls, motors irregular - in other words, stabilisation failure. I try the briskly bit but it needs kid gloves and coaching to get moving.

With a lot of pitch/roll/throttle interaction it finally gets there.

As Randy says, it may be because THR_MIN is so low i.e. 35 instead of 130.

I would like to be able to raise THR_MIN but I need to be doing something else to avoid the 'violent' behaviour. I have the ESC's set on super soft but I will try, once again, to play with the DX8 throttle curve, with and without expo, to see if I can suppress the bad behaviour.

Soft start is no good for multirotors. First we have no delicate gears to protect. Second, in the rare event where a motor needs to "restart" in flight, the soft startup will delay thrust needed to recover.

Even worse, you have a very low THR_MIN. With such a low MIN, you have a much higher risk of your motors slowing down enough to trigger an esc in flight restart. "Shutting off" in this context does not mean the motors have to stop spinning. When they reach a low enough RPM, the esc is no longer able read where the rotor is, and then it must go through it's startup routine to find the rotor before it can start applying torque again. In the high speed world of flight controllers, that restart takes an eternity; so it usually results in very stable and erratic behavior. If your gains are a tad high and it goes in to what should be a slight oscillation, but then the high motor spins too slow (down to 35), esc shuts down, and when the arm drops APM will ask for immediate thrust... but it's delayed a few hundred millis because the esc needs to restart... so when it does kick, it kicks hard from gain buildup... and guess what's there to stop the opposite side from dopping... another restarting esc... situation degenerates to a wild bucking wobble.

I think that's why Randy suggested you increase THR_MIN. You should try it before you mess with throttle curves, because a good curve won't help if your esc's are briefly shutting down in flight. ;)

ps: You should flash those esc's if they are stock. ;)

@Kevin: I agree with you completely but regarding flashing i would like to include a slight warning, because once you have flashed your esc there is no way back. Some motors are not so compatible with simonK or blheli and start stuttering. This problem is rare and mostly those pancake - type motors are affected, but check out compatibility of motor/esc/planned firmware version before flashing.

Cheers Kraut Rob

aha!  rob Lefebvre had a bad experience with one of those and I have one as well that i would like to get flying.  I think super soft is perhaps not good.  that means slow start which means slow response...

Hi Tony

When I initially flew my quad it was extremely twitchy and in fact I could not get it off the ground. My quad is also very overpowered and hovers below 40%, which I didn't realize makes for problems with the control. I always thought over powering was good. I had to set the Rate Roll/Rate Pitch pid to the following. P=0.1000 I=0.1000 D-0.0030 Imax=5.0. With these settings it became stable enough to  manage on liftoff. I also was using 2200 mah batteries and was having trouble with altitude hold and loiter, so I went to 5000mah batteries which added weight to the quad and showed immediate improvement in all aspects of flight. Throttle is now closer to 45%. You might want to try these suggestions to see if your stability will improve. Hope this helps.

Hi Harley

Thanks for your thoughts.

Indeed, I used your PID's, increased the THR_MIN back to the default of 130 and, low and behold, a civilised take off, flight and ALT_HOLD event.

I haven't really got room for a larger battery unfortunately, but next step is to make room for my GoPro and try a bit of FPV.


Thanks, Kevin.

I have the THR_MIN sorted and will try to change the ESC start up setting next.

The ESC's are standard (I suppose) Turnigy PLUSH 25A.


I think once you add the gopro, that weight will also improve flight. I think most of my issues were due to the overpower situation.


T = M*alpha... increasing mass will increase inertia, which will reduce angular acceleration due to a given torque. So adding weight has a similar effect to lowering gain or using smaller props. ;)

TorqueWikipedia: Torque, moment or moment of force, is the tendency of a force to rotate an object about an axis, fulcrum, or pivot.

Randy, sorry for digging this question up again but why cant the APM support PWM RSSI if it is being used in CPPM mode?

On the face of it any one of the spare PWM inputs should be available as an PWM RSSI input or am I missing something?

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service