Due to some great new features for fixed wing aircraft. What was once known as iNav 2.7 has been bumped up to iNav 3.0! So, what’s new in iNav 3.0 and how will the benefit us fixed wing RC pilots? Lets take a look at the changes. One thing’s for sure, this is a real major release, with a lot of changes.

I’m sure the thing you want to know the most is, how do I update! Well Marc Hoffmann can help our German speaking friends out, and I have a guide in English.

If you would like to see a video on the changes in iNav 3.0. I have made an accompanying video here.

Changes in the iNav 3.0 Firmware

Here are some of the stand out changes for the iNav 3.0 firmware. You can check out all of them here.

Tuning your plane has changed!

There have been a lot of changes in the tuning aspect for your plane. The changes are so good, that this is one of the main reasons this latest version is 3.0 and not 2.7! If you’ve been studying tuning iNav, all that is still relevant. However, it is now much easier to get a decent tune from the get-go, without having to be a PID Wizard.

Auto Tune Automatic rates tuning #6681

Probably the most important change with regards to tuning, is that auto tune can now tune your rates! One of the main things that caused issues in tunes was rates set incorrectly, usually too high. This caused all kinds of issues from dolphining to over-banking in loiters, sometimes bad enough to cause a tip stall. With iNav 3.0, you don’t need to worry. The configurator preset sets low rates by default. Now when you auto tune, it alters the rates to work well with your specific aircraft.

This feature works great, but still has options if you want more control. There are three options with auto tune rates:

  • Auto: is the fully automatic system. It increases or decreases the rates until it matches up with your model’s physical limits. (why you must use Acro to auto tune now)
  • Limit: means that the system will only decrease the rates. You would set a maximum rate that you want to hit, and auto tune will only lower this if it is too high
  • Fixed: is basically the old skool way. You set the rates.
So how should you auto tune now?

Pretty much the same way you always have. The only thing that may be different for you now is that you must use Acro to auto tune. Other than that, the procedure is the same as before. It may take a little longer, but will yield a much better tune.

Trim pitch angle for level flight #6568 and auto level #6564

Pull Request 6568 adds a new fw_level_pitch_trim variable; which adjusts the pitch of the flight controller alignment, no matter which way it is physically oriented (you still need to adjust the board alignment so that the wing on the setup page in Configurator moves correctly). A positive value will always pitch up, and a negative value will pitch down.

But wait, it gets better than that! There is also a new mode, auto level (PR 6564); which calculates this board pitch angle for you. It is set as a mode, but is only active in Angle or Horizon.

D term added to fixed wing stabilisation #6669

NOTE: This feature is still experimental. Please don’t attempt to use the D term unless you are an experienced PID tuner.

This is a BIG change. Adding the D term to the stabilisation system will allow for more precise tuning of your plane. It can predict how quickly an axis will reach set point targets, and slow down the approach to massively reduce overshoots. This means can increase the P can to push harder. This will give a plane that feels much more locked in. #6674 is also a part of this change.

Automatic continuous servo trim #6708

The old servo autotrim mode is still in iNav. However, there is a new feature on the Configuration page, Continuous autotrim. This feature is like having servo autotrim on all the time. If you fly in a stabilised mode, hands off; this feature will check for inconsistencies in the I term, which would indicate that the stabilisation is having to add an input to keep the craft level. It slowly translates those to the servo midpoints to trim the plane. iNav saves the trims when you disarm.

Just to be clear, the measurements and tuning are only active in stabilised modes. But, the trims are, of course, set on the outputs; so work in all modes. Like with the original servo autotrim, this feature is not an excuse to have a badly trimmed plane. It’s still best to physically adjust the linkages so that the servo midpoint is between 1450 and 1550. The closer to 1500, the better.

If you enable constant autotrim, the old auto trim mode will disappear from the modes page.

General Flight

Detect launch with GPS Speed #6726

This addition is to avoid the issue where an autolaunch will not detect the model has been thrown; but the idle speed is high enough that the plane still flies. This change will detect in these instances that the plane is flying and trigger the launch.

Pre-arm mode #6562

iNav 3.0 adds the pre-arm feature. This adds a mode range that you have to enter before you can arm. This is a great feature for added safety. PR #6737 adds parameters for a timeout of the pre-arm when a disarm has been triggered.

Spiral climb RTH option #6437

A new option has been added for the climb period of RTH. The spiral climb has the plane loiter while it climbs to the RTH altitude.

Improvements for planes with rudders

  • Turn assist improvements #6407
  • Freeze Yaw I term above bank angle threshold #6387

The Yaw I term freeze will allow people with planes with a tail to virtually tune out the stabilised rudder counteracting in turns. By default, fw_yaw_iterm_limit_bank_angle = 0.

Cruise has changed #6297

Cruise mode has been renamed. What you was previously knew as Cruise is now called Course Hold [CRSH]. Cruise with altitude hold, formerly 3D Cruise, is now just called Cruise [CRUZ]. The text in the square brackets are what will be shown in the OSD.

RTH overrides #6179

This allows you to alter how RTH works in real time. You will need to switch set nav_rth_alt_control_override = ON in the CLI. In flight, enable RTH, then you have the following options:

  • Holding roll full right for 1 second will switch to turn first
  • Holding the pitch stick full up (>1900) for 1 second will set the RTH altitude to the current altitude
  • Holding the pitch stick full down (<1100) for 1 second will resume using the RTH altitude.

OSD Changes

Glideslope element #6939

There is now an option of adding a glideslope to the OSD.

Sentinel Antenna Tracker support #6887

Though you can’t see this, it is now something added to line 0 of the OSD (using the MAX 7456 chip). It provides tracking data over the video, which the antenna tracker uses to get the fix on the plane. Here is a link to the tracker.

Arming screen changes #6704

A message is now shown on the arming screen to show if a waypoint mission is loaded.

Select speed source for DJI OSD #6610

This update allows you to select the speed source for your DJI OSD. You can use Ground speed, 3D speed, or Airspeed.

Home arrow follows the pan servo #6501

With this change, you can set up some parameters for your pan servo. This means that when you pan left or right, the home arrow will change to point the correct direction based on the direction you are looking in.

Other Changes

  • OSD SW and LEDLOW renamed 6821: OSD SW is now called OSD OFF and LEDLOW is now called LEDS OFF.
  • DShot Beeper #6812: The motor will beep codes to let you know the status of things.
  • Maximum loiter radius increased #6800: The maximum loiter radius has been increased to 300 metres.
  • Increased cell count to 12 #6794: That’s right! 12S packs are now supported.
  • Improvements for GPS failure handling: There are two changes that help here. #6750 Adds a GPS Valid Fix true [1]/false [0] parameter to the iNav Programming system. It also sets the Flight operand’s GPS Sats to 0 when there is a GPS failure. #6479 changes the number of satellites shown on the OSD to X! if the GPS is lost.
  • MAVLink & MAVLink V2 support #6738: Support has been added for the MAVLink and MAVLink V2 telemetry protocols. There is also a serial receiver option for MAVLink.
  • Set the failsafe procedure from the OSD menu #6727: Allows you to set the failsafe procedure based on your environment.
  • Send cell voltage over Crossfire telemetry #6720: The average cell voltage will now be sent over crossfire telemetry.
  • GHST GPS Telemetry #6693: Telemetry has been added for GPS data, such as speed, course, etc.
  • Delayed safehomes #6655: This gives options of when safehomes will actually be used: RTH for all RTH calls (original functionality), RTH_FS only during failsafe, OFF or not at all. There is also a new message on the OSD DIVERTING TO SAFEHOME, which is used when appropriate.
  • More mode ranges #6588: The number of allowed mode ranges has been increased to 40. This allows for some tricks to combine multiple, independent switches on a single RC channel. Needed for some channel limited control links.
  • Default loiter radius increased #6581: The default loiter radius has been increased to 75 metres. This should be more suitable for more aircraft, including midsized to larger planes. With larger planes, you should still check this and increase as necessary.
  • Shorter, local plus codes #6469: This removes the first 4 digits from the plus code, shown in the OSD.
  • Throttle smoothing added as a default #6361: Throttle smoothing will now be enabled by default. This should improve the average throttle in navigation modes.
  • Ability to add version number to OSD 6344: You can add the version number to the OSD. Particularly useful on a tuning screen.
  • Safehomes safe distance #6333: The maximum distance for safehomes to be found, from the arming location is now configurable. The maximum distance can be set between 200m and 650m. The values in the CLI are in cm.
  • F3 targets no longer supported #6323: As stated in 2.6, F3 targets are now gone from iNav. Only F4 and F7 MCUs are now supported . The next MCUs that will start seeing cutbacks in the future are F411 and F722.
  • SBUS and PWM servos supported #6106: Both SBUS and PWM servos can now be used simultaneously.

New targets/variations

Changes in the iNav 3.0 Configurator

Here are some of the stand out changes for the iNav 3.0 Configurator. You can check out all of them here.

Fixed Wing presets #1188

All of the old fixed wing presets are gone! Going forward, you should only need to use the presets if you want to set up a new model on the flight controller without performing a full chip erase flash, or are porting over from an older version. The new presets mimic the fixed wing options presented after a full chip erase flash. There are only 2 options: Airplane with a tail, and Airplane without a tail. These set options to get you safely in the air to then trim and auto-tune. Once the auto-tune completes; your model should be set up pretty well. Early testing has shown that some are set up better than after being tuned.


  • Override RC Channels #1162: You can now override RC channels in the iNav programming framework. The options were included in the configurator accidentally in 2.6. However, it is now working.
  • PID controller added #1129: You can now use PID controllers within the iNav programming framework.

Other changes

  • Updates to Mission Planner #1267: There have been some enhancements to the mission planner.
  • Advanced tuning page, just for you #1226: The advanced tuning page will now only show you the options relevant to you: Fixed wing and multirotors now have different pages, without the irrelevant options.
  • Flying Wing model added #1202: The boring CleanFlight box is gone! We now have a flying wing on the Setup page to test the orientation. To see the cool wing, your mixer needs to be set to one of the elevon mixes.
  • Remove home position from arming screen #1155: There is now an option to hide your home position from the arming screen.
  • Battery & Voltages re-arranged #1152: The battery, voltages, and current settings on the Configuration page have been re-arranged, for easier use.
  • Maps now full height #1135: The maps in the Mission Planner and GPS pages are now full height.
  • Modes re-arranged #1100: The modes have been re-ordered to make it easier to make changes. The modes are now grouped by type, so that everything similar is together.