APM:Plane 3.2.1 released

APMPlane.jpgThe ardupilot development team is proud to announce the release of version 3.2.1 of APM:Plane. This is primarily intended as a bugfix release, but does have some new features.

The major changes in this release are:

  • fixed a mission handling bug that could cause a crash if jump commands form an infinite loop (thanks to Dellarb for reporting this bug)
  • improved support for in-kernel SPI handling on Linux (thanks to John Williams)
  • support UAVCAN based ESCs and GPS modules on Pixhawk (thanks to Pavel, Holger and and PX4 dev team)
  • Multiple updates for the NavIO+ cape on RaspberryPi (thanks to Emlid)
  • multiple automatic landing fixes, including improvements in flare detection, glide slope calculation and lag handling
  • fixed a bug that could cause a change altitude MAVLink command from causing a sudden descent
  • re-enable CLI on non-APM1/APM2 boards
  • Lots of EKF changes, including reducing impact of ground magnetic interference, reducing the impact of a GPS outage and integrating optical flow support
  • added initial support for the PX4 optical flow sensor. Just logging for this release.
  • added support for MAVLink packet routing
  • added detection and recovery from faulty gyro and accel sensors
  • improved arming checks code to detect a lot more error conditions, and change the ARMING_CHECK default value to check all error conditions.
  • added support for BBBMini Linux port
  • increased number of AVR input channels from 8 to 11
  • auto-set system clock based on GPS in Linux ports
  • added SBUS FrSky telemetry support (thanks to Mathias)

IMU Failure detection

Perhaps the most important change for this release is the improvement to the detection and recovery of bad IMUs. We have had a number of reports of bad IMU data in flight from both the mpu6000 and lsm303d. Where possible the drivers how try to detect the failing sensor and reset it. Sometimes it can't be reset, in which case it will be locked out and the other IMU will be used, unless it is the last available IMU, in which case it will still be used. In either case the user is notified of the failure via the GCS so they can land.

UAVCAN support

The main new feature in this release is support for UAVCAN ESCs, GPS modules, compasses and barometers. Note that while support is in for UAVCAN ESCs and I have been flying with a UAVCAN ESC on my test plane for a few weeks very successfully, support for configuring the ESC is still fairly basic. You will need a debug cable to connect to the ESC to configure it as per the website. We hope to add MAVLink enabled configuration soon.

Many thanks to everyone who contributed so much to this release with bug reports, patches and suggestions. My apologies that we didn't get everything done that we wanted to get done. We have pushed some things out to the next release to prevent the release date sliding back any further.

Happy flying!

E-mail me when people leave their comments –

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

Join diydrones


  • Developer

    @Mark, can you please post a log from when you were having problems with 3.2.1


  • Developer

    @Mark, can you please post a log from when you were having problems with 3.2.1


  • Developer

    @Tom, I don't know why. It could be slightly different current draw, it could be a software bug. It could be that the PPM-SUM signal was always marginal, and slight timing changes pushed it over the edge

    I won't know more till I have logs and answers to the above Qs

  • Admin


    Why do the symptoms disappear when he falls back to a slightly older version of ArduPlane?

    It would seem to me that it is in the firmware of the latest version?



  • Developer

    @MarkM, can you please post a tlog showing the issue? I've tried to reproduce it here but it doesn't happen for me. I'm using a Taranis + V8R7SP with APM2.6 for testing. I've got a switch setup on the transmitter to take the aileron channel from 1000 to 2000 rapidly. I don't see any lag.

    Also, can you check:

    • does it occur in both manual and fbwa mode?
    • does it occur on all channels of the main control channels?
    • does it happen when you have nothing else plugged in except for one servo, the BEC and the receiver?


  • Just a quick thankyou to all the dev team, great work, give so many people a lot of enjoyment.



  • Tridge,

    I don't see any mention of all the work you did on the auto landing code in the new release. Did it make it in?

  • Thanks for that, it took some searching but I ended up with and so far everything is back to normal.

  • Admin


    Try here Link You will have to use the "load custom firmware" function in MP.



  • I seem to have a small bug with 3.2.1 on my APM I'm afraid :(

    After upgrading to 3.2.1 I kept getting lockup's on ailerons, elevator and rudder, can be easily seen with rapid deflections from min to max on the transmitter. The surface will freeze for a moment before resuming.
    Thought it might be my Taranis+OpenLRS setup but having changed the firmware back to ArduPlane 3.1.1 everything works as expected again.
    Re-flash back to 3.2.1 and the lockups come straight back again.

    Would like to go back to 3.2.0 but mission planner 1.3.19 will only let me go back to 3.1.1 or earlier.

This reply was deleted.