ArduCopter 2.8 / 2.8.1 released

Arducopter 2.8.1 is now in the mission planner and in the downloads area! Remember to do your MP configuration again after loading this code, since it erases your EEPROM and sets it to the new defaults. 

Note: Issues with APM1 user's level feature not working are now resolved.  If you installed 2.8 we highly recommend you upgrade to 2.8.1 as 430 extra bytes of RAM have been freed up which reduces the chance of memory corruption (although we haven't seen any cases of this on the APM2 at least) .

Note #2: this release has not gone out for Traditional Helicopters until they can be tested fully.  Flip and Toy mode have also not been fully tested.

Improvements over 2.7.3:

  • Improved ACRO mode (Leonard Hall)
  • Improved stability patch to reduce "climb-on-yaw" problem (Leonard, Rob Lefebvre, Randy)
  • Rate controller targets moved to body frames (yaw control now works properly when copter is inverted) (Leonard/Randy)
  • Less bouncy Stabilize yaw control (Leonard)
  • OpticalFlow sensor support for APM2.5 (Randy)
  • DMP works again by adding "#define DMP_ENABLED ENABLED" to APM_Config.h You can also log DMP vs DCM to the dataflash by adding "#define SECONDARY_DMP_ENABLED ENABLED" (Randy)
  • Watch dog added to shutdown motors if main loop feezes for 2 seconds (Randy)
  • Thrust curve added to linearize pwm->thrust. Removes deadzone found above 90% throttle in most ESC/motors (Randy)
  • More timing improvements (main loop is now tied to MPU6000s interrupt) (Randy)
  • GPS NMEA bug fix (Alexey Kozin)
  • Logging improvements (log I terms, dump all settings at head of dataflash log) (Jason)


Bug Fixes / Parameter changes:

  • fixed skipping of last waypoint (Jason)
  • resolved twitching when no GPS attached (Tridge)
  • fixed loss of altitude if alt hold is engaged before first GPS lock (Randy/Jason)
  • moved Roll-Pitch I terms from Stabilize controllers to Rate controllers
  • TILT_COMPENSATION param tuned for TradHeli (Rob)

Code Cleanup:

  • HAL changes for platform portability (Pat Hickey)
  • Removed INSTANT_PWM (Randy)

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.

Please note that on this release we've moved the Roll and Pitch I terms from the Stabilize controller to the Rate controller. There's some evidence that says this can lead to flips on take-off if you move the roll or pitch sticks around as you take-off so we recommend you leave these sticks in the middle until you're in the air.

Please feel free to report issues you find in the discussion below and/or add them to the issues list.

Thanks and enjoy!

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Hi,

    I am trying to calibrate my accelerometer using beta accel calibration method on APM1 with 2.9rc2 firmware using the "Beta" button on the arducopter level screen (using version 1.2.28 of APM mission planner). I took crc errors like:

    at ArdupilotMega.MAVLink.readPacket() (:0) [18]
    2012-12-28 15:41:25,617 INFO ArdupilotMega.MAVLink - Mavlink Bad Packet (crc fail) len 0 crc 65535 pkno -1 (:0) [18]
    2012-12-28 15:41:26,828 INFO ArdupilotMega.MAVLink - MAVLINK: 1 wait time out btr 0 len 0 (:0) [18]
    2012-12-28 15:41:26,828 INFO ArdupilotMega.MAVLink - MAVLink readpacket read error: System.Exception: Timeout

    After triggering the calibration APM1 is not responding and Mission planner can not proceed to second step of the calibration (lean the copter on it's left side).

    However the calibration is successful when I made it using Terminal via command line (setup->accel).

    Is there anybody having the same issue?

  • Developer

    Although I will use it for the final video of the 2.9 release i share ​​this flight a few days ago (with RC1), where it is well visibile as the inertial works perfectly if it is done a good tuning and if the quad does not have unwanted vibration (with balanced propellers and motors).
    Note also the agility of the quad during stabilized flight.
    You can always do better, but I believe we have arrived at the huge levels.

    Bests, Marco

  • Today I make a test flight with 2.9rc2 (Revision: f16e9df29322 ).

    The flight took place without any changes on 2.9rc2 (Revision: f16e9df29322 ).

    Auto Grand is perfect that is first speed decent to 4m high and very steady decent until land.

    Anyway, my quad decent straight down without any trouble.

    Loiter is still have some move that is also around 4m square or so.

    Second attempt of Auto Grand makes some move in the side way, but total decent action is also nice.

    Thank you Randy:-) 

  • I finally fixed my motor surging problem with 2.9. It was INS_MPU6K_FILTER; the default ("0", or 46hz?) was apparently too high for my little shaky quad (FW450, NTM 2826-1200, GWS9050HD, 3s2200). Things improved greatly after I reduced the filter to 20hz (and cycled the power).

    Before changing lowering INS_MPU6K_FILTER, I ran the gammut of PIDs with little effect. I got all the way out of wack with thr_rate_P=10, and thr_rate_D=0.008 for half way decent stability... thr_acc PID effects were small and vague (I did notice the frequency change with P though). It wasn't until my last flight that I tried the 20hz filter setting. I immediately noticed a huge differece; surging went away, and CR control was much smoother and direct. After seeing the drastic difference, I immediately landed and reverted back to the default PID's to see where it was. Then the CR control finally became very manageable; even gave me the zero CR deadband I was after. Then I started playing with thr_acc_P on ch6, and homed in on the sweet spot around 1.0. Towards the end of that pack it got good enough to see several "100% Naza quality" moments as I was torquing the little quad around my backyard in alt mode.

    I wish I had the filter set to 20hz earlier today, before I flew through like 20 packs and ran out of daylight. Hopefully this post will save somebody few Ah worth of tuning. :P

  • Having some very erratic behaviour with 2.9rc1 using the default PID's I reverted my hexa to 2.8.1 and retuned (as I had not kept the parameters it last flew well on, Dooohhh)

    I was happy when Loiter was within a 1m box, in light breezes, and it was actually easier to fly it around in Loiter mode. Auto was spot on and Acro nice and lively, but all controllable and stable.
    Parameters attached: HyperHex final 2.8.1.param
    So I installed 2.9rc2 but did not change or reset any parameters, in fact I made sure none had changed from 2.8.1
    Then I turned off Throttle Accel and did the new Accel calibrations.
    General flying was OK, a little bit shaky, like it was overworking to stay level, but handled hover and high speed and angles well.
    Alt Hold was a different matter.
    What I got was the hex that 'bounced' like crazy, when switched into Alt Hold.
    From about 3m it would 'bounce', only word that really describes the action, .5 to 1m at a time, down to ground level, or more usually to 15m where I would take over.
    The next step was to enable Throttle Accel and see if it made any difference. No.
    The next step was to change P and I in Alt Hold and Throttle Rate to those recommended, so I used CH6 tuning to see if anything made a difference. It did, but only worse, the bouncing I described above was the best I could expect.
    I am really puzzled by those that say it is rock solid in Alt Hold, what magic have they weaved to achieve this? 
    Am going to get some video of it today and will post it with the flight logs.

    HyperHex final 2.8.1.param
  • With 2.9rc2 I noticed 3 'interesting changes' from 2.8.1. 1) altitude error never leaves zero, 2) the green altitude set point in the MP hud is no longer there (wish it was still there, but...), and 3) the HUD altitude lags way behind actual altitude (makes HUD altitude values less usefull). In fact, it appears as if my HUD altitude data isn't actually altitude, but rather altitude set point... with a component that follows actual altitude with a ton of lag (10-20sec decay with a 2' step change)?

    I assume this is due to how the new algorithm handles altitude errors, but I am looking for a way to view setpoint and FC output separately for tuning. The altitude of my quad did appear to follow the HUD values accurately in flight, but if I move the copter around disarmed the altitude really lags. Also in flight, it seems my control of climb rate (ie set point control) is slightly vague... seems like some dead band around zero climb rate might help.

     I'm running a smaller 450 quad and had some motor surging in alt mode with the stock thr acc values. I flew with thr acc P on ch6 (0.5 to 1.0), but initial adjustments it didn't appear to help. Dropping thr acc I to 1.0 the surging went away, it felt smoother, but my lipo dumped and she auto landed very smoothly.

    I'll put several packs in tuning later today, and get through more of my testing matrix. My first impression is 2.9 has the fundamentals we've been looking for... just need to establish a more direct tuning method for a solid alt lock. However as is it is definitely workable.

    ps: What is the difference between MP 1.2.27 and 1.2.28? I was hoping the official 2.9 would be included with MP 1.2.28, and bring alt error & set point logging back for AC2.9. :P

  • Any ETA when 2.9 will be in MP?

  • I just installed 2.9rc2 and it kept my existing 2.8.1 parameters; R/P/Y PIDs, SR3 changes for telemetry, gimbal... etc. Am I right to assume it's OK to leave it all as is and start flight tuning my thr acc PID's? I know I might need to tweak my existing thr alt and alt hold PIDs a bit; maybe set just those to the new defaults? I went through and made sure there was no problems with failsafe etc... I just want to avoid "starting from scratch" with tuning if roll/pitch/yaw were not changed.


    TuningGuitar tunings

  • in 2.9 rc1

    Yaw stick to full left dont start leveling procedure for "in field" level tuning

    it was very comfortable

  • Developer


    Stay tuned and... Happy New Year! :-)


This reply was deleted.


Shivchand Jaysaval liked Shivchand Jaysaval's profile
Aug 25