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 –


  • I'm just hoping someone can verify my X Y vibrations are satisfactory? The first spike in the graph early on is a landing with a pause before taking off again, the last is obviously a landing.

    My Filter is currently set at 20. Should I, could I or do I need to move this value?

    I'm using a very simply & low hassle vibration absorption system I thought up. If my results are OK I'll post a description & photo.

    Thanks in advance.

    PS: I've tried the foam & O-ring methods :-(

    RAW Accel X Y 2013_04_04.jpg

  • Hi,

    I was just out flying, I had it in loiter, which was working pretty well, when I switched to althold to move the copter. When I switched to althold I noticed the copter dipped forward a little. I switched back to loiter and it held pos. Then I switched back to althold and it was pitching forward badly, I  lost control and did a sort of controlled crash.

    I have seen this once before. I have been having problems with this copter but thought we got them worked out, well al but it has been tilting forward on takeoff, once in the air it is, or has been stable.

    I was wondering if someone could tell me what is caused this, I am not sure even what to look for in the logs...



    2013-04-03 19-01-48.tlog

  • OK - that was ugly. Was in a hover with throttle at 50%. Flipped into Alt-Hold and the quad shot straight up at very high speed. In the past I saw gradual climb from Z vibration (not on this quad), but this was extremely fast and ended up being destructive as it hit a tree and came down hard. 2 broken motor mounts, two broken props, a cracked mounting board, and a smashed dome. Luckily the GoPro landed on soft turf. Trying to get a log off of it now. Is is possible for vibes to cause such an extreme reaction? Maybe something came loose and started things shaking too much? 

  • I haven't been flying Arducopter for several weeks, and yesterday I tried 2.9.1 with my new APM2.5 and U-blox NEO-6M GPS module.

    U-blox GPS is more precise than the Mediatek one, I tried Loiter in constant wind (30 km/h), and my copter was very stable, first time I notice this, before with APM2.0 and Mediatek, it was circling around maybe within a 10m diameter.

    Now with U-blox it's like is not moving anymore (same parameters between APM2.0 and APM2.5).
    I tried also to move my copter in Loiter mode, and when it was moving forward, it start climbing very high, I don't know if it's a known problem.
    I also notice, when I enter in "Alt Hold", motor stop spinning for a short time, it was very scary, so I remember that I shouldn't climb when entering in "Alt Hold", I tried a second time when I was almost level, and same thing happen.

  • Randy,Did the team discussed this sensor?

  • Moderator

    Can we expect alt and position hold somewhere close to this with v2.9.2? I am hoping...

  • Hi,
    I just wanted to let you guys know about a few bugs/typo's small errors I have seen. I dont know if all of these are real problems or if it is just something I am doing wrong, just wanted to bring it to your attention.

    1. THR_ALT_P the default is 2.000 but on the options colum in the advanced param's page it shows 3.000-6.000.

    2.   This is all while connected wirelessly. preflight reboot does not seem to be working. I use it to reboot after I have connected to mavlink in the MP so I can connect to the CLI wirelessly. I have noticed once you connect to mavlink in the MP I cannot connect to CLI unless I do a reboot, the opisite is true too, once connected to CLI wirelessly I cannot connect to mavlink until after reboot. I am guessing it is because it needs to be able to reconnect incase signal is lost. I dont think reboot from cli works either. I know it did in MP v1.2.36

    3.On standard params page

       a. current sensing option is blank, if I go to select it there is no option for a12 (for current on 3dr PM)

       b. the LED option is blank

    4. on arducopter PIDs page in MP the Angular rate control  "P" option is grayed out and shows a wrong value. I dont use this page very often anymore but I noticed it.

    5. On my 2 arducopters using APM25's and simonk flashed esc's, I have not been able to do the automatic calibration, just never seems to enter cal mode. might just be my copters, tx or whatever, no big deal. It would be nice though.


  • Hi,

    I just received a new sonar module, it is the new one the MB1340 XL-MaxSonar®-AE4, do I pick the same option in the MP as the EZ4?



  • Hey Guys

    This is a short video with 2.9.1b(relaxed accel calibration limits version by Randy), first i was just flying calmly to check that everything is workign as it should then later flew like an absolute idiot (dont need to tell me) to see if it does the same as the Naza with a little rough treatment.  needless to say im impressed, i would not feel comfratable flying my NAZA like this.....

    I set the TC for Z to 8 in this video....and needless to say i'm happy with that.

    it does tend to have a little pause after a fast forward/backward fleight but no bad i think.

    also tested some RTL,Guided and automissions earlier no video but it was flawless......

  • Hi 

    Something new to me ,anyone to tell me what it is about ? .

    After loading 2.9.1 to my APM2.5 I got the following message :

    "upload succeeded but verify failed :exp 70 got 48 at 110136"

This reply was deleted.


Santiago Perez liked Santiago Perez's profile