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

    @JB, yes, it does active weathervaning if you enable it. See:

    I tested it in 22 knot wind yesterday and it worked very nicely:

    on tuning, there is this document:

    but that documentation is not complete yet. The tuning code now also monitors the controllers itself looking for oscillation and will sound an alarm on the buzzer if you get controller oscillation while tuning. That is needed as quadplanes can look stable but actually be oscillating like mad internally due to the damping of the wings.

    On the tricopter tiltrotor, it does support a tricopter with fwd motors tiling, but not using the fwd motors tiling independently for yaw control. It always tilts the two fwd motors at the same angle. I think your proposal is a good idea, but is not implemented yet.

    Weathervaning and Wind Hold — Plane documentation
  • Once again another fantastic Quadplane update! Thanks Tridge, Tom and team!

    A couple of questions (as always!)

    1. Automatic/Q_WVANE_GAIN Does this mean the new quadplane code can determine wind direction and actively point into the wind using quad yaw? That's awesome!
    2. New quadplane tuning - Roughly what does this tune? Does it do both quad motors and wing flight tuning, or what is the recommended tuning process atm?
    3. Quadplane ESC calibration and motor test - Sweet! Have lost lots of hours trying to get this right and trying to fault find ESC's etc. Hopefully the parameters will make it to MP soon to make things easier, as some QPlane features tend not to load.
    4. With tiltrotor/tiltwing aircraft support, I realize this is experimental still, but I was wondering if it will be possible to allow the use of unconventional setups for this as well. One particular configuration I'm interested in is a tricopter setup, where the rear tricopter motor is fixed (doesn't pivot/roll for yaw in hover) but the two front motors can pitch forwards/backwards for yaw control in hover, as well as go horizontal to transition to forward flight. The advantage is one less motor overall by adding one extra servo, but with the result two motors can also tilt in the direction of forward flight. I'm hoping to achieve greatly improved yaw authority in hover with this configuration, which seems to be an issue for quadplanes in wind as well as improving streamlining of the overall VTOL airframe propulsion. Thrust vectoring steering in combination with tilt rotors could potentially mean no control surfaces will be necessary for the wings, saving a couple of control servos in the process. Potentially it could both tailsit for sensor orientation, or land on its belly as well. From what I can tell the only requirements for control would be to reduce the tail tricopter motor speed only after transition to forward flight whilst the tilt rotors remain on, and that the rear rotor can assist in elevator authority as required. Any feedback welcome.

    Regards JB

  • Developer

    I forgot to mention in the release notes that this release also has a lot of fixes for EKF2, many thanks to Paul Riseborough!

  • Thank you so much for all the quadplane code. I really enjoy the quadplanes more than anything :-)
  • Wow, excellent Tridge, Arduplane360 is really a great update !

  • Great work guys!!!

  • Developer

    I've created a category for Plane 3.6 on the discourse server too:

  • Developer

    great! I think there were about 1600 commits on master since last release. Lots of stuff going on, very active project.

This reply was deleted.