APM:Plane 2.74 released

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!

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

Join diydrones

Email me when people reply –


  • Hello all,

    I have a problem with my APM2 with the calibration of accelerometers use the M.P. 1.2.67, and when I do the calibration, as wiki procedures, it gives me the following error "Calibration Failed", I run both in MP mode in the CLI. The gyroscopes and accelerators work as test CLI.

    APM2 fw 2.74b

    MP 1.2.67

    Regards, Fabio


  • In addition here you are two .tlog files of first and second flights. In first flight RLL2SRV_P =0,75, and in second flight RLL2SRV_P=0,9

    2013-08-09 15-34-34.tlog

    2013-08-09 16-18-54.tlog
  • Good day community.

     I need your help. After installing 2.74 firmware i can't manage to tune roll controller. In FBWA mode when I comand full left o right bank (45 deg) after half or bit more turn plane stall transient to spin with very tight radius. There wasn't this behavior with 2.73 firmware even 55 deg bank angle limit. Please advise me what's wrong with my setup. My airframe is flying wing, span 1800mm, weight 2.07 kg, battery 3 x 3S 2200mAh, motor NTM Prop Drive Series 35-30A 1400kv / 560w, prop TGS Sport 10x5E Precision propeller, (thrust IAS=0 km/h about 1,6 kg), APM 2.0. I attached .log file of two flights.

    2013-08-09 17-03 12.log
  • It's possible to include an option, like Arducopter that in RTL mode the plane fly at programmed altittude and when it reaches home, descend to another programed altittude ?, for longer distance flying the plane can return a high altitude and descend where you can be able to see  for land.

  • Need Tuning Advice

    I have a 42” light weight aircraft, Sid Kadet 42 with ailerons. During Auto flight it is very abrupt when rolling to turn to the next waypoint. Do I change L1 damping or RLL2SRV_RMAX to smooth out the flight. If damping which way do I tune?

  • Hi


    I had some tests with the ACRO mode on my flying Wing (1.5m with FPV)

    Maybe it needs some more tweaks but it feels a bit weird on the controls.


    Is it possible that:

    When the ACRO mode is activated it holds the actual attitude. When a stick movement is recognized the plane acts like in manual mode (but with angular speed limit). When the stick are neutral the plane holds attitude again. The attitude is held by using the ACC sensors, right?


    That would explain why it feels so different to fly this mode in comparison to the openaero, which uses just the gyros in “ACRO” (rate stabilization) mode.


    Thanks for all of your effort to enhance the SW :)



  • Moderator

    Flew a number of flights again today with a Parkzone Radian rudder/elev only glider. A couple points:

    Without the MP or rebooting it is not possible to restart a mission once the mission has finished (been to it's last waypoint) using the mode switch, it is also not possible to do it during the RTL from last waypoint to home and neither is it possible to do it when the plane has finished RTL and is Loitering around home. So if you have no MP the only option is to land and reboot. I've opened an issue here

    While on the ground, if not in Auto the mission still wouldn't restart despite multiple clicks of the "Restart Mission" button in the MP, when switched to Auto on the ground then eventually we got a proper mission start.

    L1 period worked quite well at 15 and damping at 0.950, any other values caused noticeable snaking, overshooting and missed waypoints.

    On at least three out of six Autotakeoff launches the plane flew nearly flat until it became necessary to intervene to avoid hitting trees or the ground, on two autotakeoffs a climb out of the programmed 15° and 20° worked fine. Any ideas why?

  • i want ardupilot return my plane back to launch point controlling by RUDDER and THROTTLE only. It is possible?

    RTL by RUDDER and THROTTLE only?

  • Moderator

    Does anyone else do the PreFlight calibration from the Flight Data > Actions > Do Action dropdown before a flight?

    Often my airspeed and groundspeed aren't at zero and need this calibration before they stay at zero whilst stationary on the ground.

    How important is this calibration, what else does it calibrate and should we all be doing it?

  •  Hi  Andrew:

    In test flight use my own GCS today , it looks like the Auto mode and RTL mode doesn't work, I make a image of flight track as follow, and some parametre set also list in image.

    I think waypoints which set by my GCS is correct, because when i use MissionPlanner download from apm, it looks no error.

    In flight, the air speed is about 5m/s, and the ground speed is about 15m/s.

    the height of flight is 40-60m.

    Is the distance from plane to waypoint  too far to make auto mode work failed ?

    could you tell my some imformation  which will make AUTO/RTL mode not work property?

    thanks a lot




This reply was deleted.


DIY Robocars via Twitter
RT @a1k0n: Did I get rid of hand-tuned parameters? Yes. Am I still hand-tuning more parameters? Also yes. I have a few knobs to address the…
DIY Robocars via Twitter
RT @a1k0n: I'm not going to spoil it, but (after charging the battery) this works way better than it has any right to. The car is now faste…
DIY Robocars via Twitter
RT @a1k0n: Decided to just see what happens if I run the sim-trained neural net on the car, with some safety rails around max throttle slew…
DIY Robocars via Twitter
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
Sep 23
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
Sep 22
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11
DIY Robocars via Twitter
RT @gclue_akira: 世界最速 チームtamiyaのaiカー
Sep 10
DIY Robocars via Twitter
RT @DanielChiaJH: Always a good time working on my @diyrobocars car at @circuitlaunch. Still got some work to do if I’m to beat @a1k0n howe…
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: My new speed profile for @RAMS_RC_Club track
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: Practiced at @RAMS_RC_Club today with my new @ARRMARC car
Aug 28
DIY Robocars via Twitter
Aug 24
DIY Robocars via Twitter
RT @gclue_akira: 柏の葉で走行させてるjetracerの中身 #instantNeRF #jetracer
Jul 4
DIY Robocars via Twitter
Cool web-based self-driving simulator. Click save when the AI does the right thing
Jul 4