ArduPlane 2.68 released

I've just released ArduPlane 2.68

This key features of this release are changed in the MPU6000 filtering, and several bug fixes (including HIL fixes).

The changes are:

  • allow for remote reboot on APM1
  • fixed secondary aileron and manual servos in failsafe mode (so if the APM software dies, you still have secondary aileron control in manual)
  • added new THR_PASS_STAB option. This is for fuel planes, so you have direct throttle pass through when in stabilisation modes (STABILIZE and FBWA). This is useful if you have a throttle cut switch that drops the throttle below RC3_MIN
  • fixed THR_SLEWRATE option, which had previously not been functioning correctly. Also improved docs for this option.
  • internal changes to new AP_InertialSensor code from Randy
  • fixed HIL support for both attitude and sensors HIL.
  • fixed dataflash logging in HIL mode
  • added new INS_MPU6K_FILTER option, defaulting to 20Hz. This controls the filtering frequency of the gyros and accels and should help reduce the effects of vibration on attitude estimation. It made a huge difference on my HotDog, which has the most vibration I've ever seen in a plane.
  • fixed the build of a lot of the library example sketches
  • fixed reset of I and D terms in PID library, ensuring it doesn't cause problems during auto takeoff

The MPU6000 filtering changes are perhaps the most significant. We previously samples the MPU6000 at 200Hz and set an internal filter of 98Hz. The ArduPlane code then averaged over 4 samples to get a 50Hz update to DCM. Here is a graph of the accelerometer readings on my HotDog with the old code:

hotdog-accel-filter-98.pngthis is rather extreme, as I've setup my HotDog with the APM2 directly touching the fuselage close to the nitro engine. I wanted it to vibrate a lot to test the filtering, and it sure does! A value of 1000 on that graph is 1g, so we're seeing vibrational noise of about 6g in this plane.

I now fly my HotDog with INS_MPU6K_FILTER set to 10, which applies a 10Hz filter inside the MPU6000. We also run the MPU6000 at a sample rate of 50Hz, which means no averaging needed in the APM code. Here is a graph of the accelerometer readings now:

hotdog-accel-filter-10.pngquite a difference! The deviations are now real (from me flying loops and rolls) and not just dominated by noise.

It actually flew OK with the previous code, as the DCM code is quite noise robust these days, but I do prefer making DCM work less hard, and it will help it to reduce aliasing and recover from attitude errors faster.

You can see graphs of other filter settings and also of the gyros for the same plane here. I think the default of 20Hz will be the best for most planes, but if you have a lot of vibration you can try 10Hz, like I now use for the HotDog.

Happy flying!

Cheers, Tridge

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

Join diydrones

Email me when people reply –


  • Should throttle be controlled by airspeed in HIL simulation mode as long as airspeed is enabled and used?  I have loaded the new firmware in simulation, but I am not getting any airspeed indication in Mission Planner and plane speed is not affected by airspeed PID settings.  Do you have to load HIL mode manually to use airspeed?  I used MP to load.


  • Hello,

    I am not sure at what revision of FW or MP this action started but...

    After powering up system in normal sequence of Tx>>>Rx+APM, if I attempt to test Fail Safe by turning off the Tx, the motor immediately goes to about 5% throttle. Then in about a min or so it goes to full throttle! I have never had this experience before now. In fact, I thought the code was written to prevent power to motor without movement.

    I am not sure if FW (2.68) is the cause or MP, since I updated that too. (1.2.26) or it could be something I have done but I can't think of any changes I made.

  • anyone have try for waypoint using this firmware?

    or can share onboard video


  • Am not having great success with tuning the APM at the moment. Just loaded 2.68 and had a flight but the previous ‘issues’ seemed worse and I twice aborted auto mode.


    I would really appreciate some answers to help ‘zero in’ the APM as it can be a long time between flights to try new changes.


    If a moderator wants to move this somewhere else please do.




    Plane flies great in stabilize, like it’s on rails.


    In FBW-B I spent many flights messing with PIDs to try to stop the throttle going up and down between max and idle every 5 secs. When I finally got it calmed down I realised that it was the speed target that was changing (between the min and max values I had set) and the plane was only chasing the speed. I have now set the min and max 2m/s apart (and put the gains back)

    WHAT is making the FBW-B speed target jump around?

    Now it flies ok in FBW-B both pitch and roll and speed stays between the min and max values (wiki description misleading e.g. airspeed corresponding to min throttle. What does that mean, stall?)



    Just cant get nice tracking. Have changed almost everything. It just weaves along the track using max roll. If the next waypoint has a lower altitude it dives for it keeping power on for way too long. Some of its manoeuvres are hart stopping. Would love a full explanation of the power/pitch (and pitch/power) forward gains. Nav-pitch AS PID? Help!


    MP PFD attitude used up be steady on ground but now jumps about if AHRS_GPS_GAIN is set to 1. Is that the new filtering?


    Why is there a ‘trim throttle%’ and ‘trim spd’? which one is the APM using in each mode?


    Im getting a bit disheartened as would like to ‘move on’ and actually start taking some film. The plane is my own design so there are no files that are close, it would seem. I have compared my parameter list to skywalker etc and it’s not too different. It does fly very nicely in manual, check the video.




  • Maybe of the current topic, but it is still 2.68 and what I have experienced this weekend.

    Maybe someone can look at it for me, please

  • Moderator

    Is it possible (or wise) to introduce a 'turn radius limit' into ArduPlane? (note: not bank angle.)

    I find that my plane's turn radius sometimes is far too tight especially when the wind is blowing and the plane turns across and into the wind, which then causes a severe deviation to try get everything back on track. If I reduce the bank angle then sometimes it obviously doesn't bank hard enough when it needs it.

  • anyone realy fully success flight using arduplane?
    i need buy "again" AMP2.5
    and install to skywalker 168

    any suggest?

  • Hi Andrew

    I have APM 2.5, and everything works correctly with a Generic ESC 30A, but when I use the ESC TowerPro H40A (purple) my APM not arm!

    I like the ESC TowerPro H40A because with the engine i use, closes an awesome wedding.

    What can be done to fix it?


  • This is great!


  • Thank you very much!

    sounds impressive

    InertialSensor  is enabled now?

    could you add the option for g.alt_control_algorithm for only trottle control from airspeed sensor?

    otherwise, instead of landing my plane flies much higher above the runway, and I have every new firmware code change

This reply was deleted.


DIY Drones via Twitter
RT @chr1sa: After more than a year of only virtual races, @DIYRobocars returns to the newly renovated @circuitlaunch on May 22 for the resu…
DIY Robocars via Twitter
RT @DAVGtech: And now available with LiDAR 🔥
DIY Robocars via Twitter
RT @Heavy02011: #VirtualRaceLeague: @DIYRobocars Race #9 - #ParkingLotNerds #thunderhillracetrack, CA Join us for the next race April 24th,…
DIY Robocars via Twitter
RT @DWalmroth: Weather's finally cooperating, looking forward to racing 1:10 scale autonomous cars outdoors again! @diyrobocars, @NVIDIAEm…
Apr 7
DIY Robocars via Twitter
RT @AIDRI_: I finally succeeded in optimizing the trajectory and speed of a car on a #racetrack. Next step: implement a 2d controller and…
Apr 7
DIY Robocars via Twitter
@jetdillo @circuitlaunch Actually the second *in person* event in a year. We do virtual races every month
Apr 2
DIY Robocars via Twitter
Update: we're moving it back one day to Sunday (the 4th) at 11:00am instead
Apr 2
DIY Robocars via Twitter
@GrantEMoe @circuitlaunch Update: we're doing it on Sunday (4th) at 11:00am instead
Apr 2
Laurie J. Troy liked Jasper Kueppers's profile
Apr 1
DIY Robocars via Twitter
RT @chr1sa: Maybe we should have a mini @DIYRobocars race in our lower school's playground
Mar 29
DIY Robocars via Twitter
If anybody wants to join us for an informal outdoors hack/race we're going to be meeting at the @CircuitLaunch park…
Mar 27
DIY Robocars via Twitter
RT @SmallpixelCar: Ready to reopen, innovation has to continue. Inside/outside, LiDAR/GPS, race/delivery
Mar 26
DIY Drones via Twitter
RT @DAVGtech: By far best race yet! Congratulations to the winner @Heavy02011 🥇🏆🍾👏👏👏 @diyrobocars @donkey_car @NVIDIAEmbedded…
Mar 20
DIY Robocars via Twitter
RT @Heavy02011: #VirtualRaceLeague: @DIYRobocars Race #8 - #ParkingLotNerds ⁦@DAVGtech⁩ ⁦@DWalmroth⁩ ⁦@OttawaAVGroup⁩ - join us tomorrow h…
Mar 20
DIY Drones via Twitter
RT @mrpollo: 11 years ago, the pxIMU was announced to the world on @DIYDrones, and it changed the life of many (mine included). The followi…
Mar 18
DIY Drones via Twitter
RT @ishcahealth: This is awesome! ☘️ @DroneDJ @DIYDrones @WorkerDrones @DroneMedia_UK @dublinaviation
Mar 18