Plane 4.1 stable

I am delighted to announce the release of the 4.1.0 stable version of ArduPilot plane!

Note: please be patent as our build server is currently building the new copter 4.1.0rc3, it will be a few hours before the new plane release is available

This is the first stable release of the 4.1.x series for fixed wing. This is a major release, with a huge number of improvements over the 4.0.9 release.

The changes since the last beta (4.1.0beta8) are:

  • fixed a wind speed initialiation bug that affects planes with no airspeed sensor and no compass
  • added support for icm42605 on MatekH743

There have in total been over 9000 patches applied since the last major stable release (the 4.0.9 stable release), so listing all of them is not practical, but a few of the highlights are:

  • USB log download speeds improved on F7 and H7 based boards
  • Large improvements in EKF stability and support for very long distance flights
  • new boards QiotekZealotF427, MatekF765-SE, MambaF405v2, KakuteF4Mini, FlywooF745, FlywooF745Nano, BeastF7 and BeastH7
  • massive improvements to lua scripting, with greatly expanded API
  • External AHRS support (VectorNav)
  • support for EKF3 affinity for better sensor redundancy
  • big improvements to GPS moving baseline yaw support
  • new fixed wing PID system
  • major fixed wing autotune update giving much better tuning
  • added MAN_EXPO_* parameters for input expos in MANUAL, TRAINING and ACRO modes
  • added ONESHOT_MASK for oneshot output on control surfaces
  • dupport for bi-directional dshot on many boards
  • added PiccoloCAN servo support
  • new quadplane landing approach system, with airbraking
  • greatly improved tiltrotor support with much improved transition stability
  • new unified ESC telemetry system for CAN, DShot and serial ESC telemetry
  • temperature calibration for IMUs, including factory calibration support
  • much improved notch filtering support, including double-notch and realtime FFT based notch filtering
  • much faster parameter download and mission upload/down using MAVFTP
  • switched to new EKF3 as default state estimator with many new features

The 4.1.0 release includes contributions from over 240 developers and changes over 300 thousand lines of code across 2800 files. It has been a mammoth effort from the whole community to bring this new version of ArduPilot which pushes the best open flight controller to whole new levels. A big thank you to everyone who contributed, including the developers, testers and documenters. You should all be very proud of this release!

We are already starting work on 4.2.x, and will of course continue to do point releases to the 4.1.x series to keep everyone up to date with the latest fixes.

For those of you wanting to convert PIDs between 4.0 and 4.1 manually you can use this form:

Happy flying, and thanks for choosing ArduPilot!


@tridge and all developers,
Congratulation and Thank you very much for this great work, great achievement … Bravo… :+1: :+1:


Thank you Tridge and all the team who made this possible,it really makes my hobby so much more enjoyable with all the improvements and feature’s you keep adding :smiling_face_with_three_hearts: :innocent: :smiling_face_with_three_hearts:

1 Like

Thank you all for your hard work!

Question this is a major firmware release would it be better to do a new flash / wipe or just an update from 4.1.0 Dev ?

Congratulations and many thanks to all developers!

Known issue: if the Q_OPTION bit 16, is set disabling the fixed wing approach for QRTL and VTOL_LAND, the Q_RTL_ALT parameter has no effect…ie doing a pure VTOL QRTL will occur at the altitude at which the mode is entered, even if lower than Q_RTL_ALT…this also occurs even if the option bit is not set and the vehicle is within 1.5X the WP_LOITER_RAD or RTL_RADIUS, whichever is bigger. The vehicle will switch to VTOL and proceed at current alt back home.
Solutions are being considered. Not normally an issue if the approach feature is not disabled.

Dear @tridge and the whole development team! Thanks a lot for the hard work, we can’t wait to go out and test it!

much better to do a firmware update and not wipe parameters.

Hi I @hwurzburg ,
Can you please clarify more detail what do you mean on your last sentence??

“Not normally an issue if the approach feature is not disabled.”

@tridge could you comment on this issue pls.

What happen during RTL if I set Q_Option : 1 (the conventional method as in 4.09) ??


Dear Ardu Team Please upload the stable version in arduplane stable version folder

@tridge where can I get this stable FW 4.1 ? I can not find it on the MP… Could somebody advise please… Tks

It should be updated now, please check again. If it still doesn’t update then check the “legacy” firmware update option.

in Stable there is a new default feature that any QRTL/NAV_VTOL_LAND will use a fixed wing approach, see wiki Return to Launch (RTL) — Plane documentation
it works fine, but if you disable it in Q_OPTIONS, then those will transition to VTOL and proceed home at whatever the entry height is, ignoring Q_RTL_ALT…
if you set Q_RTL_OPTION to 1 (not Q_OPTION) then it also will proceed from the VTOL transition point at the radius to home and land, instead of descending along the way to Q_RTL_ALT, and then descending over home
neither of these is a big issue unless you are below Q_RTL_ALT, which is intended to be the safe minimum return height for a QRTL phase

HI, i’m experiencing a minor trouble with the on-board OSD in a matek F765.
Everything have been working ok on 4.0.9. I have multiple OSD screens which i change in flight with a slider on CH 10.
Today i´m trying 4.1.0 and this control does not work anymore. The CH10 its being read perfectly by the controller and i can even change between OSD screens if i change the OSD_SW_METHOD from (1) PWM to (0) RC change.
As far as i see there were been multiple improvement in the OSD, perhaps i missing something new that should i change, but honestly i can´t find the problem.
Any help will be appreciated.

I tested your parameters, and the issue seems to be the overlapping channel ranges. These are the params:

OSD1_CHAN_MAX    1300
OSD1_CHAN_MIN    900
OSD2_CHAN_MAX    1700
OSD2_CHAN_MIN    1300
OSD3_CHAN_MAX    2100
OSD3_CHAN_MIN    1700
OSD4_CHAN_MAX    2100
OSD4_CHAN_MIN    900
OSD_CHAN         10

notice that there is lots of overlap, especially OSD4 covering the entire range. When I fixed your overlap so that each channel has its own range it worked correctly.
I also tested your parameters with 4.0.9 and it behaves badly there too, cycling constantly between screens.

@hwurzburg has put in a good summary, and I plan to fix this for 4.1.1

Thanks a lot @tridge, that was it.
I did not see that when i did the update.

After upgrade the OSD4 changed from 0-0 to 900-2100 covering all the range.

I had it like this in 4.0.9:

When i saw the first layouts the ranges seemed correct, and honestly i did not check the 4th one… my bad.
Thanks again and really sorry for have you bothered with this.

I was doing Mission planner SITL Arduplane 4.2.0 dev version VTOL for 4.1.0 new feature especially VTOL landing approach .

i have set following parameter
Q_RTL_ALT = 50
Cruise Air speed = 20 m/s
minimum FBW = 17m/s
and final waypoint plan was set RTL and Radius Altitude is -80m.

here my doubts from above screen shots is When VTOL approach 100m how is calculated

01-10-2021 12:46:54 : SIM Hit ground at 1.605497 m/s
01-10-2021 12:46:30 : VTOL position2 started v=10.3 d=4.7
01-10-2021 12:46:25 : VTOL position1 v=17.5 d=76.1 h=51.5 dc=17.5
01-10-2021 12:46:23 : VTOL airbrake v=20.3 d=102 sd=103 h=50.9
01-10-2021 12:46:23 : VTOL approach d=101.5

what those parameters says VTOL airbrake under that there are sub parameters v, d, sd, h
VTOL position 1 where here there are sub parameters like v, d, h, dc.
VTOL position 2 v d only.

what are the different stages during landing. .

after reached landing point also plane keep moving forward for more distance its usual in SITL and in real time will land in land position?

please clear that will help on work with real time and Various models to work with.

Hi Tridge,

i just uploaded it onto my 2.4m VTOL, and had a flight. I also fixed the Pitot sensor as you suggested in the other thread.
It flies beatifully! it looks a little smoother to me, compared to the 4.1 beta6 of last flight. In particular when turning back on horizontal level from an aileron turn, roll movement seems smoother/damped than before, with no rebounce at all. I cannot say if it’s due to some software tweaks or it’s the fixed pitot helping, but that’s it. Parameters are exact same of previous flights, apart enabling airspeed sensor.
Great work! Thanks!

1 Like