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 –


  • While waiting for new release i have a project going on for "even more" care and planning b4 flying on nothing else than stabilize. Works really smooth on my Dji f-330 frame and 2212 800kv motors & 8045 props. Hovering at 50% throttling stick.

    But still boring without "flying by wire".

    So i started a project with a working jig for my quad. This ramp have a lot of facilities. LipoPower, USB link, Leveling system, turn able platform on desk so my quad is yawing and still tighten up, this is tricky! Beside being able to work all angle around my quad I just turn it easy on the bearing platform i understand (have not tried it yet) that Yaw will probably work.
    Also i will use this platform to let my quad go for 50% throttle (with props) and let me clock flying time and build good experience with my Lipos b4 long real flights.

    Also this will figure out a lot of other things b4 flying. Real test on my powersystem, motors, esc's and the strength of my frame and total configuration.

    Sure some attempts of flying back to China will appear, but no worries for me right now.

    So when the new release is arriving I will hopefully have fixed some issues who otherwise would have brought my baby to the sky's.

    I look forward to start to test a lot tomorrow, on a non risk base. Mhmmmm........

  • From what I've seen on this and some of the other threads lately is that 2.9 represents a considerable change from past versions and that many things have been implemented in new and somewhat different ways meaning, of course, new problems too.

    It also seems that with upcoming inertial navigation on GPS and the switch over to a HAL system there are going to be considerably more changes coming in version 2.9.2.

    I am truly looking forward to these changes.

    I do not expect them to be trouble free.

    We are your secondary QC team.

    Some of us just need to slightly better understand that this IS the bleeding edge, if you want to play you will bleed a bit.

  • 2.9 is a disaster !!

    Changed over to 2.9. Quad on previous version 2.8.3 - just perfect. Reasonable hold. Could fly waypoints on AUTO Takes off and lands OK. Got new APM2.5 in case (put older APM2.5 on ardurover project). Got it flying fine on stabilize. Controls good. Next try ALT_HOLD - stupid qud just keeps climbing up and up. Then took over control - stabilize - cannot see direction so hit tree and then tried best to minimize decent rate. Chassis broken, two props gone.


    Ideas ?

    EDIT: I did the new calibration procedure - move it around to all orientations. Also new ublox gps.


    - Vijay

  • Today, I just get change GPS Ublox (From MTEK). Loiter is very perfect.

    2013-01-29 22-07 1.log

    2013-01-29 22-08 2.log

  • Guys.

    Id really appreciate some help with code editing.

    Have followed the instructions to the letter but think they are a bit outdated. Every step I try just gives more compile errors.

    Was using Arduino 1.0.3

    Now tried Ardupilot_Arduino 1.0.3  ........mostly log related errors

    Have added the #define for 2.x

    Noticed there is a new ArduinoCPP102 tried that............ get mavlink errors.


    Should the ‘verify’ work without the APM attached?


    After a compile attempt all the PDE files change to .ino. Is that right?

    Does it matter where the arduino.exe file and its associated library’s are?




    Should be doing DIY for the wife but rapidly running out of brownie points.


  • Ardu copter 2.9  Heli


    I flew a mission with only 2 waypoints, straight out, then 90 degr to the left and then RTL.

    At the 90degr. turn the heli hurtled about 20m of track, the same when he turned around for returning home.


    After the not so great mission I checked yawing while in Loiter. If I didn’t touch the controls the loiter was perfect, but as soon I yawed only about 90degr, the heli hurtled off like on the mission, to stabilize again, for a great loiter but at a different position.


    Then back on the table, I realized an odd thing.

    I’m in stab,mode, and if I move the pitch forward and backward, the Yaw moves left and right, like this 2 are mixed together. Then the same happens if I Yaw left or right, the swash pitches back and forward.

    I checked this on my 450 and 600 heli and at a friend’s 450 heli, all running 2.9, everywhere the same, more or less obvious.  It looks like a kind of compensation between yaw and pitch, but I can’t make any sense out of it.

    I think this causes this unwanted reactions at Loiter and Mission flying when yawing.  


  • I had an uncommanded RTL this weekend, which at first I thought it was just a normal battery failsafe based on OSD video (10.2V, although 21% is also close LOL). Upon closer investigation, I am not sure if it was a throttle failsafe, or what. First, here is a log view:

    3692603988?profile=original... and here is the OSD video (go to 6:25, when the RTL in question occurs):

    Looking at the logs and OSD video, the only clear reason for failsafe to kick in then was maybe low voltage (10.2V minimum configured). So why is that coming up as a "radio" failsafe in my log? BTW, the capacity failsafe has never worked as it should for me... only the voltage and throttle failsafe are known to work, and I do have attopilot configured in MP (option 4).

    grantlineFPV2013-01-27 19-12 5.log

  • Hi Guys

    I was away for 2 weeks and now back. I have recently flashed my RTF 3dr Hexa with latest Version 2.9 and glad to see that alt hold is actually holding and it was not working in my case in ver 2.8.1 Congratulations to the team.

    I am having a strange problem and suffered few crashes because of that. I would post videos of two flights here. First is to test RTL using mode switch and second one a few minutes later to see it happening again. Copter was going away and when I switched to do the RTL it lost control and flipped and crashed. Broken props and motors. I have replaced those and couple of days later I tried running missions and during those missions it crashed few times in autonomous flights and later in a new mission it did not took off in auto but motors started without sufficient lift so I switched to Stabilised and took it off but within minutes it crashed landed.


    I am attaching the logs of the video graphed flights here. What could be the problem and I am using APM 2.5 and stock 850KV motors and 10.47 APC props.

    Following is the link for a good flight and RTL



    and this is the crashed flight minutes later.





    Please suggest me what I am doing wrong or there is some hardware or firmware / Software issue.

    I have done accel calibration as suggested before these flights.






    2013-01-22 16-04-57.tlog

    2013-01-22 16-44-37.rlog

    2013-01-22 16-44-37.tlog

  • I have an issue regarding home position and distance to waypoint(s).
    Every time i connect my board MP ask if i will use the saved home position, even if i rewrite waypoint & home and restart. I assume it only ask coz the coordinates from GPS is changed.

    The odd thing is that generally, since I got the board (APM2.5) my distance to WP is 65535 meters. I erased many times but this particularly odd number follows me!? As soon as i start to fly (only in stab mode) and check the MP after landing the distance is correct.

    I really don't want to risk my 2 ibs baby with auto modes before many issues around this is solved.

    One thing i have noticed after all this hours with this project is:

    Whatever happens after an odd incidence or crash is that everybody recommend to erase and setup from start with correct figures.

    I wonder if this is better to do every time you fly?
    Sounds a bit crazy but make sense to all people with loss or crash damages.

    I would like if some one could make a complete checklist to use b4 flying.

    I am using a lot of time to understand and configure failsafe routines. So i decided to setup Geofences.

    But now I can't find the Geofence option in MP, where is it? (as i can remember it was in the configuration tab left side menu)

  • Developer

    Based on the feedback on this thread, we're going to push out a 2.9.1 release hopefully in about a week.  It will include fixes for these issues:

    • Roll, pitch does not appear as level in HUD after performing an acceleration calibration
    • Auto-trim backwards for at least one axis
    • CH7 Sonar enable/disable issue
    • Throttle curve so people can move their hover throttle to be their throttle stick's mid position to avoid the slow drop or climb for over/underpowered copters.


    This will be a patch release so it won't include the inertial navigation for loiter & waypoints which we'd hope to put into 2.9.1.  Instead those two will appear in 2.9.2 which will also be the first officially support PX4 release.  I can't give an ETA on 2.9.2 but the dev is proceeding well but undoubtedly it will be pushed back a week or two as we resolve the above 4 issues.

    By the way, thanks very much for all the help people are providing each other on this thread!

This reply was deleted.