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 –


  • Developer

    ArduCopter 2.9.1-rc1 (release candidate #1) is available for beta testers in the downloads area.  We think this addresses the major issues raised since the 2.9 release two weeks ago.


    Improvements over 2.9:
    1) THR_MID parameter added to allow users to adjust the manual throttle so that vehicle hovers at about mid stick
    2) bug fix for autotrim - roll axis was backwards
    3) bug fix to set sonar_alt_health to zero when sonar is disabled
    4) capture level roll and pitch trims as part of accel calibration
    5) bug fix to ppm encoder false positives


    It would be great if a few beta testers could give this a try and provide feedback.  What's above should be the complete list of changes from 2.9.


    Thanks for the reports and feedback so far!


    I'm very focused on all kind of failsafe issues these days. A result of learning more of this extreme fascinating and interesting project.
    While waiting for new fixed release for safer flying in auto modus I do consider other fail sources.


    I have soldered all power cords to & from esc's, not any kinds of plugs there.
    But considering all low voltage connectors to my APM 2.5 board I think the best solution is to glue those connectors that can't be shrink tubed (like mini OSD and others).

    Connector to GPS, telemetry, on board power and others are all different modern small sized connectors that might be trusty against vibrations when you assemble a new kit.
    But after all these testing, tuning mixed with failing and testing of other sonars, GPS, telemetries etc. makes all these tiny connectors "tired" and are no more to be trusted against vibrations as far as I can understand.
    They are so "easy" to pull in and out now, not only my paranoia I think.

    I'm seriously thinking about buying a new kit now before i get caught by a predicted source of failure.
    One option is to glue all my contacts where shrink tube doesn't do the job.
    Does anybody have ideas to a more reversible method than gluing?
    Sound odd to take my connectors from esc's and put them in the middle of my GPS or telemetry cables. After all that might be better than an irreversible gluing method on those loose connectors.

    Yes, I am very careful when I disconnect and connect them but after a couple of hundred in/out "test" I don’t feel they are made for this kind of treatment, unlike the in/out ports over those standard 3-boardpin connectors.

    With gluing they are hard to remove but when everything tuned and connected right with my favorite components I can live with the option to solder in some plugs in case I would remove/change some hardware later.
    Actually I have no plans or reasonable ideas of why that should occur at all, better to build a new configuration with new components when I need to (I will for sure).


    APM Power

    Telemetry both ends

    GPS both ends

    Sonar, sonar end

    *Some cable configurations are not similar to mine


    Inputs and outputs are using standard female servo connectors and I'm looking for the right Loctite for this. This might not be critical.
    Like I told in the beginning all my power system, esc's & motors are soldered and OK

    USB connection, do use the other side of cable every time you connect/disconnect. I'm using an USB extender cable right on my desk.

    As a newbie I will advise all people like me, the majority; just do IT!!!

    1. Take notice of this post and most of your future crashes will not hit you.

    2. Figure out the whole trick with tuning and logging then the majority also will start flying without that huge amount of risks that in fact are involved with this sport, not to mention hurting others and you self.

    3. Also pay attention to ALL your nuts & bolts, none of them must drop from the sky or even get loose.

    4. Be sure that your engine and props are in right size compared to your frame size, weight and your eventually payload and remember to tune and configure your machine with the same payload.
    5. Balancing of props AND motors are critical against vibrations and uncomfortable/unrelaxing flights.

    Than later on focus on the total weight of your batteries AND payload, this is the "window" of weight you can PLAY with in the future for priority of payload compared to flight time. Then you never will be surprised of unusual behavior on your machine.


    I have some indications that some individuals actually believe this, based on what I have been reading in this community ;)


    Here is a video of my YawJig:


  • Instead of software use soft hardware. :/

     O ring arm mounts.



  • As I see, major improvement is "use inertial navigation to improve altitude hold".

    I do not have the sonar on my quad and usually I am flying or hovering at +30m where sonar is not usable.

    Do I need to upgrade from Arduccopter 2.8.1 to 2.9 if I am not using the sonar?

    For me the Alt Hold and landing on 2.8.1 was acceptable, since I am doing manual landing (or Auto landing, but the motors myself when touch the ground).

    If I intend to remain with ArduCopter 2.8.1, which Mission Planner should I use? I did upgrade MP to latest 1.2.32 and it looks the accelerometers are not more calibrating, HUD remain tilted and is not put is back horizontally.

    I did notice on MP1.2.32, calibration page, is it mentioned "2.9+" under the calibration button. Do this means MP1.2.32 is only for 2.9+, correct?

    So, which version of MP is the good one for ArduCopter 2.8.1?

    Sorry for confusing questions, but I am also confused since the MP looks is not back compatible.

  • For people who like to do some copter tuning without having to use a computer to select what parameter to tune with CH6 :

    MinimOSD with selectable parameter

  • Just a suggestion.

    As the accelerometers are becoming more important and vibration more of an issue, might it be possible to have an instant reading that will show up in the MP tuning display?

    Perhaps a 5 second moving average if it wont take up too much processing – and only turned on when needed.

    It will help diagnose and experiment with vibration, perhaps even be useful for balancing.


    Am I doing something wrong, it takes forever to download the logs and didn’t I read somewhere that CLI now worked over 3dR. Mine doesn’t.



  • i tried to calibarte the accelorometer but once i press done nothing  change, any idea why?

  • Oh Oh. 

    I might have found the reason for these bad RTL's.

    I'm sitting in my office and playing around making a mission, and I noticed the map was following my gps. It's two streets over, but thats normal. I'm surprised the when ever the gps gets a signal indoors. 

    Anyways, I looked at the Flight Data screen and it said "No GPS Fix".

    BUT I looked at my quad and it had a SOLID BLUE LIGHT. 

    I just captured it on video, I'll upload. 

  • Guys, I am setting up a hexa and I am still learning how to read graphs.

    Vibes are ok?


    Throttle trim is showing 551 value. It is  underpowered? I fell it mushy and p rate it is already at 0,21 and its asking for more. I have to chase the hexa too much in my opinion....



    Thanks guys.

  • Developer

    My new quad in fast flight at over 60° angle...

    Bests, Marco

This reply was deleted.


DIY Robocars via Twitter
DIY Robocars via Twitter
DIY Robocars via Twitter
DIY Robocars via Twitter
RT @f1tenth: Say hi to our newest #F1TENTH creation for @ieee_ras_icra next week in Philly. It’s going to be huge! 😎 🔥 @AutowareFdn @PennEn…
DIY Robocars via Twitter
DIY Robocars via Twitter
May 8
DIY Robocars via Twitter
RT @SmallpixelCar: Noticed my car zigzagged in last run. It turned out to be the grass stuck in the wheel and made the odometry less accura…
May 8
DIY Robocars via Twitter
RT @SmallpixelCar: Test my car. RTK GPS worked great. Thanks @emlid for their support.
May 8
DIY Drones via Twitter
RT @chr1sa: @kane That's @diydrones circa 2009. Still have a box of those Canon cameras that we used to strap into planes, just like this.…
May 3
DIY Robocars via Twitter
RT @chr1sa: Our next @diyrobocars race is going to be outside at a real RC racetrack in Fremont on May 28. Fully autonomous racing, head-to…
Apr 30
DIY Robocars via Twitter
RT @f1tenth: Our Spring 2022 F1TENTH course @PennEngineers is coming to an end with a head-to-head race as a big finale. So proud of our st…
Apr 26
DIY Robocars via Twitter
RT @DanielChiaJH: I wrote a thing! Throughout the development of my @diyrobocars car I've been using @foxglovedev Studio to visualize and d…
Apr 23
DIY Robocars via Twitter
RT @SmallpixelCar: My new car for high speed. Low body, everything ( @NVIDIAEmbedded Jetson Xavier NX, @emlid RTK GPS, IMC) under the deck…
Apr 23
DIY Robocars via Twitter
Apr 21
DIY Robocars via Twitter
RT @f1tenth: F1TENTH Race training setup @PennEngineers for our upcoming ICRA2022 @ieee_ras_icra competition. @OpenRoboticsOrg @IndyAChalle…
Apr 21
DIY Robocars via Twitter
RT @fatcatFABLAB: Proud to be hosting a restarted DIY Robocars NYC Meetup April 26. Come by if you want to talk about and race self-driving…
Apr 17