ArduPlane 2.50 released

I'm delighted to announce the release of ArduPlane 2.50 for your flying pleasure. This release has a lot of advances to some of the core ArduPlane code, and should be a big improvement for many people.

Perhaps the most important change in this release is the new DCM code that does acceleration correction based on the GPS. This improvement is based on work by Bill Premerlani which really advances the state of the art for attitude estimation on small microcontroller based autopilots. The improvement in attitude estimation is very noticable in flight, resulting in significantly more accurate control. Many thanks to Bill for his patience in working with Jon Challinger and myself to bring this improvement to ArduPlane.

Other significant improvements include:

  • updates to the barometer driver to sample the pressure and temperature much more rapidly, leading to better altitude estimation
  • updates to the AP_AnalogSource driver to be interrupt driven, allowing us to sample all analog sources much more rapidly. For ArduPlane this improves the airspeed sensor on the APM2 a lot.
  • updates to the waypoint completion logic, to use a "finish line" algorithm. This prevents the problem of circling around a waypoint when we miss it by more than the waypoint radius. The waypoint is now considered complete when we pass a line that is perpendicular to the track, and passing through the target waypoint.
  • improvements to the AP_Mount code, allowing for control of roll/pitch/yaw stabilisation via EEPROM variables that can be set over MAVLink. This allows you to setup the mount once, and it will resume operation as soon as you boot. These changes also fix a number of bugs in the AP_Mount code, so it AP_Mount hasn't worked for you, please try again. Many thanks to Greg Fletcher and Amilcar Lucus for the AP_Mount improvements.
  • Lots of improvements to the ArduPlane parameter documentation.  This documentation should be the first place you look when trying to understand ArduPlane configuration parameters. Many thanks to Andreas Antonopoulos for his great work on generating these wiki docs based on the source code markup.
  • New LAND_PITCH_CD parameter to control the landing pitch when not under airspeed control. Thanks to Jeff Taylor for fixing this!
  • New SCALING_SPEED parameter that allows you to set the base speed for scaling PIDs. Previously we assumed a standard speed of 15 m/s, which is too low for fast aircraft. By adjusting SCALING_SPEED you can have the same set of PIDs for both airspeed and non-airspeed flight control.

There is one change in this release which may require some re-tuning. We were using the wrong value for time delta when using the PID controller for navigation roll. This has been fixed by making the PID library calculate the delta time internally, but it means that existing HDG2RLL_I and HDG2RLL_D values  will be incorrect. I have fixed the defaults, but if you have your own settings for these, you will need to drop HDG2RLL_I by a factor of 5, and raise HDG2RLL_D by a factor of 5 to get the same result as for the previous release.

Thanks to everyone who has contributed to this release!

For the next release the plan is to concentrate on improved stabilisation and navigation controllers, based on the great work being done by Jon Challinger.

Happy flying!

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

Join diydrones

Email me when people reply –


  • Hello,

    I've posted this in hardware sections with little result as of this time. So I thought, just in case there is a SW issue, I would post here.

    Issue- Installed the Attopilot 90A/50V Current/Voltage sensor as described in Wiki for APM2. When I configure, I use drop down for Atto 90/50 but as soon as I leave config and come back, the pull down for sensor is at Other. The voltage appears to be correct for a 3SLiPo but the current as shown in Flight Data, Status is >129A. As you can imagine, the battery remaining time goes to 0% in about a minute. I have triple checked all wiring and soldering and can find nothing wrong. Is there something I have missed?

    Also, assuming I can get this working, is there a way to read real time current in the HUD and total mAh?

    Thank you,


  • Since updating both firmware and Mission Planner I have been having a number of issues and just some all-around odd behavior in both simulation mode and when flying for real.  At this point I don't know if the problems are on my end or if in fact some bugs have been introduced.  I did not knowingly change any parameter settings, but maybe some need to be adjusted to accommodate the new software.  I posted some of these issues in another thread, so I won't repeat them here.

    I'd like to do a little more digging.  I can fix some issues by rolling back Mission Planner, but not all.  I'd like to roll back firmware as well for two reasons.  One, I'd like to get things working again just to have the comfort level that I can go back if needed.  Second, if my problems still exist after rolling back, that will point to problems on my end.  If the problems go away, that might point to something in the software.

    I only know how to use MP to load firmware.  If someone could provide the steps to manually load earlier firmware I would greatly appreciate it.


  • Another day of test with no luck.

    I dont know what happened.
    When I start up everithing i have several strange behaviors.

    1.- the distance to waypoint 1 is bad on the planner. The planner showme a distance like if theplane where in waypoint 1, I walk with the plane and the distance increases.

    2.- when I go to AUTO mode the CH3 OUT gos to minimum. But if I blow into de pitot the engine starts to run.

    3.- When I go to AUTO mode the sevos starts to move like a heart beat.

    I try with another everithing Change pitot, change APM (another APM2), Change GPS, Change ESC, CHANGE AIRPLANE !!!, And always get the same result.

    May be I could make a video showing that or upload all the logs generated in the planner.

  • Developer

    Hello everyone,

    @Andrew: What about include in code voltage readings for RSSI and a secondary battery voltage? Could be this request studied?

    Now I am taking my RSSI and battery voltage reading from two ADC ports on my Remzibi.

    The best would be to include natively both of them in the Mavlink datastreams. I think this could be very useful.


    Yesterday I have emptied my video battery while I was doing FPV. Thanks to APM failsafe my plane returned to my hands.


    Andrew, thanks for your effort.


    Regards from Spain,


  • DO_JUMP bug.

    After I fly a mission and reset the mission the DO_JUMP counter does not reset. I fly quite a bit with no computer at the field and like to fly the same mission for several battery packs but it won’t work.

    Has anyone else had this problem or am I doing something wrong?




  • Tuning with no airspeed sensor.

    I want a little faster speed between waypoints. I tried increasing the cruise airspeed but it did not make ant difference and the wind came up before I could try anything else. Maybe increasing cruise throttle is what I need?

    What if I just install a higher pitch prop – would that do the trick?

  • Hi guys!

    Can somebody please help me get rid of the yaw drift without using the GPS or compass? The roll and pitch are not drifting at all, but the yaw usually gets out of control in a few minutes, even when I keep the aircraft on the desk. 

    I need the drift correction to be made in the same way as for roll and pitch, without GPS or compass..

    Looking forward to your answer.


  • AWESOME! The parameter documentation is very helpful. Thanks for all your hard work.

  • Today I tested AP 2.50. Works well, I'm glad with it - seems to be reliable.

    Thanks to developers!

    But I have only APM1280 and had lots of cuts in code. One of them was GPS_PROTOCOL set hard coded to GPS_PROTOCOL_MTK16. It wouldn't be a problem for me because I still use the same kind of GPS and wont change it in near future, but the AP 2.50 won't initialize it properly - every time after AP starts and GPS is powered too I must reset the APM. Thus it gets GPS lock otherwise will not get it even if the blue led on GPS module is solid. Seems like it can't communicate with GPS right after start and GPS is powered. Reset buton must be pushed and then it start communicate with GPS module ;(

    Sad because I mentioned this problem in very earlier versions of AP and nothing changed.

    This is but the same problem with ACM. For that I use APM2560 thus I could use GPS protocol set to GPS_PROTOCOL_AUTO. In this case AP starts communicate to GPS without problems. Only when I set protocol to exact

    GPS_PROTOCOL_MTK16 AP has a problem and I must to reset it.

  • Moderator

    Google Earth plots from two lengthy Loiters this morning flying an own-design wing with APM1 & AP2.50. Total flight time was 30mins 9 secs with a 3000mah 3S Turnigy pack averaging around 6A for the whole flight. Up is North, slight breeze blowing WSW. The slight deviations in the green plot were a wind direction change (...I think, as I was changing a few parameters at the time).

    Works very well, thanks devs & testers


This reply was deleted.