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

    On posts like this! We'll actually probably do further posts on which we're moving everything to soon. There will most likely be a cross post here though like usual.

    Also, I was wrong with latest = stable on my previous post. I see that "Latest" is actually the v3.7 beta but the release notes are not compiled yet. Those typically roll out with the official release.

    ArduPilot Open Source Autopilot
    The most advanced open source autopilot for use by both professionals and hobbyist. Supports multi-copters, planes, rovers, boats, helicopters, ante…
  • Thanks Tom,

    Where do we see the latest release notes about the updates and fixes.

  • Developer

    @John, Mission Planner always downloads the "latest" automatically but you can download it manually here:
    where latest and stable are both v3.6 right now and pixhawk is px4-v2.

    Fyi, Plane version v3.7 will be released very soon (hopefully within a week)

    ArduPilot firmware : /Plane
  • HI,

    where to find the latest arduplane firmware 3.6.X ?

  • Fixed wing, please support automatically open parachute?

    I know copter support automatically open parachute .

    Thanks again and great work.

    Parachute — Copter documentation

  • Two Airspeed Sensors.

    A while back there was some discussion of using two airspeed sensors and probes for redundancy. Is that available in this firmware? If not when will it be available?


  • Thanks for updating the issue request for me... For most sUAS flight operations with the Pixhawk this is not an issue like you said. but for flight operations in Class A the FAA requires this capability. 

    Thanks again and great work.

  • What about when a flight will take place in Class A airspace. At these altitudes the pilot is required to input standard pressure 29.92. How are we to handle this? 

    I ask because I work at the NMSU UAS Flight Test Center and we have a proponent that is using a Pixhawk AP and they want to eventually go to 60k ft. The FAA and We are concerned with the fact that we cannot adjust the Barometric preasure setting to match all other aircraft operating in the airspace. 

    I will enter the request in the "issue area".



  • Developer

    Any feature requests (and bugs) listed here will be forgotten because it's not searchable. Please post an "issue" here: so developers can be aware.

    As far as baro drift management, there's GND_ALT_OFFSET which allows you to manually enter a baro drift value, if known:

    You can fly with EK2_ALT_SOURCE=3 for GPS only: and there's talk of adding ability to merge baro+GPS together too.

    Baro drift in drones is not nearly as bad as full scale aircraft. They auto calibrate/zero on every takeoff and the technology used in full-scale aircraft vs drones is a huge difference. The sensors in drones these days are new-age technology which are temp compensated where the ones in the aircraft are quite old. Also, they calibrate what your AGL is compared to the ocean then an offset is given for the nearest airport. That gives a lot of room for error. Drones give you AGL and GPS alt of your exact location at takeoff. It's just totally different method. You'll never see anything near 500 foot error in your baro.

  • Joe, during flight and out of barometer, only source of altitude will be long range laser and GPS. Accurate altitude would need differential GPS. But if +/- 10m is enough in Z, raw GPS + EKF should be enough.

This reply was deleted.