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

Wait for 2.9.2 to get your Loiter going. Then you can help us look at what the tuning is capable of :)

I keep the barrel connectors to ease maintenance. But I also zip tie them to the arm so nothing is moving much. The only part of my quad that can move is the wiring inside the arms. Everything else is secured.

No reason you can't solder them if you are happy with the maintenance issues.

This is being caused by not having your throttle at mid stick. You are telling your copter to slowly descend.

If you see your copter slowly moving up or down, your throttle isn't in the center.

I am happy the tuning worked out for you!

I've had my share of motor problems with cheap chinese bullets that everyone uses. Those things rely on a weak and thin annular spring to pass most of the current; same with the lame XT60's everyone uses these days. If I have to use bullets, I always use Hyperion or MPJet, which are in a totally different league as far as connection reliability and resistance. I use them on the lipo/esc connections in my pumped up pylon racers; F5D guys taught me that trick. Not only do high end bullets have less resistance than Deans Ultras (2.5mm sizes and up), but they also are very compact because the wires can be separated and twisted as needed (perfect for cramped pylon racer fuses, and perhaps cramped multis as well).

I get my Hyperion bullets from Aircraftworld (great vendor BTW)... I forgot where I put the AMP/Sizing chart (they took it offline last year), but they are extremely small for the amount of current they can pass. IIRC the tiny 1.8's can do ~30A, and the 3.5mm's can pass like a rediculous 150A. So most multi-motors would do fine with 2.5mm size bullets (1.8 on smaller quads like mine, and maybe 3.5mm to bling a massive hexa that already cost 10000x more than a set of 3.5mm Hyperion bullets). For me personally though, these "worthy bullets" are too expensive for the luxury gained in multirotors... or perhaps I'm not maintaining as much as I should. All I know is the dozens of BLDC motors in my fleet are all soldered directly, and so far that hasn't been much of a hassle for me to deal with.

Anyhow, do with this info what you want... I just wanted to cross pollinate the art of pylon racing with the art of multi, and see what may come of it. ;)

Found the specs for the Hyperion bullets buried in my motor files... copy/paste:

Pin Size    Weight (1M/1F)    Hole Dia.    Max Wire Size*    Current**
1.8mm        1.05g     2.0mm     3.2mm     20/40A
2.5mm 1.94g 2.5mm 4.0mm 40/80A
3.5mm 3.32g 3.0mm 5.0mm 80/160A
4.5mm 6.25g 4.0mm 6.0mm 140/280A

* "Hole Dia" in most cases matches wire gauges used on ESC and Motors with similar current ratings. "Max. Wire Size" is for "Butt Joint" soldering when needed with large wires (center of wire is trimmed to Hole Size, and larger diameter section remaining is soldered flush to back of the connector).

** "Current" is given as CONTINUOUS vs. 30 Seconds. These apply to Battery<>ESC connections or brushed motors. Note that when the connectors are used to connect a brushless motor and ESC, and current is measured at the BATTERY, these ratings can be increased 33%. there you have it. 1.8mm's on up to 27A motors, and 2.5mm should work on anything else... except maybe that human carrying quad I saw on youtube LOL.

How about this GPS shield?

Laminate EMI shield tape on the GF plate.

Place on the top of the system.

Actually, not yet fly and do not know the effect of the shield.

Leonard, was that for me?

Have the APM on the table with only USB connected, therefore no vibs.

Done acc calibration 20 times. Reloaded firmware, CLI reboot etc.

Tuning acc X,Y Z show 0,0,10, with APM level which should be good but MP shown 10deg right roll.

Persistent leans to right. Can’t get rid of it.

I have the feeling the APM is OK but some strange calibration is written that I cant change.



     No need to worry.  that's becausee in 2.9 we've set the AHRS_GPS_GAIN parameter to 1.  This means that the DCM (the attitude estimation algorithm) tries to incorporate the vehicle's speed taken from the gps to compensate for centrepetal forces.  The jumping around happens when you don't have a good gps lock and because when the motors are disarmed we rely on the accelerometers more than when you're in the air.  Try going outside and arming your motors and you'll likely see it settles down.  If it really drives you crazy and worries you, you can manually set the AHRS_GPS_GAIN to 0 in the Adv Parameter List in the mission planner.


     It's very likely that you've engaged AutoTrim accidentally by holding down the arming position for >15 seconds.  You can clear out those bad trims by setting AHRS_TRIM_X and AHRS_TRIM_Y to zero in the Adv Parameter List in the mission planner.

     In 2.9.1 which should go out today, these values will be reset automatically when you to an accelerometer calibration so that will be another way to clear it up.


    They're exactly like the turnigy ESCs, the turnigy programming card works on them even.  I'm not sure of the actual manufacturer.

I had similar issueon yaw. It got corrected by disabling "compass_use"
Desperately waiting for 2.9.1 followed by 2.9.2

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service