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 –


  • one more thing:

    I flew last week with the RC3.
    Althold was fine at 5 m height. When I switched to loiter, the copter is turned to the right and fell on his head.

    As he lay face down on the floor, you could not turn off the engines with the throttle stick.

    Unfortunately I have no log file.

  • Randy

    I naturally thought to ppmsum.
    Here in Germany many people fly with a Graupner mx-16 or mx-20. The small Graupner GR-16 receiver has 12 channels in ppmsum available.

    Then you would not have always to decide which feature to put  on CH7.

  • Is it possible to have more than 8 RC channels installed? maybe 12
    I would like to trigger Camera, Simple Mode, sonar on / off simultaneously.

    Thanks for the great work.

    Greeting Peter

  • Developer

    AC2.9 - release candidate #5 is now in the downloads area.


    Improvements over 2.9-rc4:
    1) add constraint to loiter commanded roll and pitch angles
    2) relax altitude requirement for take-off command to complete
    3) added sonar on/off to ch7 switch

    4) bug fix to ensure we reach the target altitude before moving to the next waypoint


    I hope (again) that this is the last release candidate before the big release but in any case, we'd certainly rather find issues now rather than once it's in the mission planner so all feedback is more than welcome!


    Thanks very much to the testers of the numerous release candidates!  I think this will probably be the best tested release to date.

  • The weather has been so bad I just had to try out 2.94r.. I have tuned acro and stab just fine but when starting on alt_hold I get bobbing up and down and settles on the ground.. In the graph several times, I started briefly in stab mode, then switched to alt_hold. I have searched the params but cant find the error of my ways...

    Help much appreciated,






    2013-01-14 16-57-21.tlog

  • Here's some Arducopter 2.9rc4 FPV spam, from my 450 quad:

    The point is to show that APM2.5 alt hold is now functionally similar to Naza ;). Unfortunately something happened with dataflash logging and APM2.5 only captured portions of 2 out of 7 flights. I guess you devs already have enough small quad data, but let me know if you need more. You see that 40mph run in loiter? I cut the exciting part where I let go of the right stick; no loiter pitch limiter so it hung at 90* for several seconds. Coolest part is it popped back to level and didn't loose more than 2' altitude; talk about a faith inspiring moment... seeing nothing but the sky above for several seconds wondering if "this is it?". :D

  • Couple things I would like to ask.  The 3DR pids that are in there are for the 850 motors and a 4s battery.  Having the 880 motors and a 3s Battery.  Is there more that should be changed.  I just loaded default 3DR Prams.  Also can you run the misson planner off of linux?

  • Sorry to bother you again with improvement

    Till version 2.7.3, there was a parameter CUT_MOTORS, to manage a motor stop or spinning, when motor were armed and signal throttle was 0.
    This parameter was never correctly handled, so I guess it's a reason why this parameter disappeared afterwards.
    I think it's very handy, to see motors spinning when copter is armed, for many reasons, one is not getting surprised if you put some throttle thinking you're copter is disarmed and in fact not.
    Is there any chance to get it back officially ? Set by default to false, with a value you can change in MP ?

    With something like this, line 120 of AP_MotorsMatrix.cpp, replace :

    motor_out[i]    = _rc_throttle->radio_min;

    with something like

    if ( g.copter_cut_motors ) {
        motor_out[i]    = _rc_throttle->radio_min;
    } else {
        motor_out[i]    = _rc_throttle->radio_min + _min_throttle;

    Another improvement, it will be nice to have a ratio parameter for current sensor, like the one for voltage sensor.
    Because if you don't use AttoPilot (I'm using the one coming with TBS frame), measure is not good, and you have to change a value each time there's a new release.


  • Yesterday I once again tested on RC1 APM2.5
    climbed the 100 meters and made ​​a turn for the pan shots
    at 300 meters it very gracefully and I made a rapid decline back to 100 and slowed the decline. while I have found a 90 degree change of axis simple mode.
    I was confused and turned on RTL. in RTL QUAID worked correctly and returned to me. I again turned on the ALT HOLD and pressed forward. QUAID flew to the left. Then I turned in the same direction and successfully landed Quaid

    i have telemetry log. post it here? is it interesting?

  • I've logged a long time ago some problems with RSSI and COPTER_LEDS (issue 477 and issue 476).

    With version 2.9x, it's possible to handle RSSI, put only if you disable COPTERS_LEDS, so if you compile your own firmware, it's not a real problem to do that, but if you want to use an official release via MP, it'll be impossible to use RSSI.

    There's also a parameter (RSSI_PIN) to specify what port you want to use for RSSI. Won't it be simpler to have a dedicated port for RSSI (A8 for exemple), and the other one (A7 to A4) dedicated for LED, so you could have both, with no custom build ?


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
May 11
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