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

One thing first.

For the first time my header and compass heading are correct. b4 I always had 30-90 degree (not minus in front, it means to the right) mismatch.

Although i can't figure out what fixes actually did this, please help me on this so I can get the right understanding of it.

This is looking promising!
Thanks to ALL of you. Randy is for sure the front figure and the one everybody can see are dedicating A LOT of work in this project. I believe there are other guys working pretty hard as well. 

Got my 2nd 2.5 board today and look forward to more consisting work and diagnose in the near future :)

Thank you very much Marco. Say I wanted 70*, besides adding those defines, do I also have to increase stab_P to 7 as well?

My quad hovers below mid stick so would I increase THR_MID parameter or decrease it? I'm thinking I would increase it to bring my hover to the point when my throttle stick is in the middle.


Hi,  I installed 2.9.1 today on 2 different multicopters both with apm2.5's. On one I had a small problem. After flashing, I erase the eeprom. I went to cal the radio while still hooked to the usb. I never could get the rdio (green bars) to respond so I could not calibrate. I had restart the MP, and rebooted the apm several times. I even reboot the PC. It never did work, the bars would flash green for a second then go gray.  I was able to cal everything with a lipo hooked up through the 3dr radio telm, but not through the usb. I never tried with the lipo and usb.

The first quad I updated to 2.9.1 had no problem, well now that I am thinking, I am not sure if I tried to cal the TX using the usb but I think I did.  the quad I had not seen any problem with has a frsky rx and futaba radio. the quad that had the problem uses a dragon link rx and the radio is a x9 flashed with 3rd party firmware.

Everything is good for me now but I thought I would report what I saw.



Randy I wonder if someone can check the "motors" routine under the CLI setup. I am in the process of switching over to the latest code. When I ran this last night 3 motors instead of one fired up and then I expereinced some motors as it sequenced start to oscilate which I caught in time before serious damage. If this is a bug then its dangerous for new players. My Jdrones 30A are fully calibrated and work fine off the radio ie spin up in sync. It is certainly great support for SimonK firmware is coming in the next realease 2.9.2 I have not been happy with the lack of calibration info and perfromance of the jdrones 30A ESCs. The default timing of "low" on these escs seems wrong for the multi-pole motors and the current code update rates. The automated calibration procedure only sets the end point and does not touch any of the other settings.
Really great videos thanks Randy. I especially like the bit about using Excel to analysis the data using filters. Very neat!
Thanks Again,

Dam im window's 7,your's,Marty

i would say RCTimer....

px4 must be APM3,how else would u update APM2.5....

Speaking of THR_MID I am going to ask a dumb question hear but is this set by any chance on the final radio calibration step? I was setting up 2.9.1 last night for test today and at the end of the Radio Calibration in the Mission Planner you are asked to centre the sticks (both I assume) but also a contradictory throttle down. I see two ways to interpret this 1. both sticks are centred and the throttle trim is all the way down or 2. One stick is centred that does not contain the throttle and the one with the throtte is down? (sorry wrote this for Mode 1 & 2). Perhaps I over think things but I wondered if this final centring instruction is cationary or actually transfers mid point values to APM including (if the throttle is centred) the THR_MID value or some other critical data point for the calibration?

No, sorry for confusion, I'll clarify it in the Wiki,

It means throttle stick down but centered right to left and other stick centered both directions.

Springs in the sticks actually bring them to the center except for the throttle which is down.

It probably wouldn't hurt to leave your 3 position mode switch in the center after moving it up and down as well.

At this point the Wiki is a bit out of date in many ways, but the team is moving it to WordPress and updating it and when I get my hands on the new improved copy I will try to keep it fixed up.

Guys sorry to ask for some more help but I am moving from an old code (circa 2.1) and need some suggested starting point for the parameters on a jdrones frame with 880KV with 12x45 props. I used to use P values for STAB Roll and Pitch of 3.0 down from 4.5 and increase I's to 0.10 I have not had much success with Tuning loiter in the past so A good suggested PARms file for the larger 880 motors and 12x45 props with the current code would be appreciated. Also is there a reference table I can look at to make sure I have the correct default values at the moment for 2.9.1 which are used for all 3DR frame testing? Cheers

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service