ArduCopter 2.9 / 2.9.1 released

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.


You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Thanks the development team for new release. I just uploaded and did some procedure to set it up.

    The new calibration is quite difficult to do, especially with my Y6 frame. Does it need to have a good level for all 6 axis?

    After I did the new calibration, the virtual horizontal is always leaning to right and toward. I have still not tried to fly it but I think it will affect to the copter. How to resolve it?

    And the new calibration does not work with Xbee connection. I must do it by wire.


  • 3692598175?profile=originalMP V1.2.32 wont update on W7.

    Same yesterday from V1.2.31

    I must install, reinstall und install MissionPlanner64-1.2.19.msi.

  • Anyone any idea yet on my earlier crash-post of yesterday?


    -Spektrum DX8 and AR8000, showing connection during the below event (no packet loss), so no loss of communication

    -Complete and total lack of response from the Quad, incapable of controlling it at all!

    -Optical Flow Sensor and Sonar DISABLED in software but still phyiscally connected

       -For the Optical Flow Sensor to work, I have earlier had to resolder a board connection to have 3.3V in stead of 5V (see Wiki for Opt.Flow Sensor). Could this have an impact on other sensors?

    -U-Blox GPS

    -Standard 3DR Quad-C 850Kv, 10 in. props.

    -No failsafe trigger (or any apparent reaction) to switching off the transmitter

    -Throttle failsafe was programmed

    It seems no data has been recorded in the last log files, to me this indicates a lock / freeze up of the software.

    "I have had no issues at all with ArduCopter 2.8.1, flown many times without fail and upgraded this weekend to 2.9. I have a standard 3DR Quad-C (850kV, 10 inch props) with APM 2.5

    During a second flight with ArduCopter 2.9 today, my Quad suddenly failed to react to any command, while being airborne. The quad was approx 20 meters away from me and from the transmitter (Spectrum DX8) I could see I was connected to the receiver with no frame losses. Signal was not a problem.

    The quad was dangerously circling, not perfect circles, ascending and descending and complete unresponsive to the receiver. I tried switching the receiver off (had failsafe programmed) but no reaction, switched receiver back on, tried switching from Stabilize to Loiter, RTL, back to Stabilize... No response from the quad at all, and circling dangerously in the field, drifting closer to trees and houses. 'Thankfully' the angle of the circles got steeper and eventually it hit the ground (hard!). Broke two pairs of legs, two bent arms, two engines bent, camera mount broken, two props broken... But I was relieved that at least it crashed in the field and did not fly away or worse, hitting something or someone.

    Very scary and I don't trust it now with 2.9. Am considering downgrading to 2.8.1 as I have never have experienced complete lack of response. I could not regain control of the Quad at all. No failsafe response,which I had set to Rx failsafe. no RTL, no nothing.

    I have followed the exact instructions when upgrading , changed the PID settings as per instructions. I turned off the Sonar and Optical Flow sensor I have as I noticed during the first flight that it would not hold altitude well with sonar on.

    Prior to the crash it was in Loiter mode, doing fine, and when I wanted to regain control and switch back to Stabilize, the problems started, random circling at an increasingly steep angle (as such ascending, descending) (between 3 feet and 20 feet) and the center of the circle also shifted randomly.

    I have no clue but do not feel comfortable. I was getting pretty comfortable flying it up til now, have recorded videos flying over water etc, so not my first flight.)

    Any suggestions as to what could have caused this?"

  • Wow! What a comfortable flying experience. Alt hold is SOLID, plus the general feel of 2.9 gives the operator a real sense of natural control. Many thanks to our excellent developers and their fine product - Great Job.

  • Distributor

    WOW!  that is a super stable release!  Will try to do a video tomorrow, winds were so strong this weekend that I did not think it would fly.  But it did.  Great job guys, this is worth sending a newsletter email to all my customers telling them to make sure to update to 2.9 era! 

    Super excited, now let's get the Follow me box working! :) 

  • Another question. ..

    I have leds connected to my APM. Once the gyros are initialized, they start blinking. Once I arm the quad, the frequency of blinking increases... earlier in 2.8.1 they used to go solid. However, in 2.9, at times they go solid and sometimes they blink fast.

    My led use is set to 1. What does the blinking mean?
  • Ok.. just have a quick question...

    What is the parameter "AHRS_COMPASS_USE" used for?

    When I upgraded to 2.9, it got enabled and my quad used to yaw about 25-30 deg automatically in the stabilized mode. I was so damn worried... when I disabled it, everything worked fine... does that need to be enabled? Would disabling have any other impact on the quad?

    Also, when I start the quad, the stabilize mode with "simple" works normal... but after a few minutes of flying, the compass seems to be disoriented from the original heading....
  • Hi Guys,

    Please help me out. I have uploaded 2.9 to my Quad (previously on 2.8) and have made the changes as described on the first page of this thread.
    Problem is this, I could hardly hold the quad at a fixed altitude after the changes due to the throttle being very un-responsive I then changed the Throttle rate settings back to what they where in 2.8 and that worked allot better. Why? (this is taking the throttle rate P from 6.0000 to 0.6000)
    Also, when I had my copter connected to the Mission planner to download logs just now, it talked to me. It said something like BAWI every 10 seconds or so. Any idea what that could be?
    Thank you

  • I just checked the ArduCopter wiki and nothing has been posted there in terms of updates. It does not mention that 2.9 is out. I am assuming that all the tips that are there will no longer be valid as far as initial setup is concerned? They seem to apply to 2.8 but with all this new calibration stuff, I am not too sure what to do.

    I am about to mount my APM2.5 with Ublox on a spider X quad but a little reluctant to try and fly it. With all this new information out, I suppose I should wait until the wiki is updated? Is it safe to apply 2.8 setup routine to the 2.9 software at all? Just trying to avoid seeing my quad jet into the sky full speed like a bat out of hell!

    2.9 release looks promising, amazing work from the dev team, you guys are incredible. I can`t wait to try, just being a little chicken here with all the mixed feedback.

  • I had a good experience flying 2.9 today after being away for 6 months with no copter. Had my first ever rock solid loiter with a bit of wind. Props to the developers!

    I rebuilt my original 3DR quad with a jakub gimbal using good servos, and put some dt750s with gemfan 11x4.7's on, and a set of 3DR radios. It goes pretty well now!

    The only thing that is annoying me isn't really 2.9 specific, but it's that my minimOSD won't update with data until I connect to mission planner with the 3DR radios. I understand this is because the tx line isn't connected on it, but a lot of the time I will go out and fly without taking a laptop, and I still need the OSD to work (mainly for battery info etc). I've tried enabling the SR3 update options in the parameter list, but it still doesn't update the OSD data without the radio being connected. (thread link)

    Is this the best way to achieve operation of the OSD without radios being connected?

    Will it actually cause problems if I do connect the tx line of the minimOSD in parallel with the 3DR radio? 

This reply was deleted.


Gremsy liked Gremsy's profile
Mar 12
DIY Robocars via Twitter
RT @chr1sa: Donkeycar 4.4 released with tons of new features, including path learning (useful with GPS outdoors), better Web and Lidar supp…
Nov 27, 2022
DIY Robocars via Twitter
RT @NXP: We are already biting our nails in anticipation of the #NXPCupEMEA challenge! 😉 Did you know there are great cash prizes to be won…
Nov 24, 2022
DIY Robocars via Twitter
RT @gclue_akira: レースまであと3日。今回のコースは激ムズかも。あと一歩 #jetracer
Nov 24, 2022
DIY Robocars via Twitter
UC Berkeley's DIY robocar program
Nov 24, 2022
DIY Robocars via Twitter
RT @chr1sa: The next @DIYRobocars autonomous car race at @circuitlaunch will be on Sat, Dec 10. Thrills, spills and a Brazilian BBQ. Fun…
Nov 24, 2022
DIY Robocars via Twitter
RT @arthiak_tc: Donkey car platform ... Still training uses behavioral cloning #TCXpo #diyrobocar @OttawaAVGroup
Nov 20, 2022
DIY Robocars via Twitter
RT @emurmur77: Points for style. @donkeycar racing in @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video.…
Nov 20, 2022
DIY Robocars via Twitter
RT @SmallpixelCar: Going to @diyrobocars race at @UCSDJacobs
Nov 8, 2022
DIY Robocars via Twitter
RT @SmallpixelCar: Race @diyrobocars at @UCSDJacobs thanks @chr1sa for taking the video.
Nov 8, 2022
DIY Robocars via Twitter
RT @PiWarsRobotics: Presenting: the Hacky Racers Robotic Racing Series in collaboration with #PiWars. Find out more and register your inter…
Oct 23, 2022
DIY Robocars via Twitter
RT @Hacky_Racers: There will be three classes at this event: A4, A2, and Hacky Racer! A4 and A2 are based around UK paper sizing and existi…
Oct 23, 2022
DIY Robocars via Twitter
Oct 23, 2022
DIY Robocars via Twitter
Oct 19, 2022
DIY Robocars via Twitter
Oct 18, 2022
DIY Robocars via Twitter
RT @NeaveEng: Calling all UK based folks interested in @diyrobocars, @f1tenth, @donkey_car, and similar robot racing competitions! @hacky_r…
Oct 13, 2022