The APM dev team is delighted to announce the release of APM:Plane 2.74, a major new release with a lot of new features. This release is recommended for anyone flying fixed wing aircraft with an APM2 or PX4.

There are a lot of changes in this release, but some of the highlights are:

  • new APM_Control attitude controllers.
  • new TECS speed/height controller from Paul Riseborough.
  • two new flight modes, ACRO and CRUISE
  • new camera trigger by distance system, for better aerial mapping
  • dozens of small fixes and improvements from two months of development
  • lots more documentation, including tuning guides for all the new parameters

Scroll down for a more complete list of changes, but before that I'd like to give you a bit more detail on the highlights above.

New Attitude Controllers

The new "APM_Control" attitude controllers have been in development for a long time. Originally developed by Jon Challinger last year, they were extended by Paul Riseborough and made compatible with the existing parameter names. The key advantage of these new controllers is their improved handling of noise, and much better ability to tune for your aircraft. There is a new tuning guide in the wiki which gives detailed instructions on how to make the most of the new capabilities.

One of the big effects you will see with the new attitude controllers is better handling of pitch compensation in turns. The new PTCH2SRV_RLL parameter makes tuning for flat turns much easier, which has been a major source of frustration in the past.

The new controllers also handle sensor noise much better, especially if you use any D term in your roll or pitch controllers.

New Speed/Height Controller

The new TECS speed/height controller is the second major controller change in this release, and will make a world of difference for aircraft with an airspeed sensor. After a lot of testing I decided to make TECS the default in this release, although you can switch back to the old controllers using the ALT_CTRL_ALG parameter if need be. If for some reason you find you do need these old controllers then please let me know, as I am planning on removing the old controllers in the next release.

The previous airspeed controller for speed/height suffered from a major problem that it gave absolute priority to airspeed. If the aircraft could not achieve the target airspeed you had set then it would dive to gain speed, even to the point of diving into the ground. This made it quite fragile, and you had to be very sure of your airspeed configuration.

The new controller operates over a range of airspeed values, set using the ARSPD_FBW_MIN and ARSPD_FBW_MAX parameters. That controller will try to meet both the airspeed and altitude demands of the mission, but if it can't reach the target speed it will happily fly a bit slower, as long as it doesn't get below ARSPD_FBW_MIN. You can control the relative priorities of speed versus height using the TECS_SPDWEIGHT parameter. See the full tuning guide for details.

New ACRO flight mode

After a suggestion from Thomas in the 2.73 release thread, we have added a new ACRO flight mode.

This modes brings rate controlled stabilization to APM:Plane, and should help give you an "on rails" manual flight experience. It is a lot of fun to fly, but it is not for beginners!

We're planning on expanding the ACRO mode in future releases. Right now it is great for "locked in" flying, and also good for loops and handles inverted flight very nicely. It doesn't yet handle knife-edge or prop-hanging.

New CRUISE flight mode

After a suggestion from Hein, we now have a new CRUISE flight mode. This mode is ideal for longer distance flying without a pre-programmed mission. It is like FBWB, but also does ground track heading hold, with heading update via aileron or rudder.

I've been testing CRUISE at my local flying field, and it is the easiest mode to fly in APM. Just steer the plane around the sky, and when you stop steering it locks onto a ground track and holds it. It isn't a good mode for takeoff and landing, but once you are in the air it is great.

New camera trigger system

When using APM for aerial mapping where you want photos taken at regular distances, the previous system was to setup a grid mission with a "camera trigger" mission item at regular intervals within the mission. That worked, but led to overly large and complex missions. You can now just set a single parameter CAM_TRIGG_DIST to the number of meters of flight between photos, and the APM will take care of when to trigger the camera. This makes for much simpler missions, and also works in other flight modes, including FBWB and CRUISE.

Lots of smaller changes

As is usual with a new release after a couple of months of development there were a lot of smaller improvements based on feedback from users. Many thanks to everyone who gave feedback and contributed patches!

Here is a partial list of the changes:

  • added new GND_ALT_OFFSET parameter for ground station barometric correction
  • made it possible to set the failsafe battery voltage and battery level at runtime via parameters
  • added MIXING_GAIN parameter for controlling the elevon and v-tail mixers
  • fixed stick mixing range in AUTO modes  (thanks Soren!)
  • fixed mode logging in dataflash
  • added support for the EagleTree I2C airspeed sensor on PX4
  • added new RCMAP_* parameters for re-mapping control channels (good for DSM and SBUS receivers on PX4)
  • made it possible to configure board orientation at runtime, to make setup easier without rebooting
  • switched to new task scheduler for more accurate internal timing
  • added a new RELAY_PIN parameter for setting up camera trigger via a digital pin
  • added secondary rudder support, useful for when a separate servo is used for a nosewheel and the rudder, or for v-tail planes with nosewheels
  • fixed RTL glide slope when starting above the target RTL altitude. Descent should now be smooth over long distances. Many thanks to Kitsen13 for raising this.
  • fixed a bug with FBWB airspeed control. Many thanks to Gabor for reporting this
  • Added FS_LONG_TIMEOUT and FS_SHORT_TIMEOUT parameters. Many thanks for the suggestion by Aleck
  • fixed handling of deadzone parameters on RC channels. Many thanks to Soren for reporting this
  • many small C++ fixes from NeuroCopter. This sort of detailed review of our code is much appreciated!
  • fixed analog in handling with some unusual devices - thanks to Andi for noticing this!
  • added support for apparent versus true airspeed calculations based on pressure altitude, for better flight control at higher altitudes
  • avoid writing unchanged bytes to EEPROM, for faster updates and less wear on the chip
  • cope better with large yaw changes in the AHRS code
  • improved the reliability of USB connections on PX4
  • added PX4 support for RELAY (thanks to Marco Bauer)
  • fixed handling of high spin rates in AHRS (thanks Jurgen!)
  • removed support for the old APM1 1280 based boards.

This new release has a lot of new features that should improve the flying experience for all APM users. The APM dev teams wishes all APM users many enjoyable flights, and we hope you have as much fun flying this release as we had making it.

Happy flying!

Views: 59866

Reply to This

Replies to This Discussion

I can't find the post, but somewhere you accused me of being rude and made some BIG assumptions on your part about my statements. NONE were rude and I was calling out no one.

With this equipment, one is always about a half step away from wondering if it's them, equipment or software.



Hi Tridge,

Thanks for the detail reply. My interpretation from what you said above is that you need (my words) and hdop below 2 in order to set level? I have never had this problem before. I have set level in the house with not even 2D GPS lock. Further, the AHI has always been dead on after a reset.

Since both my APMs exhibit this issue, I can only assume it if SW of FW related.

Thanks for your help.


On page 14, I reported a problem with the AHI after leveling the APM. This was after updating to MP ver. 1.2.61. I reloaded 1.2.60 and problem solved. I am reporting in a new post for easier identity for those of you who may be scratching your heads. In other words, I believe it to be a bug in 1.2.61.

Hi Steven,

Thanks for the detail reply. My interpretation from what you said above is that you need (my words) and hdop below 2 in order to set level?

no, sorry, I obviously didn't make it clear enough.

The GPS has no impact on whether the level works on not. What it does have an impact on is the pitch/roll shown on a ground station in the seconds immediately after you finish doing the level.

So you can do a level with any level of GPS lock, or no GPS at all, and the resulting level offsets saved to the APM will be fine. What you saw is an artifact of the drift compensation algorithm taking a few seconds for it to get itself sorted out after the level is done.

Internally the APM has a whole bunch of maths going on to try to get an accurate estimate of your attitude. That maths is briefly turned on its head when you re-calibrate the accelerometers. It just takes a few seconds to sort itself back out. There is code in there that tries to shortcircuit that sorting out, by doing a "AHRS reset" directly after levelling. What your posting has shown is that attempt to hide the artifacts is not completely effective if the GPS is giving very poor velocity numbers.

It doesn't affect your ability to fly the plane, unless you try to take off within about 15 seconds of completing the level operation :-)

Cheers, Tridge

Hi Steven,

I have telem. So how to do telem level. If people don't have this and no auto, which I knew, how do they level their plane?

If you don't have a telemetry radio then you would do the level using a USB connection. You'd normally do this on the bench at home before you go out to the flying field.

Cheers, Tridge

Tridge, thanks. I've got it now. I believe the problem to be a bug in 1.2.61. I get the same behavior I always have when I reverted to 1.2.60. BUT, I have a much better understanding of how things work, thanks to you.


Yes, I thought of that right after I posted. I got spoiled with telem, makes everything so much easier.



First, I was not even aware there were two leveling processes. I would like to learn more on the second, if you can point me.

The 3D accel levelling process is something quite new, and was originally done for the copter code where it can be quite critical to have very precise level for accurate loiter. It's less critical for a plane, although you can do it if you want.

In MP on copter you can initiate a 3D accel cal using the MissionPlanner GUI. You can't do that in plane yet (though I think that will change soon), but you can do it using the CLI interface. Go into the CLI in the 'terminal' tab in MissionPlanner, and after you are connected go into the setup submenu, and choose "accel". It will ask you to hold your plane in the 6 different attitudes then calculate a very accurate offset and scaling.

It's not really critical for a plane, but you can do it if you want to get that tiny bit of extra accuracy.

Cheers, Tridge

Thanks Tridge, so would it be better to increase this to 7 or8 so the calculation system takes over before the GPS fails to indicate the correct position or reduce it to 4 or 5 so the GPS continues to be the reference for longer? Or can I add a better GPS to the APM 2.0?


Thanks to the great work of the developers, my test bed, EZ Star I, was flying to WPs like it was on rails. The FBWA was working very nicely as well.

I do have one question though. On FBWA, I get a very slight turn to the left. I mean really slight. My Manual is pure straight and level. Is there a way to tune out the FBWA subtle turn?



Yes it's easy!
Add a  bit of I to the RLL2SRV parameter (Roll servo PID) (a value of 0,05 to 0,1 will do), and set IMAX to a value between 10 and 15. (assuming you have ailerons, otherwise add it to the yaw PID controller) That way the controller will trim itself out. For maximum performance follow the tuning guide in the manual.

Great! Thank you.

Reply to Discussion


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

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service