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 –


  • ” support for counter-clockwise loiter (thanks to Jochen)”

    Where do I find instructions for this option?


  • I'm using APM1.4 hardware & I had the same troubles with MP & V2.69 , (I have not flown with V2.69 yet.)

    Both were updated from V2.68.

    I reloaded V2.68 in one APM while leaving V2.69 in the other to compare them.

    I found that SR0_params, SR0_raw_sens & SR3_raw_sense were set to zero.

    Changing those parameters to non-zero values worked!

    So...Back to V2.69 for both.

    There is however a peculiarity with the log down load, but I believe it is a Misssion Planner issue not an APM issue.

    Using the CLI log download button, I am unable to view or download logs most of the time, that is 1 in 30 tries yields success. this happened with V2.68 too.  If I use the terminal to go to LOGS, there is a list of the logs but dumping the file is useless because the terminal does not allow one to highlight & copy the text directly. I did manage to do a cut'n paste by using the Arduino terminal but the data did not parse very well.

    Anyways , I can't wait to fly V2.69!

    Thank you Tridge for all the hard work.

  • I can't post a log to aid this, but I had a new APM 2.5+ and loaded 2.69.  No artificial horizon, no activity on roll pitch or yaw indicators.  I went through the whole sensor enabled, calibrated etc... instructions, still nothing.  Decided to load 2.68 and it all worked, reloaded 2.69 and it worked.  I am leaning toward something in 2.69 isn't being set from baseline that somehow is being set in 2.68 and passed to 2.69.




  • Hi there,


    i am getting some problem with the Grid function of MP.

    When drawing in an approx 300 x 450 m rectangle a GRID with spaced lines of 50m and 50m between WP, all is OK if the given angle is 0 or 90.

    But if i ask an angle of 15 or 70 or 65, then the lines are not at all in a correct spacing.

    The idea behind that is to prepare a polygon before the mission, and to specify the angle on site, depending on the wind direction found there.

    Hereunder are the two corresponding images:

    Is there any way to do it properly (expect obviously to bend the rectangle in the same angle...)

    0° angle one:


    15° angle one:



    Thanks in advance for any help !

    Cheers, Marc


  • Hi

    It may not be the appropriate thread to ask this but excuse me for asking this here.

    I would like to know if you guys have tested small plane like Skywalker at 6000 Meters

    above sea level? What kind of Motor and battery is required?

    Please share your experience.





  • Here is a log from an APM 2 that was working fine in a quad.  Loaded 2.69 and I have no horizon in mission planner.  

    Altitude seems fine.  Ran the ins test and the r,p,y numbers look fine.  Possible mavlink issue??

    2013-02-17 20-13 1.log

  • Andrew,

    What are you testing ardupilot releases in? What airframe, that is - is that X8 in your profile pic?
  • nice job andrew


    last week i have tried waypoin,loiter,RTL, guide and running well

    but to day im tried fly using V2.68 for all auto mode but the plane speed is to slow and hold in the sky
    please see my video

    my question: may be the problem becouse im not update the arduplane but has update the AMP planer(V 1.2.35)?

  • I loaded apm 2.69 on a brand new apm2.5 board yesterday, it did not work, since the sompass froze, all sensors dead except for the altitude sensor. No compass, no yaw, pitch or roll feedback. Cli gps test resulted in a kind of a screendump.
    Did hardware checkup, switched gps (i have another board that works on apm 2.68 just fine). Fiddled around with no result.
    Reverted back to apm2.68 and it works flawless.
    My conclusion is that apm2.69 has some serious issues...
    I hope this can be sorted out...will be flying apm2.68 for now.

  • Can you please tell us how can we build the Arduplane for PX4. The Arduino 1.0.3 does seems to support only APM1 and APM2.


This reply was deleted.