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 –


  • Hello guys! Thanks for the nice job! I do not know if this is discussed in this thread before, bit I realized that in mission planner/flight data/quick, the altitude is based on barosensor instead of sonar. I checked that the sonar is enabled and in the CLI it gives me numbers. So, why in the "quick" the altitude is not taken from the sonar? I assume that with the new 2.9 code, the sonar may be used for other purposes and not for altitude measurements. Is that correct.

    PS: in previous versions of arducopter I had very solid altitude hold and loiter based on sonar.



  • got a little problem right now, my tricopter always try to roll to the left..

    i've check for any hardware problem, switching motors and esc but nothing helps..

    i've done recalibrating accel and compass, also not helping..

    i hope someone could help me with this.. attached is my log and param..


    2013-01-26 10-47 3.log


  • Norman, I like that you have your motors under the arms (at least it appears that way). That's eight less "impacts" on the frame per revolution!

  • Figured it out...
    You must type in each command at the prompt....
    There is no

    Thanks guys for such quick help
  • Im updating mission planner now... Now have 1.2.32 mav1.0
    So where now?
  • Im sory ive been trying to find the reset everywhere all over mission planner and i do not see wheremit is.. I hit every option including load firmware..

    Please elaborate
    How do i reset everything to default settings
  • where can i find 2.9 stock settings?

    i tried reloading firmware but it keeps my old settings...

    thank you for all your hard work ...i will spread the word so everyone i know has this great oppertunity.

  • As I am reading a lot of problems with vibrations here, I would like to share my knowldege and some findings I made to help people get rid of "bad vibrations"

    - calm down and step back! Free your mind and try to take a fresh and overall look to your problem
    - basics first! Start with the mechanical construction. Is it stiff and tolerance free? Tighten every screw, bold, whatever, double check it, try to bend the frame, shake it, listen for clickering noises. Everything needs to be super tight and stiff!
    - keep your balance! Balance your props and motors. Check motor bearings and smoothness of the motors. Balance motors, spinners and props as a dynamic unit and do it super accurate. Throw away props with bend wings or cutouts!
    - isolate! You cannot kill vibratons completly, but try to isolate them. Mostly the source are the motors and props, so decouple the motors from the motor mounts. Use stiff material with high tesion to keep the connection hard enough not to get wobbly
    - smooth! Spend much time with your esc's checking timing, advance and cutoffs. Set them up to response quick, but smooth and strong.
    - cabling salad. Fix your cabling. No loose connections are allowed, everything has to be tightened properly, no cable is allowed free, it could cause vibrations.
    - mount hard! Fix all your electronic components as tight as possible to the frame, use rubber plates and double check not to bend the boards, ifmusing zipties. Check the apm to be fixed so it cannot vibrate around its center (imagine a guitar string, how do you stop it from vibrating?)
    - hear! Use a long metal rod like stethoscope! Power up the engines without props and hold one end of the rod tomyour ear and the other end on the frame at different locations. How does sound change? In loudness, shape, try with all motors and seperate? You will find bad things quickly.
    - be honest! If you really can answer ALL the steps where done and ALL found problems where solved, then - and only then you shall proceed to the last step.
    - check the accel readings of the apm at different filter settings, tune your setup to Our needs and enjoy!

    Consider this as a checklist, every step must be completed 100% before even thinking of proceed to the next one.

    With regards
  • I'm new to this, just so I don't end up somewhere I don't want to be in the CLI, where exactly is the option to "enabling the "RAW" message through the cli"?


    Many thanks




  • Distributor

    hey guys I am sure some of you checked this out already but for anyone with bad vibration try to do this.... help A LOT!

    then if you also apply foam or moon gel it will really be perfect!

    application used is

This reply was deleted.


Shivchand Jaysaval liked Shivchand Jaysaval's profile
Aug 25