APM:Plane 3.6.0 released

3689651507?profile=originalThe ArduPilot development team is proud to announce the release of version 3.6.0 of APM:Plane. This is a major update so please read the notes carefully.

The biggest changes in this release are:

  • major update to PX4Firmware code
  • major update to QuadPlane code
  • addition of MAVLink2 support

Updated PX4Firmware

The updated PX4Firmware tree greatly improves support for the new Pixracer boards as well as improving scheduling performance and UAVCAN support. It also adds OneShot support for multirotor motors in QuadPlanes.

QuadPlane Updates

The QuadPlane changes are very extensive in this release. A lot of new features have been added, including:

  • improved automatic weathervaning
  • greatly improved support for mixed fixed wing and VTOL missions
  • automatic RTL with VTOL land
  • VTOL GUIDED mode support
  • greatly improved transition code
  • new tuning system for VTOL motors
  • extensive upgrade to logging system for much better flight analysis

The new QuadPlane features are documented at:

Please read the documentation carefully if you are flying a QuadPlane!

Tiltrotors and Tiltwings

This release has initial support for a variety of tiltrotors and tiltwing configurations. So far testing of these types of aircraft has been limited to simulations and it should be considered very experimental.

MAVLink2 Support

The new MAVLink2 support will allow for greatly expanded MAVLink protocol features in the future, and includes support for signing of MAVLink connections for the first time, making them secure against malicious attacks. I will do a separate blog post on upgrading to MAVLink2 soon. MAVLink1 is still the default for this release, but you can enable MAVLink2 on a per port basis by setting SERIALn_PROTOCOL=2.


Many thanks to everyone who has contributed to this release. Tom and I have been delighted at the number and quality of contributions across the community, and to the extensive testing and flight logs that have been provided.

We would also like to give a special thanks to UAV Solutions for sponsoring the development of many of the new QuadPlane features in this release and Airphrame for development of the improvements to the landing code. We'd also like to thanks aAVIonix for providing hardware for testing of ADSB features.

Special thanks also for the great contributions by many long term contributors to the project. Major contributions to this release have been made by:

  • Peter Barker
  • Lucas De Marchi
  • Gustavo Jose de Sousa
  • Leonard Hall
  • Paul Riseborough
  • Francisco Ferreira
  • Michael du Breuil
  • Grant Morphett
  • Michael Oborne
  • The PX4 development team

among many others. Tom and I really appreciate the effort!

Some of you may also have noticed that Tom Pittenger from Airphrame is now co-lead with me on the fixed wing support for ArduPilot. Tom has been a major contributor for a long time and the dev team was delighted to appoint him as co-lead.

Other Changes
Detailed changes in this release include:

  • added motortest for all quad motors in sequence
  • merge upstream PX4Firmware changes
  • new AC_AttitudeControl library from copter for quadplane
  • modified default gains for quadplanes
  • new velocity controller for initial quadplane landing
  • smooth out final descent for VTOL landing
  • changed default loop rate for quadplanes to 300Hz
  • support up to 16 output channels (two via SBUS output only)
  • fixed bug with landing flare for high values of LAND_FLARE_SEC
  • improved crash detection logic
  • added in-flight transmitter tuning
  • fix handling of SET_HOME_POSITION
  • added Q_VFWD_GAIN for forward motor in VTOL modes
  • added Q_WVANE_GAIN for active weathervaning
  • log the number of lost log messages
  • move position update to 50hz loop rather then the 10hz
  • Suppress throttle when parachute release initiated, not after release.
  • support Y6 frame class in quadplane
  • log L1 xtrack error integrator and remove extra yaw logging
  • limit roll before calculating load factor
  • simplify landing flare logic
  • smooth-out the end of takeoff pitch by reducing takeoff pitch min via TKOFF_PLIM_SEC
  • added support for DO_VTOL_TRANSITION as a mission item
  • fixed is_flying() for VTOL flight
  • added Q_ENABLE=2 for starting AUTO in VTOL
  • reload airspeed after VTOL landing
  • lower default VTOL ANGLE_MAX to 30 degrees
  • Change mode to RTL on end of mission rather then staying in auto
  • implemented QRTL for quadplane RTL
  • added Q_RTL_MODE parameter for QRTL after RTL approach
  • reduced the rate of EKF and attitude logging to 25Hz
  • added CHUTE_DELAY_MS parameter
  • allow remapping of any input channel to any output channel
  • numerous waf build improvements
  • support fast timer capture for camera trigger feedback
  • numerous improvements for Pixracer support
  • added more general tiltrotor support to SITL
  • only save learned compass offsets when disarmed
  • support MISSION_ITEM_INT for more accurate waypoint positions
  • change parachute deployment altitude to above ground not home
  • added AP_Tuning system for QuadPlane tuning
  • added initial support for tiltrotors and tiltwings
  • added LOG_REPLAY and LOG_DISARMED parameters
  • added Q_GUIDED_MODE parameter
  • major update to QuadPlane documentation
  • added MAVLink2 support
  • fixed origin vs home altitude discrepancy
  • improved Lidar based landing glide slope
  • fixed throttle failsafe with THR_PASS_STAB=1
  • prevent EKF blocking during baro and airspeed cal
  • allow for ground testing of parachutes with CHUTE_MINALT=0
  • fixed elevator stick mixing for above 50% input
  • added QuadPlane ESC calibration

Happy flying!

E-mail me when people leave their comments –

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

Join diydrones


  • Developer

    @jimc The quadplane feature does not care what type of airframe style you have.

  • hello Andrew Tridgell , Quadplane can be used in Flying Wings? I would like to do tests on a flying wings.

  • T3

    I've been dying to stick a Pixracer on a small 24" wing to stay under the 250g FAA registration limit. I've read a few compatibility issues with ArduPlane on the Pixracer from some of what I've seen here and with my research. It seems that most incompatibilities have been resolved but are there any outstanding ones that I should be aware of with 3.6.0?

  • @Tridge, understood. On the plus side, 3.5.3 seems to have worked for autoune today (after a 3 day rebuild of the plane). I pasted a preliminary analysis of the log on the bug. All I can see is that autotune seemed very much behind the airplane and that the attitude readings seemed to be correct (i.e. the autopilot didn't find itself unglued from its board).

    For the rest, I'll have no idea why it misbehaved, but thankfully I won't have to use it again for a while hopefully, so if there is a bug left, I won't have to worry about it myself, but obviously it could be a concern for someone else. Let's talk further on the bug since this doesn't belong here.

  • Developer

    @Marc, I haven't analysed that crash log yet, I'll try to get to it this afternoon.

  • Great works!

  • Hi Tridge. Given my crash 4 days ago with a combination of autotune gone bad, and then RTL can't fly in a roll of 70-110 degrees , would you say I should stick with 3.5.3 for now, or try my luck (or lack thereof :) ) with 3.6?

    AP 3.5.3: Autotune flipped me and RTL did not like to be upsidedown · Issue #4288 · ArduPilot/ardup…
    Airframe: normal plane (2.6m glider) I did 2 flights before this one after rebuilding it from its crash, and the plane flew fine in FBWA, CRUISE, and…
  • Really nice work.

    Congrats to all devs. The force you are pushing APM is admirable.

  • 100KM
    I load the firmware and fly my MTD for 40 minutes or so. All great but I did not saw the mission grid line shown up in Flight Data screen. My Mission Planner is one version back from the latest.
  • Thanks for the info Tridge.

    Brilliant stuff, will have to test it straight away as soon as the weather allows! Out of interest how do you obtain accurate and relevant wind heading?

    In your video on decent is the quadplane using forward motor to maintain position against the wind until touchdown? It's hard to tell from the video if the forward motor is powered or idling. 

    We have already seen the effects of oscillation before when we tested the quadplane without the wings attached. I'm happy to see you already providing solutions for this! 

    Also thanks for the feedback on the tilt-rotor tricopter. I didn't realise you already have tricopter tiltrotor support. Do you think the rear motor control will work if it doesn't tilt with the forward motors ie will it reduce power once in forward flight? I'm thinking that a similar mix to that which is used in a airplane v-tail for rudder/elevator control would suffice to control the two forward motors for yaw and tilt? In hover, yaw would be opposite and would then gradually mix tilt for forward flight. Now I'll have to build one to have something to test on! Awesome! ;-)

This reply was deleted.