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 –


  • Moderator

    Had a few flights with v2.8.1 this morning but had some strange anomolies again not unlike the "leans" problems of a few months ago. Have sorted my overheating ESC issue as all my ESC's are now out in the breeze under the props.

    Basically after taking off and settling into a low hover with a full battery pack, the throttle just faded and my quad pitched up and rolled left resulting in a hard "landing". This happened 3 or 4 times as can be seen in the log, after that the rest of the flight was fine.

    Unfortunately the 'motors' and 'raw' were not enabled in the logs but they do show divergent and uncommanded roll and pitch with throttle (me) going to full to try to stop the descent.

    Any ideas? Randy?

    2012-10-29 16-23 30.log

  • Hi,

    i am not sure it was already dicussed...

    Can i fly loops and flips with the new default Acro Mode with "AXIS_ENABLE = 1"?

    I thougt there was a limitation in firmwares before 2.8



  • With the help of a friend I managed today to tune the hexa on 2.8.1.  AltHold took way longer then we both expected, but once properly dialed in, the copter did a picture-perfect loiter. So perfect, we were gaping at it.

    This release is rock-solid.

    APM2 with ext uBlox.

  • Hi again,

    I've uploaded a video of my Yawing issues:

    Look at 2:25.

    It seems that the patch to avoid throttle up has a problem with my quad (I was on stabilize mode)!

    Thanks for help!

  • Had good fun with this version this morning. Went through an entire battery nearly without touching the controls, loitering that is. Worked perfectly, which is a first time for me.

    Just one request: could you please, please, enable all logging by default? I forgot to check after loading the code and some nav stuff, motors and voltage readings are missing. There are a few enabled by default, why only go half way? Surely people either look at these or they don't.
  • Possible bug found:
    Can't use Ch6 tune options if gimbal outputs are enabled (even if the "Input Ch" on gimbal menu is disabled)

    ArduCopter 2.8.1

    APM 1.2.14

    APM1 2560

  • Developer

    Some users ask me the parameters of my quad, here those used to make the video of the release.



  • I uploaded 2.8.1. today and it gave me the confidence to expand the limits. So...I decided to send the Octo up to 60 meters using Guided flight in the Mission Planner. I noticed the following behavior, some very scary!!!

    - When initiating a land, Mission Planner announced 'Mode changed to Land', yet the Octo did NOT descend but started to climb instead!!! Changing to Stabilize required a LOT of decrease in throttle to make it come down. 

    - Land from approx 5 meters altitude is fine: fast descend slowing down to a crawl and very gentle land. However when descending from higher altitudes, the Octo starts to come down slowly, then speeds up the descend to never slow down. Intervention was necessary to avoid a very, hard landing (read: crash).

    - When using guided mode to a location nearby, the Octo never reached the set altitude. Is there a way to indicate that it should ascend first to altitude and then move to the new location? As soon as it reached the location, any ascend was stopped when it switched to Loiter.

    Otherwise it is rock solid!

  • this limit is still valid?


    static void
        // temp fix for bad attitude
        g.rc_3.servo_out = min(g.rc_3.servo_out, 800);


    it is actual git code

This reply was deleted.


DIY Robocars via Twitter
RT @chr1sa: Just a week to go before our next @DIYRobocars race at @circuitlaunch, complete with famous Brazilian BBQ. It's free, fun for k…
DIY Robocars via Twitter
How to use the new @donkey_car graphical UI to edit driving data for better training
Nov 28
DIY Robocars via Twitter
RT @SmallpixelCar: Wrote a program to find the light positions at @circuitlaunch. Here is the hypothesis of the light locations updating ba…
Nov 26
DIY Robocars via Twitter
RT @SmallpixelCar: Broke my @HokuyoUsa Lidar today. Luckily the non-cone localization, based on @a1k0n LightSLAM idea, works. It will help…
Nov 25
DIY Robocars via Twitter
@gclue_akira CC @NVIDIAEmbedded
Nov 23
DIY Robocars via Twitter
RT @luxonis: OAK-D PoE Autonomous Vehicle (Courtesy of zonyl in our Discord:
Nov 23
DIY Robocars via Twitter
RT @f1tenth: It is getting dark and rainy on the F1TENTH racetrack in the @LGSVLSimulator. Testing out the new flood lights for the racetra…
Nov 23
DIY Robocars via Twitter
RT @JoeSpeeds: Live Now! Alex of @IndyAChallenge winning @TU_Muenchen team talking about their racing strategy and open source @OpenRobotic…
Nov 20
DIY Robocars via Twitter
RT @DAVGtech: Live NOW! Alexander Wischnewski of Indy Autonomous Challenge winning TUM team talking racing @diyrobocars @Heavy02011 @Ottawa…
Nov 20
DIY Robocars via Twitter
Incredible training performance with Donkeycar
Nov 9
DIY Robocars via Twitter
RT @JoeSpeeds: Sat Nov 6 Virtual DonkeyCar (and other cars, too) Race. So bring any car? @diyrobocars @IndyAChallenge…
Oct 31
DIY Robocars via Twitter
RT @JoeSpeeds: @chr1sa awesomely scary to see in person as our $1M robot almost clipped the walls as it spun at 140mph. But it was also awe…
Oct 29
DIY Robocars via Twitter
RT @chr1sa: Hey, @a1k0n's amazing "localize by the ceiling lights" @diyrobocars made @hackaday! It's consistently been the fastest in our…
Oct 25
DIY Robocars via Twitter
RT @IMS: It’s only fitting that @BostonDynamics Spot is waving the green flag for today’s @IndyAChallenge! Watch LIVE 👉…
Oct 23
DIY Robocars via Twitter
RT @IndyAChallenge: Congratulations to @TU_Muenchen the winners of the historic @IndyAChallenge and $1M. The first autonomous racecar comp…
Oct 23
DIY Robocars via Twitter
RT @JoeSpeeds: 🏎@TU_Muenchen #ROS 2 @EclipseCyclone #DDS #Zenoh 137mph. Saturday 10am EDT @IndyAChallenge @Twitch
Oct 23