I've just released ArduPlane 2.67

This release fixes a number of important bugs, as well as adding a few new features.

This release changes how the level parameters are stored in EEPROM, so it is very important that you re-level your plane after upgrading if you have MANUAL_LEVEL set to 1.

The key changes in this release are:

  • fixed a bug in the uBlox GPS driver that could cause it to setup the GPS with the wrong dynamic model, using the "portable" model instead of the "Airborne-4G" model. In some cases it could also leave the GPS in its default dynamic model. This results in poor navigation, and sometimes in poor attitude control due to inaccurate acceleration correction.
  • fixed a bug in the APM parameter code that resulted in the deadzone parameters of auxiliary channels not being able to be set. For example, setting RC5_DZ would actually set RC5_MIN.
  • add support for using vertical velocity from a uBlox GPS as part of the DCM acceleration correction.
  • added new accelerometer calibration code from Randy. This adds an optional calibration step that can be performed using the "accel" command in the setup menu in the CLI. See description below.
  • allow the CLI to run over the telemetry radio link. This is particularly useful for the new accel calibration code.
  • added a new secondary aileron type. I'm hoping this will resolve the ongoing issues some users have had with the secondary aileron support
  • changed WIND.speed direction to match the convention that the speed is based on where the wind is coming from
  • fixed handling of parameter names of 15 or 16 characters (they could appear garbled in the ground station)
  • added RSSI_PIN option to set the pin that measures the receiver RSSI
  • added support for showing compass health in SYS_STATUS MAVLink message
  • fixed throttle disable in VFR_HUD MAVLink message to always be between 0 and 100
    added new parameter APM_OFFSET (thanks to Alexey Kozin)

The new accelerometer calibration code that Randy did is particularly interesting, as it gives us a way to get the accel calibration much more accurate along all 3 axes, which should improve the attitude solution somewhat. It is not properly documented yet, but if you are feeling adventurous then try running the CLI and running the "accel" command in the setup menu. This replaces the normal levelling process.

Happy flying!

Cheers, Tridge

Views: 4756

Reply to This

Replies to This Discussion

Nice! :)

I hope on board data logging will work for me now! :)

Thank you Andrew!

Thanks Tridge, 2.67 has fixed the differential aileron.

I re-calibrated the radio with diff set (on Ch1 & 5). Is that right or should I calibrate before diff is set to show it full PWM on those channels?

Will the APM also use this diff for automatic modes?

Great News!!!! Congratulations!!!!

Hi Gabor,

I'm afraid I didn't get time to look at your logging problem for this release, sorry! If it is fixed, its entirely by accident. It was on my todo list, but I ran out of time and didn't want to hold back the other fixes.

I'll look at it soon :-)

Cheers, Tridge


"changed WIND.speed direction to match the convention that the speed is based on where the wind is coming from"
Is it a simple 180° reverse?

Because this way i have to change it in MinimOSD FW.


Thank you Tridge! :)

Hi Tridge,

I have been following Randy's new accelerometer calibration method. Nice work. I have a question, though. Are you taking into account the shift of accelerometer offsets with temperature? The MPU6000 and 6050 have 3.5% shift in X and Y accelerometer offset over the temperature range 0 to 70 degrees C, and 6% shift in Z. If the flight temperature is approximately the same as the calibration temperature, no problem. But if you calibrate indoors and then fly outside in the cold, there could be a significant offset shift unless you account for the temperature change. So, I would suppose the best thing to do would be to wait until the IMU reaches ambient temperature, and then perform the accelerometer calibration just prior to flight.

Best regards,


Best regards,


I think i have experianced the same.

Also i think altitude is getting misscalibrated by APM warming up, or cooling down.

My plane was absolutely level in my room, but in the air it was to go to the right hard

See 1:25

Can't get HIL simulation to work with v2.67, works fine for v2.66


A couple more comments on accelerometer offsets:

Actually, the accelerometer temperature can change quite a bit during flight.

1. The APM itself generates heat, so overall the board's temperature will rise above local ambient.

2. The voltage regulators get hot, so if the accelerometer is mounted near one, it will see an additional temperature rise.

3. If the APM is mounted inside a foamy, the foamy will act like a nice little oven. Other sources of heat such as ESC and batteries can make things toasty warm.

Overall, it is easy to get a 20 degree C temperature shift in flight, which would cause a significant shift in accelerometer offsets.

So, I think if you want precise inflight performance of the accelerometer, you have two choices: inflight temperature compensation, or inflight offset removal.

Inflight temperature compensation would require manual measurement of offsets versus temperature, because the curve is not the same for all units. That is why vectornav charges a premium for manually calibrated IMUs.

Another approach is inflight removal of accelerometer offsets. I have worked out the math for a method to do that, but have not yet had a chance to test it.

Best regards,

Bill Premerlani

Last time i had around 5 °c temperature difference.

On altitude it is around 2m +


I think yes, as far as I can see that in this patch:


Reply to Discussion


© 2018   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service