Version 2.5 of the ArduCopter code is now available in the AP Mission Planner and in the downloads area!



  1. The first ArduCopter code release optimized for the APM 2.  Leans and drift should be much reduced or even eliminated for most users.  This was accomplished through a number of core improvements to the DCM implementation by Tridge like this one and this one.
  2. Loiter and waypoint following should be improved due to a D term bug fix, some tuning and the improved DCM performance mentioned above.
  3. On start-up, the yaw heading is updated with first successful mag read (so you should no longer see the slow rotation from north to your actual heading).
  4. Increased output rate to ESCs to 490hz.  This update rate is also user selectable using the new RC_SPEED parameter.
  5. hexa copter stability patch bug fix (should resolve slight flattening when pitching forward and accelerating very rapidly).
  6. improved baro filtering
  7. fix to dataflash logging of Mag heading
  8. addition of H1 swash plate type and bug fix for proactive yaw compensation for collective pitch changes for TradHelis.



The default PIDs are optimized for a 3DR/Jdrones quad with 850 motors and 10" props. If you're using more powerful motors/props, start by turning down Rate Roll P in 25% steps.

While some testers have reported very good flights with the default PIDs, some have reported that this release is a little "sharper" due to the DCM improvements and have found they needed to:

     reduce stabilize P by 10% (i.e. 4.5 -> 4.2)

     reduce stabilize D by 30% (i.e. 0.15 -> 0.10)

     increase rate D from 0 to 0.001

Tuning loiter can be tricky.  Refer to the discussions which will appear below for more community feedback on what parameters work best.


Please post your feedback in this discussion.  For enhancement requests  and bug report, please add them to the arducopter issues list.  When possible please include logs (tlog and/or dataflash) and tell us whether you're using APM1 or APM2 and what version of the software you're using (presumably 2.5 but tell us anyway!).


Thanks for this release go to the developers (both in the core team but also those who have provided bug fixes through the issues list) and also the community members who participated in the previous release thread and provided some great detailed information in the form of issue reports and logs which allowed us to nail some bugs!


Views: 132832

Reply to This

Replies to This Discussion

Guys thanks for all the hard work, got to set it up again but thats fine, looks like its worth it for the improvements!

I was lucky enough in 2.4 that i could just dial down stab_p to 3.5 and it was perfect (large quad, 860kv motors, 1.4KG, 75cm m to m).

On 2.5 just ypdated thrugh APM Planner it 'flops' about, rather than being locked in to horizontal, almost how i imagine acro mode to work (it was definitely not in acro mode)

What setting do i need to adjust to help it stay forcefully locked to horizontal until i choose other wise, in other words, to feel like i can let go of the sticks and have it not shoot away in a direction?

Thank You for this great Work :)

I got my APM 2.0 Today, i hope i can fly soon :)

Tony, we're updating that test in 2.5.1. You can try a beta (if you're willing to load with Arduino) here

Increase rate_P first, till it starts to oscillate when you waggle the sticks then back off about 10- 20%.

Increase stab_P next, it will become more and more solid until you see a 'bounce' when changing direction (fly forward, stop, fly back, it should feel like you have full control at all times, no sloppiness and no over compensation to roll/pitch direction changes.

Then you can play with a bit of stab_D and/or rate_D, small increments (0.002) to get even more locked in. TOo much rate_D will cause twitching, too much stab_D will start to make the transistion from one angle to another feel sludgy and less controlled.

And then finally rate_I OR stab_I. (0.05 increments - in my experience don't go as high as 1.0 with I and I've never found any benefit with having rate_I AND stab_I - although I like being proved wrong, especially if its something good I'm missing out on...)

Generally I prefer using rate_I, but try them both, whilst the other is at Zero. Stab_I may be better depending on your frame. Too much causes the quad/multi to start to feel a bit unnatural, likes its thinking about disobeying you... if that makes sense.

When its flying nice, with some rate_D, stab_d and rate OR stab_I you should find that you can up the stab_P and rate_P a bit more for a super locked in 'ninja' feel, if this is what you are looking for.

Once you've got this feel you can soften the whole thing by simply reducing all or some of the above parameters, have a play with some high, some low, then reverse them.  

Obviously so much easier if you have telemetry (or a very long and soft USB cable ;) (Don't do this, you WILL tear the usb header off the board!!!)

Also for a very slightly different method, you can use the attached spreadsheet to help, courtesy of Angel, thank you my friend, this saves many words ;)

The only thing I'd change is where Angel finds his 100% value then reduces to 50%, i think about 70-80%, even 100% is ok now with the DCM filtering :)

Good luck


This was an amazing reply, thank you so much.

I'll try shortly and report back!

Chris,  any explanation as to what has been changed for 2.5.1 vs. 2.5?  2.5 seems to be flying great for me currently, but if there is a hidden bug, I definitely want to change the firmware.  Thanks

Hey, great spreadsheet!!  was it posted before?? if so how could I have missed it??

Excellent, well explained Dave! Can we use this for the wiki?

Ah cool, i'll give that a go tomorrow 

FYI folks, hitting up the Y6, Hexa and 3DR Hexa today with APM1.x and 2.5--will report back on progress.

Is it only me...?

While most of you guys here seems slightly euphoric about the new release, I seem to have issues with it. At this time I address mainly yaw and attitude control, but I have doubts about loiter and auto as well (sorry to sound negative).

3DR stock quad, APM2 (soft suspension), code git_2.5.1_ed52caa6bc0a, 3SLiPo4500mAh

First one can always start blaming the parameters for any anomalies showing up. But after having played with for some flights I would say there is something else going on. AHRS stuff spooking with me...


Yaw: Steep attitudes like 20-30 degrees makes yaw drift several degrees, feels like 10 deg or more. Flying back and forth at aggressive attitude provokes this, every time. Yes, I could make a video, I did not, please believe me anyway. There is no doubt. Yaw rate and stab PIDs seems to do their job otherwise, but I think the reference data (from DCM) is the crook here.

Attitude: Having been observing my quad very thoroughly I am convinced that DCM acts up here too. Often, after returning to level after some attitude, it does not really return to level. There is an artifact making it show some degrees nose up when it is actually nose down (simultaneously observing quad and the artificial horizon). Then soon it returns to true level, airframe and attitude indicator.  This seems very much like the artifact that has been there in many previous code versions.

Alt hold works fine, like before.

Loiter, hm. Tried Marcos setup. Could work fine in weak stable wind, but from that, still in loiter mode, climbing to 40 meters and coming up above tree tops, wind increasing, it started circling / oscillating really bad, violently. Tried auto yesterday and it accelerated towards the first waypoint an then it was all over the place, I had to abort the mission.

I have logs, but I the source of error is the DCM then I doubt that logs would provide anything of interest(?)

To wrap it up. I had much better flying with previous 2.2-2.4 versions and there are weird things going on with yaw and attitude, DCM is a suspect. It is not difficult to fly it, but it does not behaving exactly as it should.

I would be VERY interested if any more of you guys observed something like this??

Finally, to cheer you up after my complaints, a fresh pic showing the result of too little focus on the job while tuning and hand testing. It´s on me ;-)

Yes - it hurt. Carbon reinforced props.

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service