Skip to content

Releases: iNavFlight/inav

INAV 6 Release Candidate 1

29 Jan 13:24
b355551
Compare
Choose a tag to compare
Pre-release

INAV 6 Horizon Hawk

Hello and welcome to INAV 6 "Horizon Hawk"

Please carefully read all of this document for the best possible experience and safety.

Get in touch with other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Facebook

Tested and suggested hardware can be found here

Important Notes

  • The STM32 F3 code was removed from repository, it's no longer possible to compile F3 locally

Upgrading from a previous release

Upgrading from INAV 5 and 5.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 6 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 6.0 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

New AHRS (Attitude & Heading Reference System)


INAV 6.0 includes a complete rework of the AHRS for Attitude Estimation, to make sure INAV always knows its correct attitude relative to the ground. This should once and for all fix the issue, known as "Horizon Drift" and makes any navigation mode as well as self-levelling modes like ANGLE fully reliable and allows much more precise GPS-Navigation. This affects Fixed Wing as well as Multirotor.

The best results are given if the craft is equipped with GPS and in the case of Multirotor also with a compass. But also for pure LOS Craft that have no GPS on board, the AHI stability is noticeably improved in most situations. To work best with non-GPS Fixed Wings, the Reference Airspeed has to be set according the average cruise speed of the craft.


When Updating from INAV 5.1 or older, apply the following settings after loading back your previous DIFF (Any Fixed Wing or Copter):

set imu_acc_ignore_rate = 15
set imu_acc_ignore_slope = 5
set imu_dcm_kp = 2000
set imu_dcm_ki = 50
set imu_dcm_kp_mag = 2000
set imu_dcm_ki_mag = 50

For Fixed Wing Craft with no GPS:
set fw_reference_airspeed = (set this in cm/s. Set this to airspeed at which PIDs were tuned. Usually should be set to cruise airspeed. Also used for coordinated turn calculation if airspeed sensor is not present.)

HUD Offset change

The operation of osd_horizon_offset has been reversed, to make it more intuitive. If you have a non-zero value for osd_horizon_offset it will need to be inverted. For example, osd_horizon_offset = 1 would become osd_horizon_offset = -1. Positive values move the HUD up, and negative values move it down.

RTH Trackback

When triggered the craft returns along the trackback route until the end is reached at which point it reverts to normal RTH heading directly home. It doesn't perform the RTH climb phase but instead uses the track point altitude but with altitude never allowed below the altitude of the start point so it can climb but never descend below the start point.

OFF by default, adjust nav_rth_trackback_mode to enable. For details see #7988

Accelerometer calibration is optional

Accelerometer calibration is required only if any of the Accelerometer Based Flight Modes or Failsafe procedures is configured. For example, ACC calibration will be needed when Failsafe RTH is enabled, or any GPS assisted flight modes is configured. Acro only multirotor and fixed wings do not require calibration.

nav_extra_arming_safety OFF option

The off option has been removed from nav_extra_arming_safety. Instead, the allow_bypass can be used for with the same effect. To allow the bypass, yaw right and arm. The extra arming safety features will be disabled until the next power cycle of the battery. Please update your diff if you use this parameter; either manually, or using this tool.

Improved fixed wing waypoint course tracking

Attempts to improve fixed wing WP course tracking accuracy by adding a couple of options:

  1. Tracking accuracy option that forces craft toward the waypoint course line as quickly as possible and actively tracks the line thereafter. A single setting adjusts the strength of the tracking behaviour. Works for WP mode and RTH trackback. Option is disabled by default.

  2. Turn smoothing option for waypoint turns. Sets a loiter point within the turn such that the craft follows a loiter turn path that either passes through the waypoint or cuts the turn missing the waypoint (2 settings possible). Only works for WP mode. Option is disabled by default.

See #8234 for details

Support for Hardware In The Loop simulator in X-Plane 11

INAV flight controller can be used with X-Plane 11 flight simulator. Very useful for training, testing and debugging. Requires X-Plane 11 and HITL Plugin https://github.com/RomanLut/INAV-X-Plane-HITL

Waypoint multi-mission in flight mission change

Allows WP multi-missions to be changed in flight using new mission change mode. With mode active the required mission index can be selected by cycling through missions using the WP mode switch. Selected mission is loaded when mission change mode is switched off. Mission index can also be changed through addition of a new Mission Index adjustment function which should be useful for DJI users unable to use the normal OSD mission related fields. See #8354 for details

MSP Displayport fixes and updates

INAV has now support for various flavours of the MSP Displayport protocol used by HDZero, DJI Goggles 2, Walksnail Avatar or WTFOS. Based on the osd_video_system setting different canvas sizes and glyphs are used. Available options are:

  • AUTO - for analog systems only
  • PAL
  • NTSC
  • HDZERO
  • DJIWTF
  • AVATAR
  • BF43COMPAT - keep the compatibility with Betaflight 4.3 implementation by lowering canvas size, lowering the number of OSD glyphs and matching to Betaflight character mapping. Required for DJI MSP Displayport with DJI O3 Air Unit

Enhance programming options for waypoint missions

The programming framework surrounding waypoints has changed. This has caused a conflict in compatibility with previous versions of INAV. If you use anything in the programming tab. Please run your diff through this conversion tool, to keep your logic conditions working. Please feel free to check out the new waypoint related logical switch operands in the Programming Framework document.

Increase nav_wp_safe_distance maximum

nav_wp_safe_distance has been replaced with nav_wp_max_safe_distance. This setting uses metres, and used to define the maximum distance away that the first waypoint can be. Please update your diff if you use this parameter; either manually, or using this tool.

Stop allowing navigation modes to be active while arming

The ability to arm the craft while in a navigation mode has been removed. The only people who this will effect are those who use permanently enabled autolaunch. Pre-6.0 you could arm while in a navigation mode. However this is dangerous, as it is easy to not realise, arm, disable the launch, then have the motor go to the cruise throttle. You will still be able to use a navigation mode as the exit mode from a launch. You just need to use the correct procedure for initiating the launch:

  1. Be in a non-navigation mode
  2. Arm
  3. Select the flight mode that you want to use on launch exit
  4. Raise the throttle to the level you want on launch exit
  5. The motor will enter idle if idle throttle is used, or await being thrown
  6. Throw the plane in to the air, and autolaunch will trigger

Disarm on land by default

The disarm on landing flag is now set to ON by default. This means, after successful automated landing your aircraft should disarm and stop the motors automatically!

Automated landing manual activation

Allows an emergency landing to be triggered manually as required.
Landing started or ended by rapid toggling of PosHold mode, at least 5 times at a minimum rate of 1Hz.
Emergency landing position hold added which will work for all emergency landings regardless of cause so long as a valid position is available.
Failsafe inhibited during manual emergency landing to allow landing to continue if Failsafe triggered whilst active.

Other changes

  • Gyro noise peaks are now logged into blackbox as separate fields, not debug options. Setting documentation
  • Raw gyro signal is now logged into blackbox as separate fie...

INAV 6 Feature Preview 1

22 Oct 17:22
2693037
Compare
Choose a tag to compare
Pre-release

INAV 6 Horizon Hawk

Hello and welcome to INAV 6 "Horizon Hawk"

Please carefully read all of this document for the best possible experience and safety.

Get in touch with other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Facebook

Tested and suggested hardware can be found here

Important Notes

Upgrading from a previous release

Upgrading from INAV 5 and 5.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 6 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 5.0 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

New AHRS (Attitude & Heading Reference System)


INAV 6.0 includes a big Update to its AHRS for Attitude Estimation, to make sure INAV always knows it's correct attitude relative to the ground. This should once and for all fix the issue, known as "Horizon Drift" and makes any navigation mode as well as self-leveling modes like ANGLE fully reliable and allows much more precise GPS-Navigation. This affects Fixed Wing as well as Multirotor.

The best results are given if the craft is equipped with GPS and in the case of Multirotor also with a compass. But also for pure LOS Crafts that have no GPS on board, the AHI stability is noticeably improved in most situations. To work best with non-GPS Fixed Wings, the Reference Airspeed has to be set according the average cruise speed of the craft.


Beta only: When Updating from INAV 5.1 or older, apply the following settings after loading back your previous DIFF (Any Fixed Wing or Copter):

set imu_acc_ignore_rate = 15
set imu_acc_ignore_slope = 10
set imu_dcm_kp = 2000
set imu_dcm_ki = 50
set imu_dcm_kp_mag = 2000
set imu_dcm_ki_mag = 50

Fixed Wing only:
set imu_inertia_comp_method = ADAPTIVE
Copter only:
set imu_inertia_comp_method = VELNED
For Fixed Wing Craft with no GPS:
set fw_reference_airspeed =
(set this in cm/s. Set this to airspeed at which PIDs were tuned. Usually should be set to cruise airspeed. Also used for coordinated turn calculation if airspeed sensor is not present.)

If you notice any problems, please head to the Discussion Thread here and post your feedback, if possible with DVR and Blackbox log: #8469

HUD Offset change

The operation of osd_horizon_offset has been reversed, to make it more intuitive. If you have a non-zero value for osd_horizon_offset it will need to be inverted. For example osd_horizon_offset = 1 would become osd_horizon_offset = -1. Positive values move the HUD up, and negative values move it down.

The full list of changes is available here
The full list of INAV Configurator changes is available here

What's Changed

INAV 5.1 "Ballistic Buzzard"

22 Aug 16:21
Compare
Choose a tag to compare

INAV 5 Ballistic Buzzard

Hello and welcome to INAV 5.1 "Ballistic Buzzard"

Please carefully read all of this document for the best possible experience and safety.

Get in touch with other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Facebook

Please continue to support developers, for free, by checking out the following stores after having clicked on the following links:

Support us on Banggood

Your contribution from the past month has been very welcome! Thanks!

Tested and suggested hardware can be found here

Important Notes

Config wipe mitigation

INAV 5.1 lowers the probablity of a full config wipe on reboot. Bear in mind, technically it's not a bug. When FC is disconnected during EEPROM write, checksum will not updated and INAV will erase flash on next boot as a safety measure. To prevent this from happening, always wait until INAV fully reboots before disconnecting the flight controller.

Mamba H743 and ZEEZF7 V2 external flash

INAV 5.1 supports 128Mbit W25N01G flash memory that can be found on Mamba H743 and ZEEZF7 V2.

Horizon Drift mitigation

To improve AHI drift on fixed wings, apply following settings via CLI:

For airplanes without a tail (wings, delta, etc)

set imu_acc_ignore_rate = 9
set imu_acc_ignore_slope = 5
set nav_fw_pos_z_p = 35
set nav_fw_pos_z_i = 5
set nav_fw_pos_z_d = 10
set nav_fw_pos_xy_p = 70
set imu_dcm_kp = 1000
set imu_dcm_ki = 0

For airplanes with a tail (dedicated elevator)

set imu_acc_ignore_rate = 7
set imu_acc_ignore_slope = 4
set nav_fw_pos_z_p = 25
set nav_fw_pos_z_i = 5
set nav_fw_pos_z_d = 7
set nav_fw_pos_xy_p = 55
set imu_dcm_kp = 1000
set imu_dcm_ki = 0

Upgrading from a previous release

Upgrading from INAV 5

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 5.1 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. You should be ready, explore new 5.1 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

New targets

  • SpeedyBee F7 V3
  • AtomRC F405 NAVI
  • iFlight JB F7 Pro
  • iFlight Blitz F7 Pro

CLI

New Settings

  • nav_fw_launch_abort_deadband Launch abort stick deadband in [r/c points], applied after r/c deadband and expo. The Roll/Pitch stick needs to be deflected beyond this deadband to abort the launch.

What's Changed

Full Changelog: 5.0.0...5.1.0

The full list of changes is available here

The full list of INAV Configurator changes is available here

INAV 5 "Ballistic Buzzard"

25 Jun 17:34
Compare
Choose a tag to compare

INAV 5 Ballistic Buzzard

Hello and welcome to INAV 5.0 "Ballistic Buzzard"

Please carefully read all of this document for the best possible experience and safety.

Get in touch with other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Facebook

Please continue to support developers, for free, by checking out the following stores after having clicked on the following links:

Support us on Banggood

Your contribution from the past month has been very welcome! Thanks!

Tested and suggested hardware can be found here

Important Notes

Save performed on every power on; could result in wiped configuration

A new feature on this firmware causes a save command to be executed every time the flight controller is powered on. If this save command is interrupted, the configuration could become corrupted, and you full configuration will be wiped. We recommend that you instead install INAV 5.1, which removed this save command, while keeping the new feature.

PCA9685 PWM driver no longer supported

The I2C PCA9685 servo driver is no longer supported as obsolete and not widely adopted. All PCA9685 setups are advised to upgrade to SBUS output and SBUS to PWM decoders

Gyro and Acc alignment settings removed

The align_acc and align_gyro settings are removed. Gyro/Acc orientation should always be set with align_board_yaw

GPS Glitch Detection

The NAV_GPS_GLITCH_DETECTION was removed as not suitable for modern aircraft. There is no user action required

Removal of depreciated MSP frames

INAV 5 removed the support for the following MSP frames:

  • MSP_IDENT
  • MSP_PID
  • MSP_PID_CONTROLLER
  • MSP_BF_CONFIG
  • MSP_BF_BUILD_INFO
  • MSP_SET_PID_CONTROLLER
  • MSP_SET_PID
  • MSP_SET_BF_CONFIG
  • MSP_CF_SERIAL_CONFIG
  • MSP_SET_CF_SERIAL_CONFIG

No user action is required in the case of the INAV Configurator or mwptools (mwp etc.). In the case of 3rd party INAV configuration apps, this change might break the compatibility if the app was using any of those frames. SpeedyBee developers have been notified, other apps have to adjust accordingly.

Strict MSP payload length checking

In order to help mitigate the "randomly changed settings" bug, strict MSP payload length checking has been implemented. Fixed size MSP frames that do not specify the correct payload size will be rejected. The INAV Configurator and mwptools (mwp etc.) are compliant. In the case of 3rd party INAV configuration / mission planning / monitoring apps, this change might break interoperability if the app was not correctly setting the payload size. SpeedyBee developers have been notified, other apps may have to adjust accordingly.

Upgrading from a previous release

Upgrading from INAV 4 and 4.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 5.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 5.0 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

Configurable outputs mode

INAV allows changing the function assignment of ALL PWM outputs. Bear in mind, that it's not resource mapping! This function allows assigning all outputs as motors or all outputs as servos. It's driven by CLI output_mode setting

  • AUTO assigns outputs according to the default mapping
  • SERVOS assigns all outputs to servos
  • MOTORS assigns all outputs to motors

Improved landing detection

Updates landing detection for multirotor and add detection for fixed-wing. Detects when flying and activates landing detection from that point. Multirotor detection was added for non-autonomous landing as well as RTH. Fixed-wing detection is based on velocity, axis rates, and finally absolute movement in roll and pitch (so it probably wouldn't work if stuck in a tree being blown around by the wind). For details see #7270

Add the ability to adjust LED Strip color with RC channel

LED hue can be updated with an RC channel. For example, CLI led 7 8,10::H:6 will adjust hue of LED number 7 based on RC channel 6. For details see #7618

An option to not calibrate the gyro during boot

This feature allows to arm of INAV aircraft on a boat or any other moving vehicle, as it allows to use of stored gyro calibration value instead of calibrating on every boot.

  • init_gyro_cal If defined to OFF, it will ignore the gyroscope calibration done at each startup. Instead, the gyroscope's last calibration from when you calibrated will be used. It also means you don't have to keep the UAV stationary during a startup.
  • gyro_zero_x gyro X calibration stored
  • gyro_zero_y gyro Y calibration stored
  • gyro_zero_z gyro Z calibration stored

WP mission waypoint enforce altitude option

Provides an option to force mission waypoint altitude to be achieved before moving on to the next waypoint. If the set altitude hasn't been achieved when the craft arrives at the waypoint it will hold and adjust the altitude as required with a target margin of 100cm. Planes use a spiral loiter whilst changing altitude. The option is set for the whole mission and applicable to basic and timed hold waypoints. For details see #7644

Improved Altitude Hold controller

INAV will now use the SQRT controller for Altitude Control on Multirotors. No extra pilot action required. For details see #7845

TBS Sixty9 SA2.1 UART Configuration

Adds the vtx_smartaudio_stopbits setting that when set to 1 fixes the TBS Sixty9 SmartAudio 2.1 issues.

Rangefinder in Logic Conditions

Adds following value as Logic Conditions Operands:

  • AGL_STATUS boolean 1 when AGL can be trusted, 0 when AGL estimate can not be trusted
  • AGL integer Above The Groud Altitude in cm
  • RANGEFINDER_RAW integer raw distance provided by the rangefinder in cm

Matek 1G3SE control via IRC Tramp

To use the Matek 1G3SE with IRC Tramp. You will need to enter the CLI command set vtx_frequency_group = FREQUENCYGROUP_1G3. You must also make sure that the initial VTx settings in the configuration tab are in a valid range. They are:

  • vtx_band 1 or 2
  • vtx_channel between 1 and 9
    As part of this change.

The default VTx band has been changed from 4 to 1. If you are updating, please check that the band is still correct for your setup.

For details see #7949

Motor update frequency changes

motor_pwm_rate setting is right now used only in case on BRUSHED motor output. STANDARD, ONESHOT125, MULTISHOT and all DSHOT protocols use predefined update rate that can not be changed

PWM function mapping change for some targets

KAKUTEH7, MAMBAF722_2022A and MAMBAH743 have now 4 motor and 4 servo outputs by default. To enable X8 mode, CLI set output_mode=MOTORS command has to be used.

SPEEDYBEEF4 has now the following pin assignment in the fixed wing mode:

  • S1-S4 - Servo
  • S5-S6 - Motor
  • S7 - Servo

New targets

  • Holybro Kakute H7 Mini KAKUTEH7MINI
  • Diatone Mamba F405_2022A MAMBAF405_2022A
  • Diatone Mamba F722_2022A MAMBAF722_2022A
  • Mateksys F411TE MATEKF411TE
  • Mateksys F405TE MATEKF405TE and MATEKF405TE_SD
  • Foxeer F745 AIO FOXEERF745AIO
  • AOCODARCF7DUAL

CLI

Changed settings

Name Values
debug_modes New: LANDING
servo_protocol Removed: SERVO_DRIVER

New Settings

Name Description
ground_test_mode For developer ground test use. Disables motors, sets heading status = Trusted on FW. Default: FALSE
gyro_zero_x Calculated gyro zero calibration of axis X Values: -32768 - 32767 Default: 0
gyro_zero_y Calculated gyro zero calibration of axis Y Values: -32768 - 32767 Default: 0
gyro_zero_z Calculated gyro zero calibration of axis Z Values: -32768 - 32767 Default: 0
init_gyro_cal If defined to 'OFF', it will ignore the gyroscope calibration done at each startup. Instead, the gyroscope last calibration from when you calibrated will be used. It also means you don't have to keep the UAV stationary during a startup. Default: TRUE
ins_gravity_cmss Calculated 1G of Acc axis Z to use in INS...

INAV 5 "Ballistic Buzzard" RC3

10 Jun 13:22
dfa9f6f
Compare
Choose a tag to compare
Pre-release

INAV 5 Ballistic Buzzard

Hello and welcome to INAV 5.0 "Ballistic Buzzard"

Please carefully read all of this document for the best possible experience and safety.

Get in touch with other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Facebook

Please continue to support developers, for free, by checking out the following stores after having clicked on the following links:

Support us on Banggood

Your contribution from the past month has been very welcome! Thanks!

Tested and suggested hardware can be found here

Important Notes

PCA9685 PWM driver no longer supported

The I2C PCA9685 servo driver is no longer supported as obsolete and not widely adopted. All PCA9685 setups are advised to upgrade to SBUS output and SBUS to PWM decoders

Gyro and Acc alignment settings removed

The align_acc and align_gyro settings are removed. Gyro/Acc orientation should always be set with align_board_yaw

GPS Glitch Detection

The NAV_GPS_GLITCH_DETECTION was removed as not suitable for modern aircraft. There is no user action required

Removal of depreciated MSP frames

INAV 5 removed the support for the following MSP frames:

  • MSP_IDENT
  • MSP_PID
  • MSP_PID_CONTROLLER
  • MSP_BF_CONFIG
  • MSP_BF_BUILD_INFO
  • MSP_SET_PID_CONTROLLER
  • MSP_SET_PID
  • MSP_SET_BF_CONFIG
  • MSP_CF_SERIAL_CONFIG
  • MSP_SET_CF_SERIAL_CONFIG

No user action is required in the case of the INAV Configurator or mwptools (mwp etc.). In the case of 3rd party INAV configuration apps, this change might break the compatibility if the app was using any of those frames. SpeedyBee developers have been notified, other apps have to adjust accordingly.

Strict MSP payload length checking

In order to help mitigate the "randomly changed settings" bug, strict MSP payload length checking has been implemented. Fixed size MSP frames that do not specify the correct payload size will be rejected. The INAV Configurator and mwptools (mwp etc.) are compliant. In the case of 3rd party INAV configuration / mission planning / monitoring apps, this change might break interoperability if the app was not correctly setting the payload size. SpeedyBee developers have been notified, other apps may have to adjust accordingly.

Upgrading from a previous release

Upgrading from INAV 4 and 4.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 5.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 5.0 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

Configurable outputs mode

INAV allows changing the function assignment of ALL PWM outputs. Bear in mind, that it's not resource mapping! This function allows assigning all outputs as motors or all outputs as servos. It's driven by CLI output_mode setting

  • AUTO assigns outputs according to the default mapping
  • SERVOS assigns all outputs to servos
  • MOTORS assigns all outputs to motors

Improved landing detection

Updates landing detection for multirotor and add detection for fixed-wing. Detects when flying and activates landing detection from that point. Multirotor detection was added for non-autonomous landing as well as RTH. Fixed-wing detection is based on velocity, axis rates, and finally absolute movement in roll and pitch (so it probably wouldn't work if stuck in a tree being blown around by the wind). For details see #7270

Add the ability to adjust LED Strip color with RC channel

LED hue can be updated with an RC channel. For example, CLI led 7 8,10::H:6 will adjust hue of LED number 7 based on RC channel 6. For details see #7618

An option to not calibrate the gyro during boot

This feature allows to arm of INAV aircraft on a boat or any other moving vehicle, as it allows to use of stored gyro calibration value instead of calibrating on every boot.

  • init_gyro_cal If defined to OFF, it will ignore the gyroscope calibration done at each startup. Instead, the gyroscope's last calibration from when you calibrated will be used. It also means you don't have to keep the UAV stationary during a startup.
  • gyro_zero_x gyro X calibration stored
  • gyro_zero_y gyro Y calibration stored
  • gyro_zero_z gyro Z calibration stored

WP mission waypoint enforce altitude option

Provides an option to force mission waypoint altitude to be achieved before moving on to the next waypoint. If the set altitude hasn't been achieved when the craft arrives at the waypoint it will hold and adjust the altitude as required with a target margin of 100cm. Planes use a spiral loiter whilst changing altitude. The option is set for the whole mission and applicable to basic and timed hold waypoints. For details see #7644

Improved Altitude Hold controller

INAV will now use the SQRT controller for Altitude Control on Multirotors. No extra pilot action required. For details see #7845

TBS Sixty9 SA2.1 UART Configuration

Adds the vtx_smartaudio_stopbits setting that when set to 1 fixes the TBS Sixty9 SmartAudio 2.1 issues.

Rangefinder in Logic Conditions

Adds following value as Logic Conditions Operands:

  • AGL_STATUS boolean 1 when AGL can be trusted, 0 when AGL estimate can not be trusted
  • AGL integer Above The Groud Altitude in cm
  • RANGEFINDER_RAW integer raw distance provided by the rangefinder in cm

Matek 1G3SE control via IRC Tramp

To use the Matek 1G3SE with IRC Tramp. You will need to enter the CLI command set vtx_frequency_group = FREQUENCYGROUP_1G3. You must also make sure that the initial VTx settings in the configuration tab are in a valid range. They are:

  • vtx_band 1 or 2
  • vtx_channel between 1 and 9
    As part of this change.

The default VTx band has been changed from 4 to 1. If you are updating, please check that the band is still correct for your setup.

For details see #7949

Motor update frequency changes

motor_pwm_rate setting is right now used only in case on BRUSHED motor output. STANDARD, ONESHOT125, MULTISHOT and all DSHOT protocols use predefined update rate that can not be changed

PWM function mapping change for some targets

KAKUTEH7, MAMBAF722_2022A and MAMBAH743 have now 4 motor and 4 servo outputs by default. To enable X8 mode, CLI set output_mode=MOTORS command has to be used.

SPEEDYBEEF4 has now the following pin assignment in the fixed wing mode:

  • S1-S4 - Servo
  • S5-S6 - Motor
  • S7 - Servo

New targets

  • Holybro Kakute H7 Mini KAKUTEH7MINI
  • Diatone Mamba F405_2022A MAMBAF405_2022A
  • Diatone Mamba F722_2022A MAMBAF722_2022A
  • Mateksys F411TE MATEKF411TE
  • Mateksys F405TE MATEKF405TE and MATEKF405TE_SD
  • Foxeer F745 AIO FOXEERF745AIO
  • AOCODARCF7DUAL

CLI

Changed settings

Name Values
debug_modes New: LANDING
servo_protocol Removed: SERVO_DRIVER

New Settings

Name Description
ground_test_mode For developer ground test use. Disables motors, sets heading status = Trusted on FW. Default: FALSE
gyro_zero_x Calculated gyro zero calibration of axis X Values: -32768 - 32767 Default: 0
gyro_zero_y Calculated gyro zero calibration of axis Y Values: -32768 - 32767 Default: 0
gyro_zero_z Calculated gyro zero calibration of axis Z Values: -32768 - 32767 Default: 0
init_gyro_cal If defined to 'OFF', it will ignore the gyroscope calibration done at each startup. Instead, the gyroscope last calibration from when you calibrated will be used. It also means you don't have to keep the UAV stationary during a startup. Default: TRUE
ins_gravity_cmss Calculated 1G of Acc axis Z to use in INS Values: 0 - 2000 Default: 0.0
nav_fw_auto_disarm_delay Delay before plane disarms when nav_disarm_on_landing is set (ms) Values: 100 - 10000 Default: 2000
nav_wp_enforce_altitude Forces craft to achieve the set WP altitude as well as position before moving to next WP. Position is held and altitude adjusted as required before moving on. Default: FALSE
osd_mah_used_precision Number of digits used to dis...

INAV 5 "Ballistic Buzzard" RC2

02 Jun 19:58
3914c4f
Compare
Choose a tag to compare
Pre-release

INAV 5 Ballistic Buzzard

Hello and welcome to INAV 5.0 "Ballistic Buzzard"

Please carefully read all of this document for the best possible experience and safety.

Get in touch with other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Facebook

Please continue to support developers, for free, by checking out the following stores after having clicked on the following links:

Support us on Banggood

Your contribution from the past month has been very welcome! Thanks!

Tested and suggested hardware can be found here

Important Notes

PCA9685 PWM driver no longer supported

The I2C PCA9685 servo driver is no longer supported as obsolete and not widely adopted. All PCA9685 setups are advised to upgrade to SBUS output and SBUS to PWM decoders

Gyro and Acc alignment settings removed

The align_acc and align_gyro settings are removed. Gyro/Acc orientation should always be set with align_board_yaw

GPS Glitch Detection

The NAV_GPS_GLITCH_DETECTION was removed as not suitable for modern aircraft. There is no user action required

Removal of depreciated MSP frames

INAV 5 removed the support for the following MSP frames:

  • MSP_IDENT
  • MSP_PID
  • MSP_PID_CONTROLLER
  • MSP_BF_CONFIG
  • MSP_BF_BUILD_INFO
  • MSP_SET_PID_CONTROLLER
  • MSP_SET_PID
  • MSP_SET_BF_CONFIG
  • MSP_CF_SERIAL_CONFIG
  • MSP_SET_CF_SERIAL_CONFIG

No user action is required in the case of the INAV Configurator or mwptools (mwp etc.). In the case of 3rd party INAV configuration apps, this change might break the compatibility if the app was using any of those frames. SpeedyBee developers have been notified, other apps have to adjust accordingly.

Strict MSP payload length checking

In order to help mitigate the "randomly changed settings" bug, strict MSP payload length checking has been implemented. Fixed size MSP frames that do not specify the correct payload size will be rejected. The INAV Configurator and mwptools (mwp etc.) are compliant. In the case of 3rd party INAV configuration / mission planning / monitoring apps, this change might break interoperability if the app was not correctly setting the payload size. SpeedyBee developers have been notified, other apps may have to adjust accordingly.

Upgrading from a previous release

Upgrading from INAV 4 and 4.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 5.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 5.0 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

Configurable outputs mode

INAV allows changing the function assignment of ALL PWM outputs. Bear in mind, that it's not resource mapping! This function allows assigning all outputs as motors or all outputs as servos. It's driven by CLI output_mode setting

  • AUTO assigns outputs according to the default mapping
  • SERVOS assigns all outputs to servos
  • MOTORS assigns all outputs to motors

Improved landing detection

Updates landing detection for multirotor and add detection for fixed-wing. Detects when flying and activates landing detection from that point. Multirotor detection was added for non-autonomous landing as well as RTH. Fixed-wing detection is based on velocity, axis rates, and finally absolute movement in roll and pitch (so it probably wouldn't work if stuck in a tree being blown around by the wind). For details see #7270

Add the ability to adjust LED Strip color with RC channel

LED hue can be updated with an RC channel. For example, CLI led 7 8,10::H:6 will adjust hue of LED number 7 based on RC channel 6. For details see #7618

An option to not calibrate the gyro during boot

This feature allows to arm of INAV aircraft on a boat or any other moving vehicle, as it allows to use of stored gyro calibration value instead of calibrating on every boot.

  • init_gyro_cal If defined to OFF, it will ignore the gyroscope calibration done at each startup. Instead, the gyroscope's last calibration from when you calibrated will be used. It also means you don't have to keep the UAV stationary during a startup.
  • gyro_zero_x gyro X calibration stored
  • gyro_zero_y gyro Y calibration stored
  • gyro_zero_z gyro Z calibration stored

WP mission waypoint enforce altitude option

Provides an option to force mission waypoint altitude to be achieved before moving on to the next waypoint. If the set altitude hasn't been achieved when the craft arrives at the waypoint it will hold and adjust the altitude as required with a target margin of 100cm. Planes use a spiral loiter whilst changing altitude. The option is set for the whole mission and applicable to basic and timed hold waypoints. For details see #7644

Improved Altitude Hold controller

INAV will now use the SQRT controller for Altitude Control on Multirotors. No extra pilot action required. For details see #7845

TBS Sixty9 SA2.1 UART Configuration

Adds the vtx_smartaudio_stopbits setting that when set to 1 fixes the TBS Sixty9 SmartAudio 2.1 issues.

Rangefinder in Logic Conditions

Adds following value as Logic Conditions Operands:

  • AGL_STATUS boolean 1 when AGL can be trusted, 0 when AGL estimate can not be trusted
  • AGL integer Above The Groud Altitude in cm
  • RANGEFINDER_RAW integer raw distance provided by the rangefinder in cm

Matek 1G3SE control via IRC Tramp

To use the Matek 1G3SE with IRC Tramp. You will need to enter the CLI command set vtx_frequency_group = FREQUENCYGROUP_1G3. You must also make sure that the initial VTx settings in the configuration tab are in a valid range. They are:

  • vtx_band 1 or 2
  • vtx_channel between 1 and 9
    As part of this change.

The default VTx band has been changed from 4 to 1. If you are updating, please check that the band is still correct for your setup.

For details see #7949

PWM function mapping change for some targets

KAKUTEH7, MAMBAF722_2022A and MAMBAH743 have now 4 motor and 4 servo outputs by default. To enable X8 mode, CLI set output_mode=MOTORS command has to be used.

New targets

  • Holybro Kakute H7 Mini KAKUTEH7MINI
  • Diatone Mamba F405_2022A MAMBAF405_2022A
  • Diatone Mamba F722_2022A MAMBAF722_2022A
  • Mateksys F411TE MATEKF411TE
  • Mateksys F405TE MATEKF405TE and MATEKF405TE_SD
  • Foxeer F745 AIO FOXEERF745AIO
  • AOCODARCF7DUAL

CLI

Changed settings

Name Values
debug_modes New: LANDING
servo_protocol Removed: SERVO_DRIVER

New Settings

Name Description
ground_test_mode For developer ground test use. Disables motors, sets heading status = Trusted on FW. Default: FALSE
gyro_zero_x Calculated gyro zero calibration of axis X Values: -32768 - 32767 Default: 0
gyro_zero_y Calculated gyro zero calibration of axis Y Values: -32768 - 32767 Default: 0
gyro_zero_z Calculated gyro zero calibration of axis Z Values: -32768 - 32767 Default: 0
init_gyro_cal If defined to 'OFF', it will ignore the gyroscope calibration done at each startup. Instead, the gyroscope last calibration from when you calibrated will be used. It also means you don't have to keep the UAV stationary during a startup. Default: TRUE
ins_gravity_cmss Calculated 1G of Acc axis Z to use in INS Values: 0 - 2000 Default: 0.0
nav_fw_auto_disarm_delay Delay before plane disarms when nav_disarm_on_landing is set (ms) Values: 100 - 10000 Default: 2000
nav_wp_enforce_altitude Forces craft to achieve the set WP altitude as well as position before moving to next WP. Position is held and altitude adjusted as required before moving on. Default: FALSE
osd_mah_used_precision Number of digits used to display mAh used. Values: 4 - 6 Default: 4
osd_switch_indicator_one_channnel RC Channel to use for OSD switch indicator 1. Default: 5
osd_switch_indicator_one_name Character to use for OSD switch incicator 1. Values: 0 - 5 Default: GEAR
osd_switch_indicator_three_channnel RC Channel to use for OSD switch indicator 3. Default: 5
osd_switch_...

INAV 5 "Ballistic Buzzard" RC1

28 May 17:18
63a60ad
Compare
Choose a tag to compare
Pre-release

INAV 5 Ballistic Buzzard

Hello and welcome to INAV 5.0 "Ballistic Buzzard"

Please carefully read all of this document for the best possible experience and safety.

Get in touch with other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Facebook

Please continue to support developers, for free, by checking out the following stores after having clicked on the following links:

Support us on Banggood

Your contribution from the past month has been very welcome! Thanks!

Tested and suggested hardware can be found here

Important Notes

PCA9685 PWM driver no longer supported

The I2C PCA9685 servo driver is no longer supported as obsolete and not widely adopted. All PCA9685 setups are advised to upgrade to SBUS output and SBUS to PWM decoders

Gyro and Acc alignment settings removed

The align_acc and align_gyro settings are removed. Gyro/Acc orientation should always be set with align_board_yaw

GPS Glitch Detection

The NAV_GPS_GLITCH_DETECTION was removed as not suitable for modern aircraft. There is no user action required

Removal of depreciated MSP frames

INAV 5 removed the support for the following MSP frames:

  • MSP_IDENT
  • MSP_PID
  • MSP_PID_CONTROLLER
  • MSP_BF_CONFIG
  • MSP_BF_BUILD_INFO
  • MSP_SET_PID_CONTROLLER
  • MSP_SET_PID
  • MSP_SET_BF_CONFIG
  • MSP_CF_SERIAL_CONFIG
  • MSP_SET_CF_SERIAL_CONFIG

No user action is required in the case of the INAV Configurator or mwptools (mwp etc.). In the case of 3rd party INAV configuration apps, this change might break the compatibility if the app was using any of those frames. SpeedyBee developers have been notified, other apps have to adjust accordingly.

Strict MSP payload length checking

In order to help mitigate the "randomly changed settings" bug, strict MSP payload length checking has been implemented. Fixed size MSP frames that do not specify the correct payload size will be rejected. The INAV Configurator and mwptools (mwp etc.) are compliant. In the case of 3rd party INAV configuration / mission planning / monitoring apps, this change might break interoperability if the app was not correctly setting the payload size. SpeedyBee developers have been notified, other apps may have to adjust accordingly.

Upgrading from a previous release

Upgrading from INAV 4 and 4.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 5.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 5.0 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

Configurable outputs mode

INAV allows changing the function assignment of ALL PWM outputs. Bear in mind, that it's not resource mapping! This function allows assigning all outputs as motors or all outputs as servos. It's driven by CLI output_mode setting

  • AUTO assigns outputs according to the default mapping
  • SERVOS assigns all outputs to servos
  • MOTORS assigns all outputs to motors

Improved landing detection

Updates landing detection for multirotor and add detection for fixed-wing. Detects when flying and activates landing detection from that point. Multirotor detection was added for non-autonomous landing as well as RTH. Fixed-wing detection is based on velocity, axis rates, and finally absolute movement in roll and pitch (so it probably wouldn't work if stuck in a tree being blown around by the wind). For details see #7270

Add the ability to adjust LED Strip color with RC channel

LED hue can be updated with an RC channel. For example, CLI led 7 8,10::H:6 will adjust hue of LED number 7 based on RC channel 6. For details see #7618

An option to not calibrate the gyro during boot

This feature allows to arm of INAV aircraft on a boat or any other moving vehicle, as it allows to use of stored gyro calibration value instead of calibrating on every boot.

  • init_gyro_cal If defined to OFF, it will ignore the gyroscope calibration done at each startup. Instead, the gyroscope's last calibration from when you calibrated will be used. It also means you don't have to keep the UAV stationary during a startup.
  • gyro_zero_x gyro X calibration stored
  • gyro_zero_y gyro Y calibration stored
  • gyro_zero_z gyro Z calibration stored

WP mission waypoint enforce altitude option

Provides an option to force mission waypoint altitude to be achieved before moving on to the next waypoint. If the set altitude hasn't been achieved when the craft arrives at the waypoint it will hold and adjust the altitude as required with a target margin of 100cm. Planes use a spiral loiter whilst changing altitude. The option is set for the whole mission and applicable to basic and timed hold waypoints. For details see #7644

Improved Altitude Hold controller

INAV will now use the SQRT controller for Altitude Control on Multirotors. No extra pilot action required. For details see #7845

TBS Sixty9 SA2.1 UART Configuration

Adds the vtx_smartaudio_stopbits setting that when set to 1 fixes the TBS Sixty9 SmartAudio 2.1 issues.

Rangefinder in Logic Conditions

Adds following value as Logic Conditions Operands:

  • AGL_STATUS boolean 1 when AGL can be trusted, 0 when AGL estimate can not be trusted
  • AGL integer Above The Groud Altitude in cm
  • RANGEFINDER_RAW integer raw distance provided by the rangefinder in cm

Matek 1G3SE control via IRC Tramp

To use the Matek 1G3SE with IRC Tramp. You will need to enter the CLI command set vtx_frequency_group = FREQUENCYGROUP_1G3. You must also make sure that the initial VTx settings in the configuration tab are in a valid range. They are:

  • vtx_band 1 or 2
  • vtx_channel between 1 and 9
    As part of this change.

The default VTx band has been changed from 4 to 1. If you are updating, please check that the band is still correct for your setup.

For details see #7949

PWM function mapping change for some targets

KAKUTEH7, MAMBAF722_2022A and MAMBAH743 have now 4 motor and 4 servo outputs by default. To enable X8 mode, CLI set output_mode=MOTORS command has to be used.

New targets

  • Holybro Kakute H7 Mini KAKUTEH7MINI
  • Diatone Mamba F405_2022A MAMBAF405_2022A
  • Diatone Mamba F722_2022A MAMBAF722_2022A
  • Mateksys F411TE MATEKF411TE
  • Mateksys F405TE MATEKF405TE and MATEKF405TE_SD
  • Foxeer F745 AIO FOXEERF745AIO
  • AOCODARCF7DUAL

CLI

Changed settings

Name Values
debug_modes New: LANDING
servo_protocol Removed: SERVO_DRIVER

New Settings

Name Description
ground_test_mode For developer ground test use. Disables motors, sets heading status = Trusted on FW. Default: FALSE
gyro_zero_x Calculated gyro zero calibration of axis X Values: -32768 - 32767 Default: 0
gyro_zero_y Calculated gyro zero calibration of axis Y Values: -32768 - 32767 Default: 0
gyro_zero_z Calculated gyro zero calibration of axis Z Values: -32768 - 32767 Default: 0
init_gyro_cal If defined to 'OFF', it will ignore the gyroscope calibration done at each startup. Instead, the gyroscope last calibration from when you calibrated will be used. It also means you don't have to keep the UAV stationary during a startup. Default: TRUE
ins_gravity_cmss Calculated 1G of Acc axis Z to use in INS Values: 0 - 2000 Default: 0.0
nav_fw_auto_disarm_delay Delay before plane disarms when nav_disarm_on_landing is set (ms) Values: 100 - 10000 Default: 2000
nav_wp_enforce_altitude Forces craft to achieve the set WP altitude as well as position before moving to next WP. Position is held and altitude adjusted as required before moving on. Default: FALSE
osd_mah_used_precision Number of digits used to display mAh used. Values: 4 - 6 Default: 4
osd_switch_indicator_one_channnel RC Channel to use for OSD switch indicator 1. Default: 5
osd_switch_indicator_one_name Character to use for OSD switch incicator 1. Values: 0 - 5 Default: GEAR
osd_switch_indicator_three_channnel RC Channel to use for OSD switch indicator 3. Default: 5
osd_switch_...

INAV 4.1 "Raging Sparrow"

11 Feb 18:34
611d26f
Compare
Choose a tag to compare

Hello and welcome to INAV 4.1 "Raging Sparrow"

Please carefully read all of this document for the best possible experience and safety.

Get in touch with other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Facebook

Please continue to support developers, for free, by checking out from the following stores after having clicked on the following links:

Support us on Banggood

Your contribution from the past month has been very welcome! Thanks!

Tested and suggested hardware can be found here

Important notes

This release is fully supported only with INAV Configurator 4.1. When an older version of Configurator is used, the OSD tab will not work!

Upgrading from a previous release

Upgrading from INAV 4.0

  1. Use INAV Configurator 4.0 CLI to make a diff of the current configuration
  2. Store the diff output
  3. Download INAV Configurator 4.1 and flash INAV 4.1 firmware with FULL CHIP ERASE
  4. Connect with INAV Configurator and restore the diff with the CLI tab

Upgrading from older versions

Please follow the instructions on this page.

Important changes

  1. HDzero OSD canvas mode support
  2. SD card support on Kakute H7 flight controllers
  3. Improved Matrix filter tracks now 3 gyro noise peaks instead of only 1
  4. Lowered Airmode threshold to improve Airmode handling on powerful multirotors
  5. Fixed RTH Sanity Checking
  6. New target MAMBAF772_X8
  7. Fix for Matek H743 ADC not working when LED strip is enabled

What's Changed

The full list of changes is available here

New Contributors

INAV 4.1.0 Release Candidate 1

25 Jan 13:27
ebf5b0e
Compare
Choose a tag to compare
Pre-release

Hello and welcome to INAV 4.1 "Red Kite"

Please carefully read all of this document for the best possible experience and safety.

Get in touch with other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Facebook

Please continue to support developers, for free, by checking out from the following stores after having clicked on the following links:

Support us on Banggood

Your contribution from the past month has been very welcome! Thanks!

Tested and suggested hardware can be found here

Important notes

This release is fully supported only with INAV Configurator 4.1. When an older version of Configurator is used, the OSD tab will not work!

Upgrading from a previous release

Upgrading from INAV 4.0

  1. Use INAV Configurator 4.0 CLI to make a diff of the current configuration
  2. Store the diff output
  3. Download INAV Configurator 4.1 and flash INAV 4.1 firmware with FULL CHIP ERASE
  4. Connect with INAV Configurator and restore the diff with the CLI tab

Upgrading from older versions

Please follow the instructions on this page.

Important changes

  1. HDzero OSD canvas mode support
  2. SD card support on Kakute H7 flight controllers
  3. Improved Matrix filter tracks now 3 gyro noise peaks instead of only 1
  4. Lowered Airmode threshold to improve Airmode handling on powerful multirotors
  5. Fixed RTH Sanity Checking

What's Changed

The full list of changes is available here

New Contributors

INAV 4 "Red Kite"

18 Dec 18:16
5a94015
Compare
Choose a tag to compare

Hello and welcome to INAV 4.0 "Red Kite"

Please carefully read all of this document for the best possible experience and safety.

Get in touch with other pilots, share experiences, suggestions and ask for help on:

INAV Discord Server
INAV Official on Telegram
INAV Official on Facebook

Please continue to support developers, for free, by checking out from the following stores after having clicked on the following links:

Support us on Banggood

Your contribution from the past month has been very welcome! Thanks!

Tested and suggested hardware can be found here

Important Notes

PPM receivers are no longer supported

If you use a PPM receiver, these are no longer supported by iNav. We recommend that you use serial based receivers.

F411 and F722 feature reduction

Due to the storage space on these flight controllers. Features have started to be dropped. See PR #7297 for details

Font update required

A font file update is required to use the new symbols and avoid an invalid font warning. Upload the updated font of your choosing from the OSD tab.

INAV LUA Script

If you are using the INAV LUA script and Crossfire, you should update to the latest INAV LUA script.

Upgrading from a previous release

Upgrading from INAV 3

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 4.0 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go to the CLI again and paste the above-described contents from the file you previously created and write save , press ENTER.
  6. There are a large number of new, changed, and removed settings. Check carefully that the settings are correct and fix any unrecognized or out-of-range items from the saved configuration.
  7. You should be ready, explore new 4.0 features, and enjoy!

Upgrading from older versions

Please follow the instructions on this page.

Important changes

Filtering changes

With INAV 4.0 there are a couple of important changes in how gyro and D-term are filtered. They mostly affect Multirotor pilots.

  1. Kalman filter aka Unicorn Filter is enabled by default
  2. Unicorn Filter setup is simplified: you only tune Q factor. Window size and sharpness settings are removed
  3. Dynamic Notch aka Matrix Filter is enabled by default
  4. Matrix filter has been reworked and simplified. Now you only set minimum frequency and Q factor
  5. Matrix filter resolution is now 4 times higher than with INAV 3
  6. Static gyro notch was removed
  7. First D-term LPF type changed to PT2 and second D-term LPF is disabled - this gives the same filtering as previously but with less settings to worry about
  8. The Alpha-Beta-Gamma filter removed
  9. The Smith Predictor is enabled by default by the new Configurator defaults

H743 support

INAV 4.0 comes with the full support of all H7 boards compatible with MATEKH743 target. This includes the SD Card and MSC mode support. Bear in mind, CAN and UAVCAN are still not supported by INAV and currently, there are no plans to implement them.

Blackbox improvements

Blackbox now always logs the Control Derivative and Feed Forward components, as well as rate target in degrees-per-seconds.
The latest INAV Blackbox Explorer is required to fully use those features.

New command blackbox allows setting which Blackbox fields are recorded to conserve space and bandwidth. Possible fields are:

  • NAV_ACC - Navigation accelerometer readouts
  • NAV_PID - Navigation PID debug
  • NAV_POS - Current and target position and altitude
  • MAG - Magnetometer raw values
  • ACC - Accelerometer raw values
  • ATTI - Attitude as computed by INAV position estimator
  • RC_DATA - RC channels 1-4 as returned by the radio receiver
  • RC_COMMAND - RC_DATA converted to [-500:500] scale with expo and headband
  • MOTORS - motor output

Usage

  • blackbox currently enabled Blackbox fields
  • blackbox list all available fields
  • blackbox -MOTORS disable MOTORS logging
  • blackbox MOTOR enable MOTORS logging

Rate Dynamics

INAV 4.0 adds a port of the EmuFlight Rate Dynamics system. It modifies stick input to change the flight feeling. To find out more refer to:

  1. https://www.youtube.com/watch?v=8WyJx2FcLzI
  2. https://github.com/emuflight/EmuFlight/wiki/Rate-Dynamics

Below are some presets you might want to try

Default

set rate_dynamics_center_sensitivity = 100
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 0
set rate_dynamics_end_sensitivity = 100
set rate_dynamics_end_correction = 10
set rate_dynamics_end_weight = 0

Cinematic

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 20
set rate_dynamics_center_weight = 85
set rate_dynamics_end_sensitivity = 90
set rate_dynamics_end_correction = 10
set rate_dynamics_end_weight = 50

Freestyle

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 35
set rate_dynamics_end_sensitivity = 130
set rate_dynamics_end_correction = 10 
set rate_dynamics_end_weight = 35

Freestyle Less bounceback

set rate_dynamics_center_sensitivity = 80
set rate_dynamics_center_correction = 10
set rate_dynamics_center_weight = 35
set rate_dynamics_end_sensitivity = 130
set rate_dynamics_end_correction = 30 
set rate_dynamics_end_weight = 35

Racing

set rate_dynamics_center_sensitivity = 130
set rate_dynamics_center_correction = 35
set rate_dynamics_center_weight = 30
set rate_dynamics_end_sensitivity = 115
set rate_dynamics_end_correction = 20
set rate_dynamics_end_weight = 10

WP Mission Enhancements

Multi-Mission

Multiple missions may be uploaded to the flight controller and a mission selected for execution by OSD, Stick Command or Mission Planner. Multi-Mission is supported by the inav Configurator and mwp mission planners.

Number of Waypoints

The maximum number of WPs is now 120.

On the fly missions

INAV 4.0 adds the capability to generate an "on the fly" mission while flying using aircraft positions.

Fly By Home Waypoints

INAV 4.0 adds Fly-by-home waypoints. This is a waypoint whose location is set to the home position at arm time.

Fixed-wing changes

Soaring mode

The soaring mode comes to iNav 4.0. The addition is great for people who fly gliders. The soaring mode adds a modifier that you can use to change how Course Hold, Cruise, or Position Hold (loiter) behave. When enabled, it disables altitude control and allows Angle mode to free float in pitch, allowing the plane to soar freely.

Two-stage climb first for RTH

This change allows the climb phase of a climb first RTH to have two separate parts. This is useful for pilots who want to climb first, to clear potential obstacles. But, don't want to be wasting energy flying away from home. This allows you to set a first climb stage altitude. Once it meets or exceeds that altitude, the plane will turn to home and continue climbing to the RTH altitude. See the iNav Wiki for more information.

Autotune no longer tunes P and I

There were often autotunes in iNav 3.0 which resulted in too high P and I. Also, D was not tuned at all. New default PIDs, that will work reasonably on all sizes of planes (#1390) have been added. This should give good results with an autotune, which can then be fine tuned to your plane.

OSD Units

If you previously used the UK units in your OSD. You will now find that your units are set to Metric + MPH. This is the new name for the old UK units. There is also a new UK units set, that better represents transportation units used in the UK. Full details can be found in the pull release.

There is also a new units set aimed at General Aviation pilots. This set uses Knots, Feet, Nautical Miles, 100 Feet per Minute, and Celsius for their respective values.

Changelist

  • H7: usb msc support for sdio #...