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 –


  • Hi Randy / Leonard.

    Please can you have a look at my logs files for me and comment?  I finally got some time again to test 2.9.1 with stock PIDs and the following changed settings:

    THR_ACCEL_I = 1
    THR_ACCEL_P = 0.5

    The quad was very hard to keep in one place and it was also not flying level (all calibrations were done).

    Thanks in advance

    2013-03-14 18-37 4.log

    2013-03-14 18-20-19.tlog
  • Still having a tweak at my waypoint tracking.

    Did a little zig-zag route with almost 180deg turns at the ends. In one direction it was fine, turns in the spot and tracks right down the line. In the other direction it heads about 40deg off and gets about 10m off track and snakes really badly until it sorts it out (it that what you guys call a ‘toilet bowl’?). There was no wind at all.

    As far as I can tell my compass is spot on. I often do a log cal and check the difference. They are all below 40.


    Is this right? When it gets to a waypoint it uses the compass to point at the next one and moves in that direction, then corrects the cross track error.

    If thats what happens I guess it must be a compass thing. Whats the best thing to graph to see whats going on?


  • Hello everyone in this community
    Thank you for this fantastic job

    I have an arducopter with the follow setings:

    -apm2.5 with gps MediaTek MT3329 updated to 1.9 version

    -quad carbon frame x
    -4 tiger motor mt 3506-25 650kv
    -13x4,5  wooden props
    -Hobbywing Skywalker Quattro 4 x 20A ESC
    -3dr power module

    AUW 1450 with 3s 6000mah battery.

    After  stabilise mode i change it in Alt_hold  mode but my copter climbs . If  i decrease the throtle stick my copter stops climbing but the alt hold seems like  a manual  alt_hold

    please can you help me?

    this is my log
    thank you in advance

    14-3-2013 _1accelxyz.jpg


    2013-03-14 10-28 3.log

  • I have done a little bit of reading and thought that maybe someone in in this thread would be interested as well. 

    The way arducopter 2.9.1 does takeoff without RC remote is not very good. I have posted my train of thought to here. And also posted an enchantment request here

    Any feedback of my ideas are welcome. Now I will go back and try to figure out a way to implement this myself. 

  • Hello every one!!!

    Yesterday I have received my PX4 kit with GPS. I Also tuned my Apm2.5 quad – removed almost all vibration. So I’m ready to be a beta tester of new 2.9.2 on both platforms.

    Does anyone know when 2.9.2 as beta or RC? Is it will available on both platforms at same time? Or px4 version comes some time (what time?) later.

    Thanks a lot for you work. 

  • Arducopter drifts up when in loiter mode.

    I've been enjoying flying the arducopter (APM 2.5 with FW 2.9.1) on my tricopter; however, lately I noticed that the arducopter has been doing something  I have never seen before.

    When I put it in loiter mode in GPS lock, it now has a tendency to drift up and not lock in like it used to be. 

    Has anyone experienced this before with their arducopter?

  • One of final tests... Waypoints, Loiter, Guided mode, one of the most impressing Circle auto WP with ROI. Great job guys!

  • hi guys can anyone tell me what this part does, and is it supposed to get super hot (98C)


  • I saw a post (I think it was yesterday) showing the gps mounted on a pcb plate that should help gps accuracy, but I can't find the post today-does anyone know the link?

  • I had a crash which doesn't seem to be a hardware failure...

    I have a new 3DR quadcopter running 2.9.1 which I've flown a few times over the last month or so.  I was able to fly in Stabilize mode, Alt Hold, Hover, and manually put in in RTL once for testing and it worked with no problem.

    Since the last time I flew it, I enabled the Battery Monitor, Battery low failsafe, and Throttle Failsafe.  I set up my transmitter and receiver to drop the throttle below the normal range when the receiver loses the signal.

    Sunday, I took it for a flight...  I hovered it manually (within a few feet of the launch point) until it apparently got a momentary loss of signal, went into RTL, climbed, tilted to a crazy attitude and flew in a huge arc farther and farther from the launch point, slowly losing altitude until it crashed into a sticker bush (with no apparent damage!).

    The logs show the ERR FS 2, Auto Armed, Ascending, MODE RTL, then ERR FS 0.  That's about when things went south.

    The WP Distance increases continuously while the Nav Roll and Nav Pitch values go nuts.  The actual roll and pitch seem to match to Nav Roll and Nav Pitch, so I assume it wasn't a motor or ESC failure.

    Any ideas?  This is the first time I've looked at a log, if I've missed something obvious, that's why.


This reply was deleted.


DIY Robocars via Twitter
RT @a1k0n: Did I get rid of hand-tuned parameters? Yes. Am I still hand-tuning more parameters? Also yes. I have a few knobs to address the…
8 hours ago
DIY Robocars via Twitter
RT @a1k0n: I'm not going to spoil it, but (after charging the battery) this works way better than it has any right to. The car is now faste…
8 hours ago
DIY Robocars via Twitter
RT @a1k0n: Decided to just see what happens if I run the sim-trained neural net on the car, with some safety rails around max throttle slew…
14 hours ago
DIY Robocars via Twitter
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11
DIY Robocars via Twitter
RT @gclue_akira: 世界最速 チームtamiyaのaiカー
Sep 10
DIY Robocars via Twitter
RT @DanielChiaJH: Always a good time working on my @diyrobocars car at @circuitlaunch. Still got some work to do if I’m to beat @a1k0n howe…
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: My new speed profile for @RAMS_RC_Club track
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: Practiced at @RAMS_RC_Club today with my new @ARRMARC car
Aug 28
DIY Robocars via Twitter
Aug 24
DIY Robocars via Twitter
RT @gclue_akira: 柏の葉で走行させてるjetracerの中身 #instantNeRF #jetracer
Jul 4
DIY Robocars via Twitter
Cool web-based self-driving simulator. Click save when the AI does the right thing
Jul 4