Plane 3.9.0 stable released!


The ArduPilot development team is delighted to announce a new stable release of plane, version 3.9.0.

For those of you who have been testing the 3.9.0beta releases then you won’t see any surprises here. That are no changes since 3.9.0beta6. Also, many thanks for testing the betas!

For those of you coming from the last stable 3.8.5 release there are a lot of changes. For a start, this is the first release to support both the ChibiOS RTOS on STM32 boards and the NuttX RTOS. Previously stable releases only used the NuttX RTOS. The ArduPilot project is moving to
ChibiOS for future releases, and we expect to drop support for the NuttX builds for the next major stable release (which will probably be called 3.10.0).

When you install the 3.9.0 release on board such as a Pixhawk1, Cube or Pixracer you have a choice of which build to use. Choosing ChibiOS will give you better performance and some very nice new features. Choosing the NuttX (also known as “PX4” builds) will get you the same base that we have been using for years.

There are a few features that are in the NuttX build but not yet in the ChibiOS build, in particular the ChibiOS build does not yet support PWM based rangefinders. That will be fixed in a future release.

This release has a lot of new features. Some of the most important ones are:

  • DShot support for controlling ESCs
  • BLHeli pass-thru support for ESC configuration
  • automatic compass orientation on calibrating compasses
  • improved VTOL flight code, with improved transition support and loiter
  • support for Devo telemetry output
  • new battery monitoring system, with more flexible failsafes
  • built-in OSD support for boards with a MAX7456 OSD device

In addition, this release supports a lot of new flight boards, including:

  • AirbotF4
  • F4BY
  • KakuteF4
  • KakuteF7
  • MatekF405
  • MatekF405-Wing
  • mindpx-v2
  • mini-pix
  • Omnibusf4pro
  • Omnibusf7V2
  • Pixhawk4 and Pixhawk4-mini
  • CUAVv5
  • revo and revo-mini
  • sparky2

We also now have custom ChibiOS based builds for some existing boards, including:

  • CubeBlack
  • mRoX21
  • Pixhawk1
  • Pixracer

This means you now have a lot more choice in selecting a flight board to use with ArduPilot.

This release was made possible thanks to contributions from dozens of volunteer developers in the dev team. In total there are over 5 thousand changes since the 3.8.5 release. Special thanks to:

  • Siddharth Purohit
  • Tom Pittenger
  • Randy Mackay
  • Michael du Breuil
  • Peter Barker
  • Mark Whitehorn
  • Paul Riseborough
  • Francisco Ferreira
  • Jonathan Challinger
  • Leonard Hall
  • Alexander Malishev
  • Nathan E
  • Marco Robustini
  • Luis Vale Gonçalves
  • night-ghost
  • Patrick José Pereira
  • Lucas De Marchi
  • Eugene Shamaev
  • Philip Rowse
  • Amilcar Lucas
  • Kelly Foster
  • Fnoop
  • Pierre Kancir
  • Stephen Dade
  • Jaime Machuca
  • vierfuffzig
  • Henry Wwurzburg
  • Malcolm Churn
  • Holger Steinhaus

We hope you enjoy flying this release as much as we enjoyed making it.
Happy flying!

Big thanks to Tridge and Ardupilot development team! 

Font and original discuss at ->

E-mail me when people leave their comments –

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

Join diydrones


  • Any chance this would work on F35 Furiousfpv kit?

  • I flew this new firmware and I have two issues. Maybe it’s my setup but it worked before, first issue is the plane flies a grid poorly it does S turns along a straight line from one point to the next when doing a mapping mission. It used to fly lines perfectly. Second, i have camera set to trigger by distance, I first tried at 20 meters with very poor results, took a photo maybe every minute. Second time tried at 5 meters and it took a few more pics but nothing that will work to build an orthophoto. Add this with the S curve flying and it’s not useable. Any suggothions as it work before these software updates?

    Another question, why is the software not setup to trigger a camera by position instead of distance? In professional setups this is always how it works to get accurate overlap of images. It already uses gps so why not trigger the camera at a set point when it flies over that point? You can add in where it doesn’t take a pic if it’s a certain degree angle from the flight line so when you are flying in the grid it won’t take any images until you are say within 15° parallel to the flight line. Can also add certain error distance so it won’t take image if the drone is say 50 meters from the target photo. Mission planner is about 80% there for a professional system, if only it had these extra features to make it professionally useable. 

This reply was deleted.