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

Reply to This

Replies to This Discussion


I am just building my orig APM 2.0 + Radian Pro setup. I did a lot of quadrocopterstuff in the past with that APM but planes are completely new to me so please forgive me my stupid questions but I was not able to find answers to that.

1.: I mounted the APM in the canopy. But when attaching the lipo/power the canopy will be open and I will need some time to close it. Will the Gyrocalibration stop while I am fiddeling or will it produce unusable results, wich must lead to crash/unflyable result? Must I drill a hole to access the reset button or attach a switch to powerup APM seperately? Is there a timervariable I could set like: initialize gyros and fc after x seconds after powerup?

2.: I will be facing some magnetometer issues for sure due to proximity to the motor (canopy already magnets removed). I think the gps groundcourse will be much more usable/important in planes and correct/override the mag to some extend??

I will not be able to do a compassmot because a fixed radian pro with motor at full throttle will rip the nose off (seen video on YT). Maybe I can reverse the foldingprop - I will see in the further progress of my build.

3.: Flaps. The guide here: shows that I am not supposed to attach flaps. On the other hand here:

it says "To use flaps they must be configured on channel 5, 6, 7 or 8. If you wish to have manual control of the flaps then they must be on 5, 6, or 7" I think they are referring to the "Output line" of the apm? Or the channels in my RC? It is not so clear to me right now. Maybe showing the solderpoints in the main connection graphic for flaps would make it easier.

What I've done so far:

- Attached APM powermodule / also powers minimosd and frsky rx

- Extra 2A UBEC to power the servos exclusively (just servo datalines connected to apm)

- E-flite ESC just powers main motor, Bec is not used for anything else (from googling around I saw some radians pro biting the grass on the first flight without taking rc input anymore - I think the esc 5V was overstressed and tilted)

So far my Plane newbie shit! Any comments or biting comments hints and tips welcome.

Cheers Kraut Rob.

(1) Suggestion on calibration is to do it on the bench at home, where you have better control, rather than at the field every time. The auto calibrate has been removed in firmware 2.74, so there should be no need to recalibrate at the field.

(2) Hm, can you connect an external magnetometer on the I2C bus and move it back on the tail. Not sure if this is possible on the APM 2.0, it is on the 2.5 and 2.6 versions. I had the same issue with motor and other magnetic issues on the 2.5 and solved it by adding an external magnetometer as described.

(3) I have just set up my flaps, so this is fresh in memory. You can configure your flaps on the TX on any free channel between 5 and 7. I'd leave 8 as its often used for mode switching on the APM by default. You then calibrate the Radio to show the channel(s) you select.

The parameters to set in APM are RCx_Function, where x = 5, 6 or 7 depending on the channel you select. you can set it up by entering 1, 2 ,3 ,4 or 5 to get RC Feed-through, Flaps, Flaps Auto (in FBW-B mode only), Aileron or Flaperon functionality.

Hope this helps

@FPV-NUT: Thank you very much for your reply and your input!

I am still struggeling with fitting all that stuff in the glider (cursing the whole stuff many times now..). I will stay away from the flaps (fixed them to neutral) for now. But thank you very much for the information on them, it will be very useful when i get to them..

I put a hole in the canopy to be able to do a reset in the field. I am not sure if the bench calibration of the acc also produces stored offsets for the gyros as well. That would at least require some sort of temperature compensation.


Could you attach your parameter file? Thanks a lot

what log mask do you need to log CAM events?

I was following the advice given by Tridge in this thread -->

Rudder and ailerons are pretty different animal. I am not sure how exactly APM is using the rudder.

Hi Martin,

Either way should work. One advantage of connecting it to the aileron is that the radio calibration should work better.

As far as APM is concerned a rudder on a rudder+elevator plane plays the role of both rudder and aileron, so the control rules are the same as aileron. The only real difference is the gains.

Cheers, Tridge

Hey again guys... I went for another flight today with the X8 to test the waypoints... i had mixed results :) The plane kept its height very well but was weaving(am i correcting in thinking i need to increase L1 Period?) also the plane had trouble staying on the line between can i correct for this? Thanks guys :)

Irony is that the X8 is intended for mapping and surveying use..when i got to my flying site a squirrel helicopter flew over with two Lidar pylons and they were mapping my flying site...made fort an impatient me haha.

"I have RST_MISSION_CH set to channel 9 but it doesn't seem to be working. How can I see the output of the channels above 9? I only see channels 1-8 listed anywhere in MP"

Can anyone shed some light on this? How can I monitor the output of the upper channels?

I believe that if you are using CPPM from your RX to APM, only 8 channels get passed.

We have a radian too and I have no idea how you would fit it in there. If you are looking for simple stabilisation, I'd look a tiny, lightweight Eagletree Guardian fro 2D and 3D stabilisation. I found once I started with the AMP, telemetry, GPS and power monitor took up so much space, I'd look at a larger body plane. 

I fly it in my X-8, Cessna 182 Xtreme and Skywalker 2013 Carbon, where I have more space. Lots of fun if you don't have to hassle with space and focus on flying.

Well that would explain it. Can I get confirmation on this?

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service