Upgrading from an older version of INAV to the current version - iNavFlight/inav GitHub Wiki
This page is intended to make it easy for you to upgrade your INAV older version to the current INAV version. The process is straightforward as long as you follow the instructions detailed here.
The current version of INAV is 2.6 (as the time this document was been last updated).
Note that INAV version numbers has a pattern: There are three numbers separated by dots (2.6.0).
- The first number is the major version. This number changes only when BIG changes are made on INAV.
- The second number is the minor version. This number changes only when SMALL changes are made on INAV.
- The third number is the revision number. This number changes only when some bug is fixed on INAV and no new functionality is added.
To determine the version, only the first two numbers are important.
In general, all comes to the following steps:
- Get the latest configurator.
- Get the current settings from your flight controller board
- Determine the current version and the TARGET of INAV firmware flashed to your flight controller board.
- Check which values has changed over the newer versions, and adjust your settings as necessary
- Flash the latest INAV firmware on your flight controller board
- Paste the adjusted settings on the Command Line Interface (CLI)
- Upload your preferred font to the OSD chip
- Take additional upgrading actions (if needed)
Note about F1 and F3 microcontrollers: Flight controller boards with STM32F1 chips (like NAZE32 or CC3D) will only work up to the 1.7.3 version. Flight controller boards with STM32F3 chips (like SPRACINGF3 or OMNIBUS) will only work up to the 2.6.0 version. We do recommend that you use a F4, F7 or H7 based Flight Controller board for new setups.
Get the latest INAV configurator
Download and install (on your computer) the latest configurator at the INAV Configurator Releases page.
Get all the current settings from your flight controller board
- Open the configurator program on your computer.
- Connect the flight controller board to the USB port on PC, then click connect button on the configurator.
- Go to the CLI tab and type
diff all
. It should return a big text with all your settings. - Copy this text and paste it on your favorite text editor (like Notepad), then save it as a backup.
Determine your current INAV firmware version and target
On your settings file, just at the beginning, you should have something like this:
# version
# INAV/MATEKF405 2.2.1 Jul 3 2019 / 22:31:06 (a6d847482)
# GCC-8.2.1 20181213 (release) [gcc-8-branch revision 267074]
Take note of the TARGET which is just after the INAV/
and VERSION number which is just after the target
(In this case, TARGET is MATEKF405 and VERSION is 2.2.1)
Check which values has changed over the newer versions, and adjust as necessary
Now it's time to change your settings file so it becomes compatible with the latest INAV firmware. Follow your specific version instructions.
From 2.5 to 2.6
- If you are using Home Offset feature (lines with
nav_rth_home_offset_
), then you should remove this lines and use thesafehome
function instead. - If you are using Override Motor Stop feature (
nav_overrides_motor_stop
setting), you need to change the value of this setting by one of the new possible values, which areOFF
,AUTO_ONLY
orALL_NAV
. - Remove this deprecated settings if present:
gyro_notch1_hz
,gyro_notch2_hz
,gyro_notch1_cutoff
,gyro_notch2_cutoff
,use_dterm_fir_filter
,dterm_setpoint_weight
,dterm_notch_hz
,dterm_notch_cutoff
,mc_iterm_relax_type
From 2.4 to 2.6
aux
lines needs to be changed. Use this tool to migrate youraux
lines.- Replace
yaw_motor_direction
bymotor_direction_inverted
if present - Replace
telemetry_uart_unidir
bytelemetry_halfduplex
if present - Remove this deprecated settings if present:
dyn_notch_width_percent
,dyn_notch_range
,dyn_notch_q
,dyn_notch_min_hz
,rpm_dterm_filter_enabled
,dterm_gyro_harmonic
,rpm_dterm_min_hz
,rpm_dterm_q
,vtx_freq
,gyro_notch1_hz
,gyro_notch2_hz
,gyro_notch1_cutoff
,gyro_notch2_cutoff
,use_dterm_fir_filter
,dterm_setpoint_weight
,dterm_notch_hz
,dterm_notch_cutoff
,mc_iterm_relax_type
- If you are using Home Offset feature (lines with
nav_rth_home_offset_
), then you should remove this lines and use thesafehome
function instead. - If you are using Override Motor Stop feature (
nav_overrides_motor_stop
setting), you need to change the value of this setting by one of the new possible values, which areOFF
,AUTO_ONLY
orALL_NAV
.
From 2.2 or 2.3 to 2.6
- Find
min_throttle
line, and replace it bythrottle_idle
, setting the percentage of the idle throttle. The default is 15. aux
lines needs to be changed. Use this tool to migrate youraux
lines.- Replace
yaw_motor_direction
bymotor_direction_inverted
if present - Replace
telemetry_uart_unidir
bytelemetry_halfduplex
if present - Remove this deprecated settings if present:
dyn_notch_width_percent
,dyn_notch_range
,dyn_notch_q
,dyn_notch_min_hz
,rpm_dterm_filter_enabled
,dterm_gyro_harmonic
,rpm_dterm_min_hz
,rpm_dterm_q
,vtx_freq
,gyro_notch1_hz
,gyro_notch2_hz
,gyro_notch1_cutoff
,gyro_notch2_cutoff
,use_dterm_fir_filter
,dterm_setpoint_weight
,dterm_notch_hz
,dterm_notch_cutoff
,mc_iterm_relax_type
From 2.0 or 2.1 to 2.6
- Find
min_throttle
line, and replace it bythrottle_idle
, setting the percentage of the idle throttle. The default is 15. - If you are upgrading a multi rotor, POS XY PID I and D have now specific settings, respectively
nav_mc_pos_deceleration_time
andnav_mc_pos_expo
. So if you don't use defaults, when restoring, move yours to the new settings. aux
lines needs to be changed. Use this tool to migrate youraux
lines.- Replace
yaw_motor_direction
bymotor_direction_inverted
if present - Replace
telemetry_uart_unidir
bytelemetry_halfduplex
if present - Remove this deprecated setting if present:
vtx_freq
,gyro_notch1_hz
,gyro_notch2_hz
,gyro_notch1_cutoff
,gyro_notch2_cutoff
,use_dterm_fir_filter
,dterm_setpoint_weight
,dterm_notch_hz
,dterm_notch_cutoff
,mc_iterm_relax_type
From 1.9 to 2.6
- Find
min_throttle
line, and replace it bythrottle_idle
, setting the percentage of the idle throttle. The default is 15. - If you are upgrading a multi rotor, POS XY PID I and D have now specific settings, respectively
nav_mc_pos_deceleration_time
andnav_mc_pos_expo
. So if you don't use defaults, when restoring, move yours to the new settings. - Delete all lines starting with: mixer acczero accgain magzero osd.
aux
lines needs to be changed. Use this tool to migrate youraux
lines.- Replace
yaw_motor_direction
bymotor_direction_inverted
if present - Replace
telemetry_uart_unidir
bytelemetry_halfduplex
if present - Remove this deprecated setting if present:
vtx_freq
From 1.7 or 1.8 to 2.6
- Find
min_throttle
line, and replace it bythrottle_idle
, setting the percentage of the idle throttle. The default is 15. - If you are upgrading a multi rotor, POS XY PID I and D have now specific settings, respectively
nav_mc_pos_deceleration_time
andnav_mc_pos_expo
. So if you don't use defaults, when restoring, move yours to the new settings. - Delete all lines starting with: mixer acczero accgain magzero osd.
- Find
vbat_scale
,vbat_max_cell_voltage
,vbat_warning_cell_voltage
andvbat_min_cell_voltage
values on your settings, and multiply their values by 10. aux
lines needs to be changed. Use this tool to migrate youraux
lines.- Replace
yaw_motor_direction
bymotor_direction_inverted
if present - Replace
telemetry_uart_unidir
bytelemetry_halfduplex
if present - Remove this deprecated setting if present:
vtx_freq
From 1.6 to 2.6
- Find
min_throttle
line, and replace it bythrottle_idle
, setting the percentage of the idle throttle. The default is 15. - If you are upgrading a multi rotor, POS XY PID I and D have now specific settings, respectively
nav_mc_pos_deceleration_time
andnav_mc_pos_expo
. So if you don't use defaults, when restoring, move yours to the new settings. - Delete all lines starting with: mixer acczero accgain magzero osd.
- Find
vbat_scale
,vbat_max_cell_voltage
,vbat_warning_cell_voltage
andvbat_min_cell_voltage
values on your settings, and multiply their values by 10. - Find
mag_hold_rate_limit
and replace byheading_hold_rate_limit
(renamed parameter). - Find
nav_max_speed
and replace bynav_auto_speed
(renamed parameter). - Find
nav_max_climb_rate
and replace bynav_auto_climb_rate
(renamed parameter). - Remove this deprecated settinsg if present:
vtx_freq
,nav_fw_roll2pitch
aux
lines needs to be changed. Use this tool to migrate youraux
lines.- Replace
yaw_motor_direction
bymotor_direction_inverted
if present - Replace
telemetry_uart_unidir
bytelemetry_halfduplex
if present - Find all lines starting with
servo
, and remove the fifth and the sixth arguments of the parameter.
Example: servo 3 1070 1950 1500 90 90 -80 -1
Will become: servo 3 1070 1950 1500 -80 -1
From 1.5 or earlier versions
Your version is A LOT outdated. We really recommend you to set everything up from scratch. Your current settings will not be as much as useful. But don't worry, INAV became much easier to set up since this version.
Flash the lastest INAV firmware to your board
Now it's time to flash the lastest INAV firmware to your flight controller board..
- On INAV Configurator, go to the "Firmware Flasher" tab.
- Select the proper TARGET of the flight controller board.
- Make sure that the "Full Erase" option is ENABLED.
- Click "Load Firmware (Online)" button, and then after it loads the online firmware, click "Flash Firmware" button.
- Wait for the completion of the process.
Paste the adjusted settings on the CLI
- Click the "Connect" button on INAV configurator.
- Go to the CLI tab.
- Copy all the settings text from your adjusted text file and paste on the CLI input text box, then press ENTER.
- Wait for all the settings to be typed on the output text box.
- If no errors occurred, Flight controller should save the settings and reboot by itself.
Upload your preferred font to the OSD chip
The font file changes between versions! That's why you need to update the font stored on the OSD chip every time you upgrade INAV version in order to OSD work properly.
- Go to the OSD Tab on the Configurator.
- In the bottom right corner, there's a "Font" button. Click it.
- Select the font that best pleases you, and then click "Upload" button.
- Wait for the process to complete. Flight Controller will reboot automatically.
If you are upgrading from version 2.5 or earlier
- If you have a compass, it has to be recalibrated!
- Do not migrate Multirotor PID and filter settings from previous releases of INAV. Use Multirotor default preset (3"-7") instead and make required changes on top of that
If you are upgrading from version 1
There was a big update from 1.9 to 2.0, there's a new mixer framework, a new OSD framework and new calibration scales for accelerometer and magnetometer. For that reason, you'll need to set this up again and the previous settings will not work.
- Go to the Mixer tab and load and apply your desired mixer.
- Calibrate the accelerometer following the steps in the dedicated tab. Only first two steps need to be made in the right order.
- Calibration of the magnetometer should be done at the field. The magnetic field indoors can be distorted and led to a bad calibration.
- Restore manually your OSD layout using the screenshot and upload the font you like using the dedicated button.
Check if everything is working as it should
- Carefully check all the configuration and check on the bench without installed propellers if everything looks good. In particular, check if the model preview behaves correctly when you are moving your model and check surfaces movements for an airplane.
- Arming with sticks command is not supported anymore, so if you were using sticks commands for arming, don't forget to add an arming switch in the Modes tab on the configurator.
Enjoy the lastest INAV version!
If you done everything right, now your aircraft should be flying ok.
INAV adds lots of new features at every new version! This guide helped you to make your aircraft fly with the newer version as good as it was flying before, but now it's time learn all the new tricks that INAV can do! Check this page to see everything that the newer versions of INAV can do!
Enjoy!