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: 132030

Reply to This

Replies to This Discussion

If i remember correctly form another dicussion the SIMPLE parameter is a bitmask that defines which modes is to be run in simple.

Now that 2.5.3 is out and working reasonably well, we are turning our attention to enhancements and bug fixes for the next release, 2.6.  What this means is that you should take extra care if you are loading code directly from trunk (aka git) as it will be in flux for the next couple of weeks.

Now, I hope there are not too many people actually doing this.  We recommend people use the code from the mission planner or from the downloads area but I wanted to warn people just in case!

BTW, it's hard to say at this point what improvements will be in 2.6 but some yaw improvements are likely.

With luck, we'll have the improved LED code out! :)

That is epic

Great, will this use the IC relay mod previously posted here:

If so can i feature request selectable flashing of one led on medium low or very low battery?  I'd be looking to set the rear red led strip and a 12v buzzer to sound on low batt to replace the annoying lipo alarm...

Might be wrong but I think a reset is enough, mine was really playing up till i did this...

Well the quad was almost still with wind gusts. I was pretty amazed, but I was not in loiter at all.

Of course if there is some costant wind, it will (sooner or later) fly away, but that is normal.

The fact, I think, is that the D term really kicks in fast, so as soon as there is a gust, the copter counteracts enough to stay almost still. The D term really works well with unpredictable external interference.

But as a side effect, if your copter has many vibrations, the D term will be very bad because internal noise will let the controller think it is external noise, and scillations will occur.

So the best think is to isolate as much as you can the electronics and get a nice calm environment to get all parameters right. Then fine tune in real life...
Glad this helped.


In this case, ive a question. as i know, we dont have the battery monitoring over the 3 (3S) resistors anymore in the code, or?

so, how i monitor the battery to get these all nice blinking led stripes ?

Chris: The answer is in the manual.

I'm not quite sure I understand the request, but I will try to answer.

Currently, the official code supports LED lights.  I'm sure some people never knew that because it isn't really documented.  I discovered it when I hooked up the Darlington chip and the LED's magically worked.  This version of the code turns on the LED's when the motors are armed.  And it attempted to blink the LEDS when the battery is low.  But I think a mistake was made it would basically turn 2 leds on, 2 off, and just stay that way.

The Blink code appears to simply blink the LEDs continuously, no matter what the condition.

My code will combine both.  It will turn the LEDs full on when armed, and blink them when the battery is low.  It also has the option of designating 2 out of the 8 pins (or 1 out of the 4 on the outer row, but there are in fact 8 pins total) to track GPS status.  Blinking for no lock, solid for 3D fix.  

And another option that will designate 2 pins to go on and off with a SUB-function on Ch7.  You'll still be able to use Ch7 normally for Ch7 options, but you can switch some LEDS on and off with another switch mixed into Ch7.  I got this idea from Show_LEDS.  This could be used for Aux lighting (I'm planning on a search light) or strobe light, or sound effects even, whatever you want to hook up to that pin (provided it doesn't draw more than 40mA!)

After that, we can look at other modes.  Always blinking, rotating, etc.

And I may try to bring in Show_Leds.  Only problem is that starts to eat up a lot of code space!

Ok Ok, lets figure out, what we have....

the "old" cell monitoring is gone. the "new" is only monitoring the whole volts of my lipo, ok. thats okay.

so i know the 3,2,1 - blink code and the u4eakes code. both are working with the actual code?

all i need is some switchable led patterns, a lipo warning pattern and, the important thing for me, the gps fix option. but to have the gps led stripe is extra, maybe on top of my copter, so that i see, wich status i have inflight. starts blinking, if the satcount is under 6 maybe ^^

as i know, all of them are in the new code? or what u meaning robert?

No, 3,2,1 and Show leds are not, and will not be in the main code in the next release.

Currently I'm planning on no patterns.  Just full on when motors are armed, and blinking if/when battery voltage is low.  And the option for GPS monitoring, but I wasn't planning on looking at Sat count or anything complicated like that.

The thing about the 3,2,1 code, is that it always blinks. There is no battery warning.  Do people want LED's that always blink?  I could probably do that.

Reply to Discussion


DIY Drones Monthly


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2016   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service