ArduPlane 2.69/2.70 released

I've just released ArduPlane 2.69 [UPDATE: revised to version 2.70 after bug fix (see comments). This release includes a lot of internal changes, principally the AP_HAL changes, which is why it took so long. I've also been doing a lot of test flights to try to ensure that all these large changes haven't broken anything.

As has been discussed previously, the biggest change in this release is the move to the new AP_HAL hardware abstraction layer. This was a large internal change, that by itself didn't change the behaviour of ArduPlane, but did allow us to make ArduPlane much more portable. As a result, this is the first release of ArduPlane that works on the new PX4 autopilot board. Unfortunately the documentation on how to setup ArduPlane on PX4 is still lacking, so if you have a PX4 and want to run the 2.69 release then you will either have to dive into things a bit yourself to get it to work or wait a bit longer for the documentation updates. Sorry about that!

Of course we still support the APM1 and APM2 and I plan on keeping ArduPlane working on both those boards as long as possible. What I expect to happen is that some new features in future releases will only be enabled on the PX4, but for now ArduPlane on the PX4 works just the same as it does on the APM1 and APM2.

As you might expect from the fact that it has been over 2 months since the last ArduPlane release, there have also been quite a few changes not related to the AP_HAL and PX4 work. Many thanks to everyone who has contributed patches and ideas that made it into this release! I know not every requested feature made it in, but I thought it was better to get the new release out now.

Some of the key changes in this release are:

  • new flight mode 'TRAINING'
  • support for PX4 autopilot
  • CIRCLE mode now holds altitude
  • support for counter-clockwise loiter (thanks to Jochen)
  • support for the 1.9 firmware on MTK GPS
  • support for mounting the APM board in lots of different orientations
  • improved the MPU6000 accel/gyro filtering a bit more
  • secondary elevator support (thanks to Michael Warren)

One of the changes I am most pleased with is the addition of a new flight mode called TRAINING mode. This mode was developed in cooperation with a MAAA flight instructor, and is designed to help people to learn R/C manual flying. When you are in TRAINING mode you have manual control over roll until you reach the LIM_ROLL_CD roll limit, at which point the plane won't roll over any more. The same applies to pitch - you have manual pitch control until you reach LIM_PITCH_MIN or LIM_PITCH_MAX, at which point the plane won't pitch beyond those limits. This means that as long as you stay within the configured limits you are flying the plane manually, and you can quickly learn to fly an R/C plane manually, knowing that the APM will prevent the plane from going upside down. I'll do a separate blog post about how we are using TRAINING mode to teach new pilots good R/C manual piloting skills.

Another significant change in mode behaviour is that CIRCLE mode now holds altitude. This is important because CIRCLE is used in the first stage of failsafe conditions, and if your plane is badly trimmed it could lose quite a lot of altitude before the RTL stage of failsafe kicks in. Note that this doesn't mean that CIRCLE is now the same as LOITER - in a LOITER the plane will adjust its roll to keep going around the target position, whereas in CIRCLE the position of the plane isn't considered - it just holds a small roll angle, which results in a large circle that drifts with the wind. This is deliberate as we want CIRCLE to not be dependent on the GPS, and to involve no sharp turns.

The other change that is probably worth expanding on is the ability to mount the APM in many possible orientations. This has been an open request for a long time as for certain types of airframes it is very useful. Just set the AHRS_ORIENTATION parameter to one of the supported orientations and your APM will quite happily work upside down or sideways.

I'm expecting it won't be 2 months till the next release, as I have a bunch of other changes pending that I held off for this release (for example, the AP_Mission code from Brandon, and the new AP_Scheduler code), but meanwhile I'm very happy with how this release is flying, and I hope you all will be too!

Happy flying!

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

Join diydrones

Email me when people reply –


  • APM2 upgraded to 2.69 and no compass. Installed 2.68 and compass works perfect.

    When will the next update be out as this one is useless to me?


  • Cool stuff!

    Could I get a hint as to how I should go about accessing UART2 on APM2.5 with the HAL library included ? 

    In the earlier version with the fastserial library, the port was already initialized and it was a simple matter of using Serial3, but it seems to have gotten a lot complicated now.


  • EDIT: Never mind, I missed the note about development moving to github

  • Moderator

    my question is simple. and I am not trying to be difficult.

    In Arduplane is it possible to trigger a camera when it reaches a waypoint or waypoints. If so then how do I do that correctly in MP and what do I need to set in the configuration.

    This function MAY be working now but I cannot find anywhere to confirm its working or not in APM 2 or 2.5

    Thanks everyone.

  • Has the failsafe for Arduplane been improved?

    Currently with the failsafe it only works with Spektrum/Jr and Futaba or those radios that canset just the throttle pwm to be low enough to trigger failsafe.

    But with the Hitec Aurora 9 which im using, enabling the rx failsafe, not only does it set the throttle to the desired value but all the other channels as well which affects the flight mode.

    In this case failsafe only works well in non-auto modes unless we want it to always perform the short failsafe and long failsafe routines. If my rx failsafe had been set to  manual position, means no matter what mode im in when im out of range or tx off it reverts back to a that pre set position.

    I think there should be a case where apm should not read the mode switch anymore once it has entered failsafe.Otherwise with these kind of tx and rx we will never get to continue flying in Auto when out of tx range.



  • 100KM

    2 Weekends ago it was freezing cold here, but I taped my telemetry antenna against the window and flew from inside the club with stickmixing disabled and tx turned off, just using telemetry (no joystick, that's for a coming weekend).  Jaws dropped in the club.

    Then last weekend I was playing with inverted mode.  Jaws dropped again as my simple SwiftII drone quicly rolled invered on the flick of a switch and continued without any other input from my tx.  Jaws dropped again :-)

    Just to say, I've been flying arducopter for over 2 years, but I'm really impressed with arduplane, and so is the rest of the club.

  • Great work...

    Since we have now support for 1.9 MTK firmware. I tried searching on how to upgrade the firmware but was not successful. If it is covered in another forum, would greatly appreciate the link.


  • Thank you Tridge for your hard work.  Appreciate your leadership on this project and looking forward these new improvements.

  • Hi,

    Tried it on an 1.4. MAVLink works but all IMU sensors read zero.

    Then reverted to 1.68 and then sensors work again.

    But cool with the HAL and the dual architecture! PX4 ordered :)

    Regards, Soren

  • Moderator

    Just as a clarification with the new release.

    Have any changes been made to the camera trigger or set-servo operation to enable a camera to be triggered at a waypoint or to control a servo to change position repeatedly to operate a manual shutter?This will be very useful to many operators like myself


This reply was deleted.


Neville Rodrigues liked Neville Rodrigues's profile
Jun 30
Santiago Perez liked Santiago Perez's profile
Jun 21