INAV

Firmware

Navigation-enabled flight control firmware for fixed wings and multirotors.

Latest 9.1.0 · by INAVWebsiteiNavFlight/inav

Release activity

Release activity — 7 releases across 7 days in the last year. Each cell is one day; darker means more releases that day. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 19, 2026No releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026
MondayNo releases on Apr 20, 2026No releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026
TuesdayNo releases on Apr 21, 2026No releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026
WednesdayNo releases on Apr 22, 2026No releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Apr 23, 2026No releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 20261 release on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
FridayNo releases on Apr 24, 2026No releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 20261 release on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Apr 25, 2026No releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026

7 releases in the last year

Changelog

9.1.0

INAV 9.1.0

Added 7
  • Multicopter magless heading support allowing pilots to point the front toward North before takeoff
  • Support for ICM-45686 IMU sensor
  • Support for MS5525DSO airspeed sensor
  • Support for SSD1315 OLED display
  • Support for LSM6DSV16X and LSM6DSK320X accgyro sensors
  • Support for XT25F128F and MX35LF2G flash storage
  • 19 new hardware targets including AIKONF4V2, AXISFLYINGH743PRO, BLADE_F4, BLUEBERRYH743, BLUEBERRYF405, Brahma H7, DAKEFPVH743_SLIM, FlyDragon Pro, FLYWOOF405HD, FLYWOOF405PRO, FRSKYF405, HAKRCH743, NEXUS, PAURCF405V2, SDMODELH7V2, SimplyFly H7, SOLOGOODF722, TBS_LUCID_H7_OEM, and TBS_LUCID_H7_V3
Changed 6
  • GPS update rate is now optimized based on hardware type and number of active constellations
  • Position estimator improved for better multicopter position hold accuracy in poor or fluctuating GPS signal
  • OSD improvements including post-disarm stats, multifunction mode expansion, and toilet-bowl compass deviation warning
  • gps_ublox_nav_hz default changed from 10 to 8 Hz
  • gps_ublox_use_galileo and gps_ublox_use_beidou now default to ON
  • FLYINGRCF4WINGMINI gyro rotation corrected requiring re-do of accelerometer alignment
Fixed 3
  • SDIO blocking delays and state management issues on problematic SD cards
  • WP JUMP and cross-track tracking issues in fixed-wing navigation
  • NULL serial port crash risk when GPS provider is changed without reboot

INAV 9.1.0

Welcome to INAV 9.1.0

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

Contact other pilots, share experiences, suggestions and ask for help on:

INAV 9.1 is primarily a maintenance release focused on reliability improvements, safety fixes, and GPS accuracy. Since 9.0.1: 46 fixes and 76 new features/enhancements, including 19 new hardware targets. It contains no incompatible settings changes — your 9.0.x diff all will load cleanly.

For full PR-by-PR detail, see the wiki release notes.


Upgrading from INAV 9.0.x
  1. Download and install the new INAV 9.1 Configurator
  2. Backup your configuration: CLI → diff all → save to file
  3. Flash INAV 9.1.0 — Full Chip Erase is NOT required when upgrading from 9.0.x
  4. Restore settings from CLI or use the Keep current settings option

Upgrading from INAV 8.x
  1. Download and install the new INAV 9.1 Configurator
  2. Backup configuration: CLI → diff all → save to file
  3. Flash INAV 9.1.0 WITH Full Chip Erase enabled
  4. Load your 8.x diff into the CLI; note any settings shown in RED
  5. Use the INAV CLI Update Tool or manually update incompatible settings from the 9.0.0 release notes
  6. See Upgrading from an older version for full instructions

[!NOTE] The INAV 9.1 Configurator includes a settings migration tool in the CLI tab that can assist with upgrading from older versions.


⚠️ Important Notes for 9.1
FLYINGRCF4WINGMINI alignment change

If you have the FLYINGRCF4WINGMINI, you will need to re-do the accelerometer alignment, as the gyro rotation has been corrected.

GPS Default Settings Changed

Two GPS defaults have changed. These only affect you if you never explicitly set them in your configuration (i.e., they are not in your diff all):

  • gps_ublox_nav_hz default changed from 10 → 8 Hz. Lower rate allows more satellite constellations to be tracked for better accuracy, especially on M8/M9 modules. If you want to keep 10 Hz, add set gps_ublox_nav_hz = 10 to your diff.
  • gps_ublox_use_galileo and gps_ublox_use_beidou now default to ON. More constellations generally improves position accuracy.
Position Estimator — Altitude Controller Gains

[!WARNING] If you have increased nav_mc_pos_z_p or nav_mc_vel_z_p above their default values since INAV 7.1, it is advisable to lower those gains or re-tune them to avoid possible throttle oscillations in navigation modes that control altitude (WP, Cruise, RTH, and forward-flight Poshold).

The improved position estimator relies more on accelerometer weighting, so ensure your multicopter or VTOL is free from propeller and motor vibrations. See Multirotor filter setup for tips.


Highlights
GNSS Constellation and Update Rate

INAV now provides an optimized GPS update rate based on your hardware type (M8, M9, M10) and the number of active constellations. PR #11262

Multicopter Magless Heading

Pilots flying without a compass can now point the front of their multicopter or VTOL toward a known North heading before takeoff. PR #11529

Position Estimator Improvements

Several changes improve multicopter position hold accuracy when GPS signal is poor or fluctuating. #11270, #11322, #11387

OSD Improvements

Post-disarm stats, Multifunction mode expansion, toilet-bowl compass deviation warning, and Surface mode/Geozone message improvements. #11506, #11308, #10854


New Hardware Support

New Sensors: ICM-45686 IMU, MS5525DSO airspeed sensor, SSD1315 OLED display, LSM6DSV16X/LSM6DSK320X accgyro

New Flash Storage: XT25F128F, MX35LF2G

19 New Targets: AIKONF4V2, AXISFLYINGH743PRO, BLADE_F4, BLUEBERRYH743, BLUEBERRYF405, Brahma H7, DAKEFPVH743_SLIM, FlyDragon Pro, FLYWOOF405HD, FLYWOOF405PRO, FRSKYF405, HAKRCH743, NEXUS (Original), PAURCF405V2, SDMODELH7V2, SimplyFly H7, SOLOGOODF722, TBS_LUCID_H7_OEM, TBS_LUCID_H7_V3


Changes Since 9.1.0-RC1
  • Fixed SDIO blocking delays and state management issues on problematic SD cards (#11674)
  • Fixed WP JUMP and cross-track tracking issues in fixed-wing nav (#11640, #11648)
  • Fixed a NULL-serial-port crash risk when the GPS provider is changed without reboot (#11634)
  • Fixed ICM-42688P/42686P AAF frequency overflow (#11682)
  • Added 3 new targets: DAKEFPVH743_SLIM, SOLOGOODF722, AXISFLYINGH743PRO
  • Added LSM6DSV16X/LSM6DSK320X accgyro driver support (#11694)
  • Allow UART pin swap on H7 targets (#11687)
  • Several target-specific DMA/UART/telemetry fixes (AEDROXH7, JHEMCUF435, DAKEFPVH743PRO, DAKEFPVF405)

Full list: wiki release notes (see "Since 9.1.0-RC1" section)


Full Changelog: https://github.com/iNavFlight/inav/compare/9.0.1...9.1.0 Wiki Release Notes: https://github.com/iNavFlight/inav/wiki/9.1.0-Release-Notes

View originalPermalink
How 9.1.0 went
9.1.0-RC1Pre-release

INAV 9.1.0-RC1 release candidate for testing

Added 2
  • Multicopter magless heading mode allowing navigation without a compass by pointing the aircraft toward known North before takeoff
  • Toilet-bowl compass deviation warning added to Poshold multicopter mode
Changed 6
  • GPS ublox navigation rate default changed from 10 Hz to 8 Hz to allow tracking more satellite constellations for better accuracy
  • GPS ublox Galileo and Beidou constellation support now enabled by default
  • Position estimator improved to enhance multicopter position hold accuracy during poor or fluctuating GPS signal
  • OSD post-disarm stats now correctly display CRSF RX data, saving settings, and disarmed by advisories on HD displays
  • OSD multifunction mode expanded with battery voltage and capacity warnings, pitot failure alerts, and compass calibration indicators
  • Surface mode and Geozone system messages improved
Fixed 3
  • Servos no longer output wrong position when disarmed with reversed throttle mix
  • RTH Trackback flight controller lockup in certain scenarios prevented
  • Motor 1 random spin-up after disarming with BLHeli_32 32.9 and earlier firmware fixed

INAV 9.1.0

Welcome to INAV 9.1.0-RC1

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

Contact other pilots, share experiences, suggestions and ask for help on:

This is a Release Candidate. RC builds are for testing purposes. If you find issues, please report them on GitHub Issues.

INAV 9.1 is primarily a maintenance release focused on reliability improvements, safety fixes, and GPS accuracy. It contains no incompatible settings changes — your 9.0.x diff all will load cleanly.


[!NOTE] The INAV 9.1 Configurator includes a settings migration tool in the CLI tab that can assist with upgrading from older versions (7.0+).

Manually Upgrading from INAV 9.0.x
  1. Download and install the new INAV 9.1 Configurator
  2. Backup your configuration: CLI → diff all → save to file
  3. Flash INAV 9.1.0 — Full Chip Erase is NOT required when upgrading from 9.0.x
  4. Restore settings from CLI or use the Keep current settings option

Manually Upgrading from INAV 8.x
  1. Download and install the new INAV 9.1 Configurator
  2. Backup configuration: CLI → diff all → save to file
  3. Flash INAV 9.1.0 WITH Full Chip Erase enabled
  4. Load your 8.x diff into the CLI; note any settings shown in RED
  5. Use the INAV CLI Update Tool or manually update incompatible settings from the 9.0.0 release notes
  6. See Upgrading from an older version for full instructions

⚠️ Important Notes for 9.1
GPS Default Settings Changed

Two GPS defaults have changed. These only affect you if you never explicitly set them in your configuration (i.e., they are not in your diff all):

  • gps_ublox_nav_hz default changed from 10 → 8 Hz. Lower rate allows more satellite constellations to be tracked for better accuracy, especially on M8/M9 modules. If you want to keep 10 Hz, add set gps_ublox_nav_hz = 10 to your diff.
  • gps_ublox_use_galileo and gps_ublox_use_beidou now default to ON. More constellations generally improves position accuracy.
Position Estimator — Altitude Controller Gains

[!WARNING] If you have increased nav_mc_pos_z_p or nav_mc_vel_z_p above their default values since INAV 7.1, it is advisable to lower those gains or re-tune them to avoid possible throttle oscillations in navigation modes that control altitude (WP, Cruise, RTH, and forward-flight Poshold).

The improved position estimator relies more on accelerometer weighting, so ensure your multicopter or VTOL is free from propeller and motor vibrations. See Multirotor filter setup for tips.


Highlights
GNSS Constellation and Update Rate

INAV now provides an optimized GPS update rate based on your hardware type (M8, M9, M10) and the number of active constellations. More constellations at lower update rates generally gives better position accuracy. Configure in the Configurator GPS Tab. PR #11262

Multicopter Magless Heading

Pilots flying without a compass can now point the front of their multicopter or VTOL toward a known North heading before takeoff, allowing navigation modes to activate without first flying a short distance to acquire a GPS course. PR #11529

Position Estimator Improvements

Several changes improve multicopter position hold accuracy when GPS signal is poor or fluctuating, with small benefits for fixed-wing navigation as well. #11270, #11322, #11387

OSD Improvements
  • Post-disarm stats now correctly display CRSF RX data, Saving Setting, and Disarmed by advisories on HD displays. #11506
  • Multifunction mode expanded with battery voltage/capacity warnings, pitot failure alerts, and compass calibration. #11308, #11543
  • Toilet-bowl compass deviation warning in Poshold (multicopter). #10854
  • Surface mode and Geozone system messages improved. #11425

Prominent Bug Fixes
  • Reversed throttle servo safety fix — Fix servos outputting wrong position when disarmed with reversed throttle mix. #11318
  • RTH Trackback lockup fix — Prevents flight controller locking up in some RTH Trackback scenarios. #11393
  • 4-in-1 ESC random motor spin-up — Fixes motor 1 random spin-up after disarming with BLHeli_32 32.9 and earlier firmware. #11260
  • Althold manual climb rate — Climb rate now correctly meets the target setpoint. #11359
  • CRSF telemetry corruption — Fix airspeed, RPM, and temperature telemetry corrupting the data stream. #11189
  • SD card lockup — Timeout guards for SD card SPI and SDIO drivers when using problematic SD cards. #11321
  • USB VCP disconnect lockup — Fix USB serial port lockup on device disconnect. #11351
  • MSP over telemetry — Fix multi-frame request assembly blocking and reduce congestion. #11478, #11481
  • Blackbox overflow — Prevents overflow in blackbox acceleration and vibration fields. #11447
  • Virtual pitot GPS failure — Better handling of virtual pitot when GPS hardware fails. #11441
  • Surface mode landing detection — Inhibits landing detection in Surface mode unless AGL altitude is trusted and below 50 cm. #11425

New Hardware Support
New Sensors
New Flash Storage
New Targets

AIKONF4V2, BLADE_F4, BLUEBERRYH743, BLUEBERRYF405, Brahma H7, FlyDragon Pro, FLYWOOF405HD, FLYWOOF405PRO, FRSKYF405, HAKRCH743, NEXUS (Original), PAURCF405V2, SDMODELH7V2, SimplyFly H7, TBS_LUCID_H7_OEM, TBS_LUCID_H7_V3


Full Changelog: https://github.com/iNavFlight/inav/compare/9.0.1...9.1.0-RC1 Wiki Release Notes: https://github.com/iNavFlight/inav/wiki/9.1.0-Release-Notes

View originalPermalink
How 9.1.0-RC1 went
9.0.1

INAV 9.0.1

Added 3
  • Add support for AIKONF4V3 flight controller
  • Add support for CoreWing F405 Wing V2
  • Add build-time Parameter Group struct size validation to catch EEPROM-breaking changes before release
Fixed 7
  • Fix missing frame length verification when handling CRSF_FRAMETYPE_MSP_REQ/MSP_WRITE, preventing potential buffer issues
  • Fix position and velocity corrections for improved GPS hold and navigation accuracy
  • Relate correction sanity limit to loop rate for consistent behavior across different loop rates
  • Fix CLI dfu command on H743/H750 targets which would reboot as VCP instead of entering DFU mode
  • Fix feedback loop where DShot beeper confirmation prevents re-arming by resetting the guard timer on each attempt
  • Fix mathematical inconsistency where AGL velocity update used squared acceleration weight factor while altitude update used linear weight factor
  • Fix rangefinder driver for TeraRanger Evo sensors

INAV 9.0.1

Hello and welcome to INAV 9.0.1

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

Contact other pilots, share experiences, suggestions and ask for help on:

This is a patch release with bug fixes and new target support. No settings have been renamed or removed, so your 9.0.0 configuration will work without changes.


Changes since 9.0.0
Bug Fixes
  • CRSF frame length validation - Fix missing frame length verification when handling CRSF_FRAMETYPE_MSP_REQ/MSP_WRITE, preventing potential buffer issues (#11210, @VoodooChild99)
  • Position estimator corrections - Fix position and velocity corrections for improved GPS hold and navigation accuracy. Addresses issues #10360, #10391, #10893, #11049 (#11270, @breadoven)
  • Position estimator sanity limit - Relate correction sanity limit to loop rate for consistent behavior across different loop rates (#11270, @breadoven)
  • STM32H7 DFU mode - Fix CLI dfu command on H743/H750 targets which would reboot as VCP instead of entering DFU mode (#11295, @sensei-hacker)
  • DShot beeper arming loop - Fix feedback loop where DShot beeper confirmation prevents re-arming by resetting the guard timer on each attempt (#11306, @sensei-hacker)
  • Surface mode Z velocity - Fix mathematical inconsistency where AGL velocity update used squared acceleration weight factor while altitude update used linear weight factor (#11255, @sensei-hacker)
  • Terra Ranger Evo - Fix rangefinder driver for TeraRanger Evo sensors (#11311, @error414)
New Targets
  • AIKONF4V3 - Aikon F405 V3 flight controller (#11284, @sensei-hacker)
  • COREWINGF405WINGV2 - CoreWing F405 Wing V2 (#11291, @MakeSomeFakeNews)
Build & CI
  • PG struct validation - Add build-time Parameter Group struct size validation to catch EEPROM-breaking changes before release (#11283, @sensei-hacker)

Upgrading from INAV 9.0.0

  1. Download and install the new INAV Configurator 9.0.1
  2. Backup configuration with CLI diff all command
  3. Flash INAV 9.0.1 - Full Chip Erase is not required when upgrading from 9.0.0
  4. Restore your settings from CLI or select Keep current settings from the defaults pop-up

⚠️ Important Upgrade Information (from INAV 8.x)
Flashing Notes
  • Full chip erase REQUIRED when upgrading from 8.x
  • Back up your configuration with diff all before flashing
  • Review 9.0.0 Release Notes for breaking changes and incompatible settings
Upgrading from INAV 8.0
  1. Download and install the new INAV Configurator 9.0.1
  2. Backup configuration with CLI diff all command or use the Diff All and Save to file buttons.
  3. Flash INAV 9.0.1 WITH Full Chip Erase option enabled
  4. Load your 8.0 Diff settings in to the CLI. Then take a note or write down the incompatible settings changes marked in RED.
  5. Then copy your 8.0 Diff file and rename it 9.0. And edit the old incompatible settings.
  6. Go to CLI and load your edited INAV 9.0 Diff
  7. Done

[!Tip] Concerning step 6. It can be a safer option to load your Diff All settings in two parts if you are using multiple Profiles. e.g. Control, Mixer or Battery. This can be done by copying and loading the Diff All text setting from the top, down to the bottom of the # master settings category. Then load that into the CLI and press enter. Once it has written, press the Save Settings button. Wait until it reboots and go back to the CLI tab again, then copy and load the rest of the Diff All text file. Starting from the # Control_profile 1 settings category, down to the bottom. Press enter. Once written, it will save by itself.

Diff update tool

Rather than steps 4 and 5 above. You can try this diff update tool. This is a work in progress. Currently it will try to update version 7 or later diffs to version 8 or later. Just paste your full diff all (not dump) in to the tool. Select the INAV version you're upgrading to. Then press the button. It will create a new diff for you and give you warnings about anything you should check.

INAV CLI Update Tool

Upgrading from older versions

Please follow the instructions on this page.


Major Changes in INAV 9.x Since 8.0.1
JavaScript Logic Conditions
Navigation & Flight Control
  • Improved fixed-wing altitude control with two selectable methods
  • Enhanced position estimator Z velocity accuracy
  • Position estimator corrections fix for improved GPS hold accuracy
  • Temperature compensation for accelerometers and barometers
  • Improved VTOL tilt-rotor support with servo speed filtering
  • Enhanced magless multicopter yaw estimation
  • Improved fixed-wing flight detection for auto-disarm
  • Airspeed based PID Attenuation (APA)
  • GPS-based pitot sensor validation with automatic fallback to virtual airspeed on sensor failure
OSD & Telemetry
  • Rebranded "Vario" as Vertical Speed Indicator
  • Enhanced ADSB aircraft warnings with extended OSD glyphs
  • New vertical digital throttle gauge display
  • Barometer altitude integrated into CRSF telemetry
  • New OSD elements: VERTICAL_SPEED_INDICATOR, ADSB_WARNING, ADSB_INFO, THROTTLE_GAUGE, NAV_MIN_GROUND_SPEED
  • Increased flexibility for fixedwing minimum ground speed settings
  • SmartPort telemetry: Configure sensors for OpenTX widgets and ETHOS dashboards
Maps & Mission Planning
  • Bing Maps replaced with Esri World Imagery (no API key needed)
  • Better imagery quality and reliability
Programming & Logic
  • Programming Framework enables dynamic minimum ground speed adjustment
  • Extended MSP override capability to 32-bit channels
  • Add MSP2_INAV_SET_GVAR command for global variable manipulation
  • Add MSP2_INAV_LOGIC_CONDITIONS_CONFIGURED command for optimized loading
Hardware Support
  • New Targets (34+ additional flight controller targets including):
    • AIKONF4V3: Aikon F405 V3
    • COREWINGF405WINGV2: CoreWing F405 Wing V2
    • VANTAC_RF007: FrSky/Rotorflight Vantac RF007 with magnetometer support
    • OMNIBUSF4V3_ICM: New target variant
    • BLUEBERRYF435WING target added
    • RADIOLINKF722: Add W25Q128 flash chip support
  • New Sensors:
    • QMC5883P magnetometer driver
    • Puya PY25Q128HA flash chip support (16MB SPI NOR)
Bug Fixes
  • USB MSC (Mass Storage): Fix H743 USB MSC regression, add timeout protection and retry logic for SD card access
  • Power Limiting: Fix power limiting treating 0 (disabled) as less than continuous current
  • CRSF Telemetry: Fix buffer overflow and dashboard sizeof bug
  • CRSF MSP: Fix missing frame length verification for CRSF MSP requests
  • Logic Conditions: Guard against increasing max conditions beyond 64
  • Critical Bugs: Fix integer overflow and buffer overrun issues (cppcheck)
  • Blackbox: Fix MOTORS condition mismatch causing null byte padding in logs
  • STM32H7 DFU: Fix CLI dfu command on H743/H750 targets
  • DShot Beeper: Fix arming feedback loop caused by DShot beeper guard timer
  • AGL Velocity Estimation: Fix squared acceleration weight factor inconsistency in AGL velocity update
  • Terra Ranger Evo: Fix rangefinder driver for TeraRanger Evo sensors
  • Mission control waypoint landing functionality fixes
  • Servo mixer overflow issues fixed
  • Fixedwing level pitch trim accuracy improvements
Performance & Improvements
  • Flight counter addition to statistics tracking
  • Airspeed TPA: Add pitch angle aware TPA with airspeed support
  • Raise pitot_lpf_milli_hz default for better pitot performance
  • MSP_REBOOT DFU mode parameter for entering bootloader via MSP
Localization
  • Ukrainian language now available
  • Expanded language support across configurator
Build/CI & Development
  • Include cygwin1.dll in Windows SITL artifact (fixes Windows SITL)
  • Build-time Parameter Group struct size validation
  • Add maintenance-9.x to nightly build workflow
  • MSP Protocol: Deprecate MSP command 8226, add enum parsing improvements
  • Add maintenance branch workflow documentation
  • Add release creation guide
Documentation
  • Add Power and Current Limiting documentation
  • Update JavaScript Programming documentation for namespaced syntax
  • Improve DEBUG mode documentation
  • Add prominent configurator download links to README
  • Update OSD element documentation
  • Fix Settings.md documentation to match settings.yaml definitions
  • Update LedStrip.md documentation

Full Changelog (since 9.0.0): https://github.com/iNavFlight/inav/compare/9.0.0...9.0.1 Full Changelog (since 8.0.1): https://github.com/iNavFlight/inav/compare/8.0.1...9.0.1 Wiki Release Notes: https://github.com/iNavFlight/inav/wiki/9.0.0-Release-Notes

View originalPermalink
How 9.0.1 went
9.0.0

INAV 9.0.0

INAV 9.0.0

Hello and welcome to INAV 9.0.0

Stable Release

This is the stable 9.0.0 release. For a complete list of changes since 8.0.1, please see the 9.0.0 Release Notes Wiki.


⚠️ Important Upgrade Information
Flashing Notes
  • Full chip erase REQUIRED when upgrading from 8.x
  • Back up your configuration with diff all before flashing
  • Review 9.0.0 Release Notes for breaking changes and incompatible settings
Upgrading from INAV 8.0
  1. Download and install the new INAV Configurator 9.0
  2. Backup configuration with CLI diff all command or use the Diff All and Save to file buttons.
  3. Flash INAV 9.0 WITH Full Chip Erase option enabled
  4. Load your 8.0 Diff settings in to the CLI. Then take a note or write down the incompatible settings changes marked in RED.
  5. Then copy your 8.0 Diff file and rename it 9.0. And edit the old incompatible settings.
  6. Go to CLI and load your edited INAV 9.0 Diff
  7. Done

[!Tip] Concerning step 6.
It can be a safer option to load your Diff All settings in two parts if you are using multiple Profiles. e.g. Control, Mixer or Battery.
This can be done by copying and loading the Diff All text setting from the top, down to the bottom of the # master settings category. Then load that into the CLI and press enter. Once it has written, press the Save Settings button.
Wait until it reboots and go back to the CLI tab again, then copy and load the rest of the Diff All text file. Starting from the # Control_profile 1 settings category, down to the bottom. Press enter. Once written, it will save by itself.

Diff update tool

Rather than steps 4 and 5 above. You can try this diff update tool. This is a work in progress. Currently it will try to update version 7 or later diffs to version 8 or later. Just paste your full diff all (not dump) in to the tool. Select the INAV version you're upgrading to. Then press the button. It will create a new diff for you and give you warnings about anything you should check.

INAV CLI Update Tool

Upgrading from older versions

Please follow the instructions on this page.


Changes in 9.0.0 (since RC4)
New Features
  • Pitot Sensor Validation: GPS-based pitot sensor validation with automatic fallback to virtual airspeed on sensor failure (#11222)
    • Adds defensive airspeed clamping to prevent division issues
    • Improves safety for fixed-wing aircraft with pitot sensors
  • MSP_REBOOT DFU Mode: Add optional DFU mode parameter to MSP_REBOOT command for entering bootloader (#11238)
    • Adds payload size validation for command safety
Bug Fixes
  • Blackbox: Fix MOTORS condition mismatch causing null byte padding in logs (#11220)
  • APA (Airspeed Pitch Assist): Improve safety by reducing I-term scaling and maximum gain limits
  • Airspeed TPA: Adjust TPA parameters for better fixed-wing aircraft performance
  • Documentation: Fix Settings.md documentation to match settings.yaml definitions
Target Changes
  • VANTAC_RF007: Add new FrSky/Rotorflight Vantac RF007 target with magnetometer support (#11082)
  • RADIOLINKF722: Add W25Q128 flash chip support (#11232)
Documentation
  • Blackbox DEBUG: Improve DEBUG mode documentation (#11239)
  • README: Add prominent configurator download links (#11221)
  • OSD Elements: Update OSD element documentation
Build/CI
  • Nightly Builds: Add maintenance-9.x to nightly build workflow (#11204)
  • MSP Protocol: Deprecate MSP command 8226, add enum parsing improvements (#11185)

Major Changes in 9.0 Since 8.0.1
JavaScript Logic Conditions
Navigation & Flight Control
  • Improved fixed-wing altitude control with two selectable methods
  • Enhanced position estimator Z velocity accuracy
  • Temperature compensation for accelerometers and barometers
  • Improved VTOL tilt-rotor support with servo speed filtering
  • Enhanced magless multicopter yaw estimation
  • Improved fixed-wing flight detection for auto-disarm
  • Airspeed based PID Attenuation (APA)
OSD & Telemetry
  • Rebranded "Vario" as Vertical Speed Indicator
  • Enhanced ADSB aircraft warnings with extended OSD glyphs
  • New vertical digital throttle gauge display
  • Barometer altitude integrated into CRSF telemetry
  • New OSD elements: VERTICAL_SPEED_INDICATOR, ADSB_WARNING, ADSB_INFO, THROTTLE_GAUGE, NAV_MIN_GROUND_SPEED
  • Increased flexibility for fixedwing minimum ground speed settings
  • SmartPort telemetry: Configure sensors for OpenTX widgets and ETHOS dashboards
Maps & Mission Planning
  • Bing Maps replaced with Esri World Imagery (no API key needed)
  • Better imagery quality and reliability
Programming & Logic
  • Programming Framework enables dynamic minimum ground speed adjustment
  • Extended MSP override capability to 32-bit channels
  • Add MSP2_INAV_SET_GVAR command for global variable manipulation
  • Add MSP2_INAV_LOGIC_CONDITIONS_CONFIGURED command for optimized loading
Hardware Support
  • New Targets (32+ additional flight controller targets including):
    • VANTAC_RF007: New FrSky/Rotorflight Vantac RF007 target with magnetometer support
    • OMNIBUSF4V3_ICM: New target variant
    • BLUEBERRYF435WING target added
    • RADIOLINKF722: Add W25Q128 flash chip support
  • New Sensors:
    • QMC5883P magnetometer driver
    • Puya PY25Q128HA flash chip support (16MB SPI NOR)
Bug Fixes
  • USB MSC (Mass Storage): Fix H743 USB MSC regression, add timeout protection and retry logic for SD card access
  • Power Limiting: Fix power limiting treating 0 (disabled) as less than continuous current
  • CRSF Telemetry: Fix buffer overflow and dashboard sizeof bug
  • Logic Conditions: Guard against increasing max conditions beyond 64
  • Critical Bugs: Fix integer overflow and buffer overrun issues (cppcheck)
  • Blackbox: Fix MOTORS condition mismatch causing null byte padding in logs
  • Mission control waypoint landing functionality fixes
  • Servo mixer overflow issues fixed
  • Fixedwing level pitch trim accuracy improvements
Performance & Improvements
  • Flight counter addition to statistics tracking
  • Airspeed TPA: Add pitch angle aware TPA with airspeed support
  • Raise pitot_lpf_milli_hz default for better pitot performance
Localization
  • Ukrainian language now available
  • Expanded language support across configurator
Build/CI & Development
  • Include cygwin1.dll in Windows SITL artifact (fixes Windows SITL)
  • Add maintenance-9.x to nightly build workflow
  • MSP Protocol: Deprecate MSP command 8226, add enum parsing improvements
  • Add maintenance branch workflow documentation
  • Add release creation guide
Documentation
  • Add Power and Current Limiting documentation
  • Update JavaScript Programming documentation for namespaced syntax
  • Improve DEBUG mode documentation
  • Add prominent configurator download links to README
  • Update OSD element documentation
  • Fix Settings.md documentation to match settings.yaml definitions
  • Update LedStrip.md documentation

Full Changelog: https://github.com/iNavFlight/inav/compare/8.0.1...9.0.0

Wiki Release Notes: https://github.com/iNavFlight/inav/wiki/9.0.0-Release-Notes

View originalPermalink
How 9.0.0 went
9.0.0-RC4Pre-release

INAV 9.0.0-RC4 release candidate for testing

INAV 9.0.0

Hello and welcome to INAV 9.0.0

INAV 9.0.0-RC4 Firmware Release Notes

Release Candidate 4 for Testing This is a pre-release for testing purposes. Please report issues on GitHub.

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

Contact other pilots, share experiences, suggestions and ask for help on:

[!Note] Make sure to remove props and check your motor and servo outputs before powering your upgraded flight controller with a battery for the first time. The changes to enable flexible motor and servo allocation may change what outputs your configuration uses by default.

Known Issues in 9.0
  • Please read INAV Github issue reports for outstanding problems that were not resolved in time for the release.

Upgrading from a previous release

Upgrading from INAV 8.0
  1. Download and install the new INAV Configurator 9.0
  2. Backup configuration with CLI diff all command or use the Diff All and Save to file buttons.
  3. Flash INAV 9.0 WITH Full Chip Erase option enabled
  4. Load your 8.0 Diff settings in to the CLI. Then take a note or write down the incompatible settings changes marked in RED.
  5. Then copy your 8.0 Diff file and rename it 9.0. And edit the old incompatible settings.
  6. Go to CLI and load your edited INAV 9.0 Diff
  7. Done

[!Tip] Concerning step 6.
It can be a safer option to load your Diff All settings in two parts if you are using multiple Profiles. e.g. Control, Mixer or Battery.
This can be done by copying and loading the Diff All text setting from the top, down to the bottom of the # master settings category. Then load that into the CLI and press enter. Once it has written, press the Save Settings button.
Wait until it reboots and go back to the CLI tab again, then copy and load the rest of the Diff All text file. Starting from the # Control_profile 1 settings category, down to the bottom. Press enter. Once written, it will save by itself.

Diff update tool

Rather than steps 4 and 5 above. You can try this diff update tool. This is a work in progress. Currently it will try to update version 7 or later diffs to version 8 or later. Just paste your full diff all (not dump) in to the tool. Select the INAV version you're upgrading to. Then press the button. It will create a new diff for you and give you warnings about anything you should check.

INAV CLI Update Tool

Upgrading from older versions

Please follow the instructions on this page.

Changes in RC4 (since RC3)
Bug Fixes
  • USB MSC (Mass Storage): Fix H743 USB MSC regression, add timeout protection and retry logic for SD card access
  • Power Limiting: Fix power limiting treating 0 (disabled) as less than continuous current
  • CRSF Telemetry: Fix buffer overflow and dashboard sizeof bug
  • Airspeed TPA: Fix floating-point division in throttle adjustment calculation
  • Logic Conditions: Guard against increasing max conditions beyond 64
  • Critical Bugs: Fix integer overflow and buffer overrun issues (cppcheck)
New Features
  • Puya Flash Support: Add support for Puya PY25Q128HA flash chip (16MB SPI NOR)
  • Airspeed TPA: Add pitch angle aware TPA with airspeed support
  • MSP Protocol: Add MSP2_INAV_LOGIC_CONDITIONS_CONFIGURED command for optimized loading
  • Pitot: Raise pitot_lpf_milli_hz default
Target Changes
  • BLUEBERRYF435WING: Disable dynamic notch filter by default
  • OMNIBUSF4V3_ICM: New target variant
Documentation
  • Add Power and Current Limiting documentation
  • Update JavaScript Programming documentation for namespaced syntax
  • Add maintenance branch workflow documentation
Build/CI
  • Include cygwin1.dll in Windows SITL artifact (fixes Windows SITL)
Testing Focus for RC4

Please test and report issues with:

  1. USB Mass Storage on H7 boards
  2. Power limiting functionality
  3. Airspeed TPA if using pitot
  4. Puya PY25Q128HA flash chip detection
  5. Windows SITL functionality

Highlights of the INAV 9 series:

Fixedwing airspeed APA/TPA support

Fixeding aircraft can now use a Pitot sensor or virtual airspeed to dynamically adjust the PIDFF gains inflight. This adds the advantage of a tighter stabilization response across the whole flight speed envelope.
Full details of setup and tuning can be found here. Under the topics APA and TPA and Pitch angle. Do not tune your PIFF too tight!

Minimum ground speed flexibility

Via the Programming Framework. It allows the user to have more flexibility when flying in higher wind conditions. To ensure the airplane makes headway.
In addition, you can program it to dynamically adjust the minimum ground speed according to the Wind direction and Wind speed.
More information can be found in this link.

OSD throttle gauge

Allows the pilot to see the throttle as a vertical digital gauge.
Functional information can be found here in the PR link

Fixed wing altitude controller

Changes have been made to improve its operation on a broader range of airframes. One of two methods can be selected to better suited different climb rate conditions.

  • Altitude Velocity controller nav_fw_alt_use_position = OFF (default)
  • Altitude Position controller nav_fw_alt_use_position = ON

See here for more information. And the required PID tune settings for either control method.

Position estimator improvements

Changes to the position estimator are mainly intended to improve issues with Z velocity accuracy but also includes code clean-ups and fixes.
There has also been setting changes added with the code alterations. Depending on the sensor data quality. It may be beneficial in some cases to revert your settings back to the old ones, or somewhere in between the two.

Name CLIOldNew
w_z_baro_v0.10.35
inav_w_z_gps_p0.20.35
inav_w_z_gps_v0.10.35

More information directly related to the changes can be found here.

Sensor addition

QMC5883P magnetometer driver

Other changes:
  • Barometer altitude added to CRSF telemetry.
  • Better Fixed wing flight detection to handle auto disarm on landing. PR link
  • Lulu filter fixes and improvements. PR Link
  • Accelerometer and Barometer temperature compensation for better altitude control - Calibration method and PR link.
  • Add flights counter to stats PR link
  • Servo speed filter for tilt-rotor VTOL. PR link
  • Enhance VTOL tilt-rotor support. To assist transition smoothness PR link
  • Better air cushion compensation for multicopters and rangefinder fix. PR link
  • Improved yaw estimation for magless multicopter operation. PR link - The default ahrs_acc_ignore_rate setting has also been lowered from 20 to 15.
  • Mavlink clean-ups and fixes - 11060 11061 11062
  • MSP changes - 11146 11171 11093 11032 10571 11099
  • JavaScript support tab for INAV programming framework. PR link Docs update
OSD/CMS changes
NameFunction
OSD_VERTICAL_SPEED_INDICATORNew name for OSD vario
OSD_ADSB_WARNINGCMS stick menu
OSD_ADSB_INFOCMS stick menu
OSD_THROTTLE_GAUGEOSD
OSD_NAV_MIN_GROUND_SPEEDOSD
Font changes

The Minimum Ground Speed and Throttle Gauge additions to the OSD require new font symbols. The analogue fonts are up-to-date. However, there may be time needed for this to propagate to the digital systems. For HDZero and Walksnail Avatar fonts should be available soon. However DJI may take longer as they need to update the font built in to their firmware.

Functions
FunctionNameValues
BatterySMARTPORTvbat_meter_type , current_meter_type
Programming FrameworkGimbal SensitivityScales Operand A from [-16 : 15]
Programming FrameworkOverride Minimum Ground SpeedWhen active, sets the minimum ground speed to the value specified in Operand A [m/s]. Minimum allowed value is set in nav_min_ground_speed. Maximum value is 150
Programming FrameworkMinimum Ground Speed [m/s]The current minimum ground speed allowed in navigation flight modes
Programming FrameworkHorizontal Wind Speed [cm/s]Estimated wind speed. If the wind estimator is unavailable or the wind estimation is invalid, -1 is returned
Programming FrameworkWind Direction [deg]Estimated wind direction. If the wind estimator is unavailable or the wind estimation is invalid, -1 is returned
Programming FrameworkRelative Wind Offset [deg]The relative offset between the heading of the aircraft and the heading of the wind. 0 indicates flying directly into a headwing. Negative numbers are a left offset. For example, if -20° is shown, turning right will correct towards 0. If the wind estimator is unavailable or the wind estimation is invalid, 0 is returned

CLI

New Settings
NameDescription
blackbox_arm_controlCan extend blackbox logging up to 60 seconds after disarming
acc_temp_correctionAccelerometer temperature correction factor to compensate for acceleromter drift
baro_temp_correctionBaro temperature correction factor to compensate for Baro altitude drift
osd_adsb_warning_styleADSB warning element style - COMPACT or EXTENDED
nav_fw_alt_use_positionUse position for fixed wing altitude control rather than velocity
osd_pan_servo_range_decadegreesReplaces the name of the old osd_pan_servo_pwm2centideg
mavlink_autopilot_typeSets the Mavlink telemetry type - GENERIC or ARDUPILOT
transition_pid_mmix_multiplier_pitchIntended to solve pitch coupling in transtion mode on tilting rotor VTOL
transition_pid_mmix_multiplier_rollintended to solve roll/yaw coupling oscillation in transtion mode on tilting rotor VTOL
transition_pid_mmix_multiplier_yawIntended to solve yaw/roll coupling oscillation in transtion mode on tilting rotor VTOL
apa_powSets the strength and range of dynamic airspeed PID scaling
tpa_pitch_compensationSets the strength which pitch angle will override throttle dynamic PID scaling
New targets
  • BLUEBERRYF435WING
  • BLUEBERRYF435WING_SD
  • BOTWINGF405
  • BOTWINGF722
  • BRAHMA_F405
  • BROTHERHOBBYH743
  • BROTHERHOBBYF405V3
  • CORVON743V1
  • CORVON743V1
  • CORVON405V2
  • DAKEFPVF722X8
  • DAKEFPVH743PRO
  • DAKEFPVF435
  • HAPPYMODELF405
  • HUMMINGBIRD_FC305
  • FLYINGRCF4WINGMINI
  • FLYCOLORF4
  • FLYSPARKF4V4
  • FOXEERF405V2
  • JHEMCUF435
  • JHEMF435AIO
  • MICOAIR743AIO
  • ORBITH743
  • ORBITF435
  • ORBITF435_SD
  • RADIOLINKF405
  • SKYSTARSF405V2
  • TBS_LUCID_H7_WING
  • TBS_LUCID_H7_WING_MINI
  • SPEEDYBEEF405WINGV2
  • WARPF7
What's Changed

Full Changelog: https://github.com/iNavFlight/inav/compare/8.0.1...9.0.0

View originalPermalink
How 9.0.0-RC4 went
9.0.0-RC3Pre-release

INAV 9.0.0-RC3 release candidate for testing

INAV 9.0.0-RC3 Release Notes

INAV 9.0.0

Hello and welcome to INAV 9.0.0 RC3

This release candidate is for testing the new features and changes that will be part of the INAV 9.0.0 release soon

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

Contact other pilots, share experiences, suggestions and ask for help on:

[!Note] Make sure to remove props and check your motor and servo outputs before powering your upgraded flight controller with a battery for the first time. The changes to enable flexible motor and servo allocation may change what outputs your configuration uses by default.

Known Issues in 9.0
  • Please read INAV Github issue reports for outstanding problems that were not resolved in time for the release.

Upgrading from a previous release

Upgrading from INAV 8.0
  1. Download and install the new INAV Configurator 9.0
  2. Backup configuration with CLI diff all command or use the Diff All and Save to file buttons.
  3. Flash INAV 9.0 WITH Full Chip Erase option enabled
  4. Load your 8.0 Diff settings in to the CLI. Then take a note or write down the incompatible settings changes marked in RED.
  5. Then copy your 8.0 Diff file and rename it 9.0. And edit the old incompatible settings.
  6. Go to CLI and load your edited INAV 9.0 Diff
  7. Done

[!Tip] Concerning step 6.
It can be a safer option to load your Diff All settings in two parts if you are using multiple Profiles. e.g. Control, Mixer or Battery.
This can be done by copying and loading the Diff All text setting from the top, down to the bottom of the # master settings category. Then load that into the CLI and press enter. Once it has written, press the Save Settings button.
Wait until it reboots and go back to the CLI tab again, then copy and load the rest of the Diff All text file. Starting from the # Control_profile 1 settings category, down to the bottom. Press enter. Once written, it will save by itself.

Diff update tool

Rather than steps 4 and 5 above. You can try this diff update tool. This is a work in progress. Currently it will try to update version 7 or later diffs to version 8 or later. Just paste your full diff (not dump) in to the tool. Select the INAV version you're upgrading to. Then press the button. It will create a new diff for you and give you warnings about anything you should check.

INAV CLI Update Tool

Upgrading from older versions

Please follow the instructions on this page.

Changes in 9.0.0-RC3 (from RC2)

Full Changelog: https://github.com/iNavFlight/inav/compare/9.0.0-RC2...9.0.0-RC3


Overview

This release candidate introduces new features and improvements for testing before the official INAV 9.0.0 release. Users are advised to remove props and verify motor/servo outputs before first battery power-up, as flexible motor and servo allocation may alter default output configurations.

Key Highlights
Minimum Ground Speed Flexibility

The Programming Framework now enables dynamic adjustment of minimum ground speed based on wind conditions, allowing aircraft to maintain headway in challenging flight environments.

OSD Throttle Gauge

A new vertical digital throttle gauge display option provides pilots with real-time throttle visualization on-screen.

Fixed Wing Altitude Control

Two selectable altitude control methods accommodate different airframe types and climb rate requirements:

  • Altitude Velocity controller (default)
  • Altitude Position controller (alternative)
Position Estimator Improvements

Enhanced Z velocity accuracy through algorithm refinements and new default weighting parameters for barometric and GPS measurements.

Sensor Additions

New QMC5883P magnetometer driver support expands hardware compatibility.

Other Notable Changes
  • Barometer altitude integrated into CRSF telemetry
  • Improved fixed-wing flight detection for auto-disarm functionality
  • Temperature compensation for accelerometers and barometers
  • Flight counter addition to statistics tracking
  • Enhanced VTOL tilt-rotor support with servo speed filtering
  • Improved magless multicopter yaw estimation
  • Extended MSP override capability to 32-bit channels
CLI Updates

New Settings include blackbox arm control extension, temperature correction factors, ADSB warning styles, and VTOL transition PID multipliers.

New Flight Controller Targets: 32 additional targets now supported, including variants from Blueberry, DakeFPV, TBS, and others.

OSD/CMS Changes

New elements: OSD_VERTICAL_SPEED_INDICATOR, OSD_ADSB_WARNING, OSD_ADSB_INFO, OSD_THROTTLE_GAUGE, and OSD_NAV_MIN_GROUND_SPEED.

Upgrade Instructions

From INAV 8.0, users must perform full chip erase during flashing and reload configuration via CLI diff commands. Phased loading of multi-profile settings is recommended for safety.

Critical Renaming: PID Profile → Control Profile

The term "PID Profile" has been renamed to "Control Profile" throughout INAV 9.0 to better reflect that these profiles control more than just PID settings.

Renamed Settings
Old Name (8.0.x)New Name (9.0.0)Notes
controlrate_profileuse_control_profileSelects which control profile to use
mixer_pid_profile_linkingmixer_control_profile_linkingLinks mixer profile to control profile
osd_pan_servo_pwm2centidegosd_pan_servo_range_decadegreesPan servo range renamed for clarity
Removed Settings
Setting NameReasonReplacement
reboot_characterLegacy MSP reboot method removedUse standard MSP reboot command
View originalPermalink
How 9.0.0-RC3 went
9.0.0-RC2Pre-release

INAV 9.0.0-RC2 release candidate for testing

INAV 9.0.0

Hello and welcome to INAV 9.0.0 RC2

This release candidate is for testing the new features and changes that will be part of the INAV 9.0.0 release soon

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

Contact other pilots, share experiences, suggestions and ask for help on:

[!Note] Make sure to remove props and check your motor and servo outputs before powering your upgraded flight controller with a battery for the first time. The changes to enable flexible motor and servo allocation may change what outputs your configuration uses by default.

Known Issues in 9.0
  • Please read INAV Github issue reports for outstanding problems that were not resolved in time for the release.

Upgrading from a previous release

Upgrading from INAV 8.0
  1. Backup configuration with CLI diff all command or use the Diff All and Save to file buttons.
  2. Download and install the new INAV Configurator 9.0
  3. Flash INAV 9.0 WITH Full Chip Erase option enabled
  4. Load your 8.0 Diff settings in to the CLI. Then take a note or write down the incompatible settings changes marked in RED.
  5. Then copy your 8.0 Diff file and rename it 9.0. And edit the old incompatible settings.
  6. Now go to the Status Tab and press the Reset Setting button.
  7. Select Keep current settings from the defaults pop-up.
  8. Go to CLI and load your edited INAV 9.0 Diff
  9. Done

[!Tip] Concerning step 8.
It can be a safer option to load your Diff All settings in two parts if you are using multiple Profiles. e.g. Control, Mixer or Battery.
This can be done by copying and loading the Diff All text setting from the top, down to the bottom of the # master settings category. Then load that into the CLI and press enter. Once it has written, press the Save Settings button.
Wait until it reboots and go back to the CLI tab again, then copy and load the rest of the Diff All text file. Starting from the # Control_profile 1 settings category, down to the bottom. Press enter. Once written, it will save by itself.

Upgrading from older versions

Please follow the instructions on this page.

Highlights

Minimum ground speed flexibility

Via the Programming Framework. It allows the user to have more flexibility when flying in higher wind conditions. To ensure the airplane makes headway.
In addition, you can program it to dynamically adjust the minimum ground speed according to the Wind direction and Wind speed.
More information can be found in this link.

OSD throttle gauge

Allows the pilot to see the throttle as a vertical digital gauge.
Functional information can be found here in the PR link

Fixed wing altitude controller

Changes have been made to improve its operation on a broader range of airframes. One of two methods can be selected to better suited different climb rate conditions.

  • Altitude Velocity controller nav_fw_alt_use_position = OFF (default)
  • Altitude Position controller nav_fw_alt_use_position = ON

See here for more information. And the required PID tune settings for either control method.

Position estimator improvements

Changes to the position estimator are mainly intended to improve issues with Z velocity accuracy but also includes code clean-ups and fixes.
There has also been setting changes added with the code alterations. Depending on the sensor data quality. It may be beneficial in some cases to revert your settings back to the old ones, or somewhere in between the two.

Name CLIOldNew
w_z_baro_v0.10.35
inav_w_z_gps_p0.20.35
inav_w_z_gps_v0.10.35

More information directly related to the changes can be found here.

Sensor addition

QMC5883P magnetometer driver

Other changes:
  • Barometer altitude added to CRSF telemetry.
  • Better Fixed wing flight detection to handle auto disarm on landing. PR link
  • Lulu filter fixes and improvements. PR Link
  • Accelerometer and Barometer temperature compensation for better altitude control - Calibration method and PR link.
  • Add flights counter to stats PR link
  • Servo speed filter for tilt-rotor VTOL. PR link
  • Enhance VTOL tilt-rotor support. To assist transition smoothness PR link
  • Better air cushion compensation for multicopters and rangefinder fix. PR link
  • Improved yaw estimation for magless multicopter operation. PR link - The default ahrs_acc_ignore_rate setting has also been lowered from 20 to 15.
  • Mavlink clean-ups and fixes - 11060 11061 11062
OSD/CMS changes
NameFunction
OSD_VERTICAL_SPEED_INDICATORNew name for OSD vario
OSD_ADSB_WARNINGCMS stick menu
OSD_ADSB_INFOCMS stick menu
OSD_THROTTLE_GAUGEOSD
OSD_NAV_MIN_GROUND_SPEEDOSD
Functions
FunctionNameValues
BatterySMARTPORTvbat_meter_type , current_meter_type
Programming FrameworkGimbal SensitivityScales Operand A from [-16 : 15]
Programming FrameworkOverride Minimum Ground SpeedWhen active, sets the minimum ground speed to the value specified in Operand A [m/s]. Minimum allowed value is set in nav_min_ground_speed. Maximum value is 150
Programming FrameworkMinimum Ground Speed [m/s]The current minimum ground speed allowed in navigation flight modes
Programming FrameworkHorizontal Wind Speed [cm/s]Estimated wind speed. If the wind estimator is unavailable or the wind estimation is invalid, -1 is returned
Programming FrameworkWind Direction [deg]Estimated wind direction. If the wind estimator is unavailable or the wind estimation is invalid, -1 is returned
Programming FrameworkRelative Wind Offset [deg]The relative offset between the heading of the aircraft and the heading of the wind. 0 indicates flying directly into a headwing. Negative numbers are a left offset. For example, if -20° is shown, turning right will correct towards 0. If the wind estimator is unavailable or the wind estimation is invalid, 0 is returned

CLI

New Settings
NameDescription
blackbox_arm_controlCan extend blackbox logging up to 60 seconds after disarming
acc_temp_correctionAccelerometer temperature correction factor to compensate for acceleromter drift
baro_temp_correctionBaro temperature correction factor to compensate for Baro altitude drift
osd_adsb_warning_styleADSB warning element style - COMPACT or EXTENDED
nav_fw_alt_use_positionUse position for fixed wing altitude control rather than velocity
osd_pan_servo_range_decadegreesReplaces the name of the old osd_pan_servo_pwm2centideg
mavlink_autopilot_typeSets the Mavlink telemetry type - GENERIC or ARDUPILOT
transition_pid_mmix_multiplier_pitchIntended to solve pitch coupling in transtion mode on tilting rotor VTOL
transition_pid_mmix_multiplier_rollintended to solve roll/yaw coupling oscillation in transtion mode on tilting rotor VTOL
transition_pid_mmix_multiplier_yawIntended to solve yaw/roll coupling oscillation in transtion mode on tilting rotor VTOL
New targets
  • BLUEBERRYF435WING
  • BLUEBERRYF435WING_SD
  • BOTWINGF405
  • BOTWINGF722
  • BRAHMA_F405
  • BROTHERHOBBYH743
  • BROTHERHOBBYF405V3
  • CORVON743V1
  • CORVON743V1
  • CORVON405V2
  • DAKEFPVF722X8
  • DAKEFPVH743PRO
  • DAKEFPVF435
  • HAPPYMODELF405
  • HUMMINGBIRD_FC305
  • FLYINGRCF4WINGMINI
  • FLYCOLORF4
  • FLYSPARKF4V4
  • FOXEERF405V2
  • JHEMCUF435
  • JHEMF435AIO
  • MICOAIR743AIO
  • ORBITH743
  • ORBITF435
  • ORBITF435_SD
  • RADIOLINKF405
  • SKYSTARSF405V2
  • TBS_LUCID_H7_WING
  • TBS_LUCID_H7_WING_MINI
  • SPEEDYBEEF405WINGV2
  • WARPF7
What's Changed

Full Changelog: https://github.com/iNavFlight/inav/compare/8.0.1...9.0.0

View originalPermalink
How 9.0.0-RC2 went
8.0.1

INAV 8.0.1

INAV 8.0.1 Gallant Goshawk

Hello and welcome to INAV 8.0.1 "Gallant Goshawk"

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

Contact other pilots, share experiences, suggestions and ask for help on:

INAV 8 no longer includes F411 targets as part of the official release.

GPS: UBLOX7 and UBLOX have been merged into a single UBLOX option, and units with older firmware are now deprecated. Only M8 and newer will be supported in the future.

Make sure to remove props and check your motor and servo outputs before powering your upgraded flight controller with a battery for the first time. The changes to enable flexible motor and servo allocation may change what outputs your configuration uses by default.

This is a minor release and If nothing serious is found, this will be released as 8.0.1 final.

Fixed issues in 8.0.1
  • #10646 Jeti receivers may lock up while using telemetry. (Thanks to https://elefun.no/ for helping us get in touch with JETI and arranging delivery of a DS-12 + REX3 rx on loan to debug the issue)
Known Issues in 8.0.1
  • Fixedwing Altitude Velocity controller tuning. Requiring a more precise Autotune to be conducted. Read below
  • Not an issue. But the Jeti update can benefit from more testing.

Upgrading from a previous release

Upgrading from INAV 8.0.0
  1. Backup configuration with CLI diff all command
  2. Download and install the new INAV Configurator 8.0
  3. Flash INAV 8.0 WITH Full Chip Erase option enabled
  4. Select Keep current settings from the defaults pop-up
  5. Go to CLI and restore your inav diff
Upgrading from INAV 7.0 and 7.1
  1. Backup configuration with CLI diff all command
  2. Download and install the new INAV Configurator 8.0
  3. Flash INAV 8.0 WITH Full Chip Erase option enabled
  4. Edit the 7.x diff and apply Diff breaking changes described bellow, and save it as your new inav 8 diff. See Diff breaking changes section below.
  5. Select Keep current settings from the defaults pop-up
  6. Go to CLI and restore your edited inav diff
  7. Done

This tool can help migrate your INAV 7.x diff over to INAV 8.0.0. It will take care of the major changes that have been highlighted in these release notes.

Upgrading from older versions

Please follow the instructions on this page.

Highlights

DJI O4 support (updated in 8.0.1)

DJI has released new firmware for O4, DJI Goggles 2, 3, N3 and integra that will add INAV font support on those goggles and fix the armed detection in O4.

With configurator 8.0.1 you should be able to select DJI_NATIVE as the video system, but if you don't want to upgrade, the AVATAR option should also give you the correct INAV font and canvas size, but don't forget to select INAV as the OSD type in your updated goggles.

The O4 arming workaround will be remove in INAV 9.

Geozones

The Geozone feature allows pilots to define one or multiple areas on the map in Mission Control, to prevent accidental flying outside of allowed zones (Flight-Zones, FZ) or to avoid certain areas they are not allowed or not willing to fly in (No-Flight-Zone, NFZ). This type of feature might be known to many pilots as a "Geofence" and despite providing the same core functionality, INAV Geozones are significantly more versatile and provide more safety and features. Read the Documentation for more info IMPORTANT: Geozones will not be available for STM32F722 based Flight Controllers due to insufficient flash storage.

GPS Fix estimation (dead reckoning, RTH without GPS fix) for Airplanes

This new feature allows INAV to return to its launch location, in case of a failed GPS due to hardware failure or interference. INAV will use the remaining sensors and the already calculated wind speed and direction, to blindly return towards the home location. For this feature, no extra sensors are strictly necessary, aside from the standard Accelerometer, Gyroscope and Barometer, but its highly recommended to have a compass and for best precision, to also have an Airspeed sensor. The feature will not be able to precisely return to the pilot, but it allows the Aircraft to either get out of an area with interferences, or to give the pilot time and a chance to regain control for a manual return, when the aircraft is closer. Details here

MSP-Linkstats

A new MSP Message that allows RC links that communicate with the Flight controller via MSP, to provide Link Information to INAV like LQ, RSSI, Power Level, SNR and more. The first RC Link to support this is the mLRS Project with more possibly coming in the future. Details here

MSP-VTX

MSP-VTX has been updated by @geoffsim to increase compatibility with HDZero vtxs.

Mavlink Advancement for MavlinkRC

The previously simple Mavlink Telemetry was extended to be compatible with flow control capable links (Thanks @MUSTARDTIGERFPV). This now allows RC Control via Mavlink and Telemetry at the same time over a Single UART. It is tested successfully with ELRS Mavlink-RC and mLRS Mavlink. Additionally it allows the Use of Mission Planner, QGroundControl and potentially other GCS Applications to be used for Flight Monitoring with INAV. Note: To receive RSSI and LQ for ELRS Mavlink-RC you need to set mavlink_radio_type=ELRS in the CLI. Details here

Walksnail Serial Gimbal and Headtracker support

INAV now also supports the Caddx / Walksnail GM Series Gimbals. These can now be controlled via a dedicated uart UART or via MSP and don't need up to 3 PWM Outputs anymore. This enables the direct Gimbal Control via Head Tracking from Walksnail goggles, without additional wiring. Details Here

OSD Updates
ADSB Receiver Support

It is now possible to connect an ADSB receiver to your flight controller and get OSD Warnings if any ADSB enabled Aircraft, is close by. INAV Configurator can show these Aircraft on the map for additional safety of UAV flights. ADSB is supported for generally available receivers like uAvionix pingRX (not tested) and Aerobit TT-SC1 (tested) and should also work with the upcoming PicoADSB Details here

I-Term Lock for Fixed Wing

The Fixed Wing PIDFF Controller was reworked. The PIDs are now attenuated based in the amount of Setpoint (Stick deflection in Acro Mode) for a more "Manual" flight feel during aggressive inputs while keeping the locked in feel of a PID-Assisted flight. This allows the Pilot to have a PID tune with very high P and I values for a locked in flight feel, while keeping a good manual feeling of the plane's flight characteristics, especially when flying slow. Additionally the Attenuation fixes the Bounce-Back caused by the Integral of the PID controller, after sharp roll or pitch inputs. Details Here

U-Blox AssistNow Support in INAV Configurator

AssistNow is a Service that provides GPS Satellite information data for offline-applications, to dramatically increase the time to fix for GPS Devices. By Providing your own AssistNow Token, INAV Configurator can automatically download the latest data set and transfer it to any connected INAV UAV. With this, a GPS fix after cold start should merely take seconds instead of minutes. This is especially helpful for people who go fly with a big fleet of aircraft. Details here

Sensor ID change for SmartPort telemetry

The sensor IDs for the Modes and GNSS data have changed in SmartPort telemetry. The default settings in INAV are to now use the new sensor IDs. The INAV OpenTX-Telemetry-Widget has been updated to use these new IDs. So you will not see any issues when using the latest version of this widget. However, if you use another widget or app that uses the SmartPort telemetry. It is recommended to inform the creator of the app/widget, as the old sensor IDs will be removed in INAV 10.0.0. Details here

You can change INAV to use the old sensor IDs with the CLI parameter set frsky_use_legacy_gps_mode_sensor_ids = on. However, it is recommended to only use this only as long as necessary. This parameter will also be removed in INAV10.0.0.

Improved SD Card support for F7 and H7 flight controllers using SDIO

This version of INAV fixes some long standing bugs with the SDIO driver for H7 and F765 flight controllers. Now they share the same HAL based driver and fixes. This affects a small number of targets, as most targets use the older and slower SPI based access to SD cards. Moving forward, SDIO is the preferred and recommend way to implement SD Card blackbox in INAV, as it is faster than SPI and support up to 4BIT wide data access, versus SPI 1 bit.

This change affects the following targets:

  • FLYWOOH743PRO
  • IFLIGHT_BLITZ_H7_PRO
  • KAKUTEH7WING
  • MATEKF765
  • MATEKH743
  • MICOAIR743
  • NEUTRONRCH7BT
  • PIXRACER
  • TBS_LUCID_H7
Fixed wing altitude velocity controller

The altitude VELOCITY controller replaces the old POSITION control method. It is still considered somewhat experimental. Being that it requires the fw_ff_pitch and pitch_rate to be tuned more precisely with AutoTune. Or pitch oscillation may occur in modes that hold altitude, with your older DIFF settings.

[!Tip] Ensure the control surface servo throws are set correctly before you tune the Rates and Feedforwards by the Autotune process.
Any adjustments made to the servo Mixer or Output travels after you have tuned the Rates and Feedforwards, will negatively effect performance. Requiring you to run the tuning process again.

Please also read here for advise on the tuning of this controller. And things that can influence behavior.

Also follow this issue report if required https://github.com/iNavFlight/inav/pull/9471

Other important changes:
Diff breaking changes
Profile consolidation

The profile CLI command has been renamed to control_profile. When updating from an older version of INAV. You will need to edit your diff with this change. For example:

# profile
profile 1

set fw_p_pitch = 14
set fw_i_pitch = 5
set fw_d_pitch = 5
set fw_ff_pitch = 137
...

Will become

# profile
control_profile 1

set fw_p_pitch = 14
set fw_i_pitch = 5
set fw_d_pitch = 5
set fw_ff_pitch = 137
...
OSD Custom Elements

If you have previously used OSD Custom Elements. You will need to update the diff for these, so that they continue to work in the same way. The system has been expanded to allow the use of logic condition results and have more numerical variations. To keep your OSD Custom Elements working, you will need to change the element type IDs, if they are 4, 5, 6, or 7. The table below shows the old and new IDs.

Numeric formatOld nameOld IDNew nameNew ID
000CUSTOM_ELEMENT_TYPE_GV_SMALL6CUSTOM_ELEMENT_TYPE_GV_37
00000CUSTOM_ELEMENT_TYPE_GV4CUSTOM_ELEMENT_TYPE_GV_59
0.0CUSTOM_ELEMENT_TYPE_GV_SMALL_FLOAT7CUSTOM_ELEMENT_TYPE_GV_FLOAT_1_110
0000.0CUSTOM_ELEMENT_TYPE_GV_FLOAT5CUSTOM_ELEMENT_TYPE_GV_FLOAT_4_116

Below, you can see the position of the IDs that you need to change if they are 4, 5, 6, or 7.

osd_custom_elements 0 3 0 1 0 0 0 0 0 "FLAPS"
                      ^   ^   ^

CLI

New / Changed Items
NameDescription
geozoneManages the geozone data set
control_profileprofile has been renamed to control_profile
Changed Settings
NameValues
blackbox_deviceNew: FILE (for SITL usage)
debug_modesNew: ADAPTIVE_FILTER, HEADTRACKER, GPS, LULU, SBUS2
dynamic_gyro_notch_modeRemoved: 3D_R, 3D_P, 3D_Y, 3D_RP, 3D_RY, 3D_PY
filter_type_fullNew: LULU
gps_dyn_modelNew: SEA, MOWER
gps_providerRemoved: UBLOX7 (Use UBLOX; version specific capabilities will be auto-detected)
nav_fw_wp_tracking_accuracyNow set distance from waypoint course line in meters rather some arbitrary tracking response value
rangefinder_hardwareNew: TERARANGER_EVO, USD1_V0, NRA
serial_rxNew: SBUS2
New Settings
NameDescription
disarm_alwaysWhen you switch to Disarm, do so regardless of throttle position. If this Setting is OFF. It will only disarm only when the throttle is low. This is similar to the previous disarm_kill_switch option. Default setting is the same as the old default behaviour. Default: TRUE
enable_broken_o4_workaroundDJI O4 release firmware has a broken MSP DisplayPort implementation. This enables a workaround to restore ARM detection. Default: FALSE
ez_snappinessEzTune snappiness Values: 0 - 100 Default: 0
failsafe_gps_fix_estimation_delayControls whether waypoint mission is allowed to proceed with gps fix estimation. Sets the time delay in seconds between gps fix lost event and RTH activation. Minimum delay is 7 seconds. If set to -1 the mission will continue until the end. With default setting(7), waypoint mission is aborted and switched to RTH with 7 seconds delay. RTH is done with GPS Fix estimation. Values: -1 - 600 Default: 7
frsky_use_legacy_gps_mode_sensor_idsS.Port telemetry: If ON, send the legacy telemetry IDs for modes (Tmp1) and GNSS (Tmp2). These are old IDs, deprecated, and will be removed in INAV 10.0. Tools and scripts using these IDs should be updated to use the new IDs of 470 for Modes and 480 for GNSS. Default: 'OFF' Default: FALSE
fw_iterm_lock_engage_thresholdDefines error rate (in percents of max rate) when Iterm Lock is engaged when sticks are release. Iterm Lock will stay active until error drops below this number Values: 5 - 25 Default: 10
fw_iterm_lock_rate_thresholdDefines rate percentage when full P I and D attenuation should happen. 100 disables Iterm Lock for P and D term Values: 10 - 100 Default: 40
fw_iterm_lock_time_max_msDefines max time in milliseconds for how long ITerm Lock will shut down Iterm after sticks are release Values: 100 - 1000 Default: 500
geozone_avoid_altitude_rangeAltitude range in which an attempt is made to avoid a geozone upwards Values: 0 - 1000000 Default: 5000
geozone_detection_distanceDistance from which a geozone is detected Values: 0 - 1000000 Default: 50000
geozone_mr_stop_distanceDistance in which multirotors stops before the border Values: 0 - 100000 Default: 15000
geozone_no_way_home_actionAction if RTH with active geozones is unable to calculate a course to home (RTH, EMRG_LAND). Default: RTH
geozone_safe_altitude_distanceVertical distance that must be maintained to the upper and lower limits of the zone. Values: 0 - 10000 Default: 1000
geozone_safehome_as_inclusiveTreat nearest safehome as inclusive geozone Default: FALSE
geozone_safehome_zone_actionFence action for safehome zone (NONE, AVOID, POS_HOLD, RTH). Default: NONE
gimbal_pan_channelGimbal pan rc channel index. 0 is no channel. Values: 0 - 32 Default: 0
gimbal_pan_trimTrim gimbal pan center position. Values: -500 - 500 Default: 0
gimbal_roll_channelGimbal roll rc channel index. 0 is no channel. Values: 0 - 32 Default: 0
gimbal_roll_trimTrim gimbal roll center position. Values: -500 - 500 Default: 0
gimbal_sensitivityGimbal sensitivity is similar to gain and will affect how quickly the gimbal will react. Values: -16 - 15 Default: 0
gimbal_serial_single_uartGimbal serial and headtracker device share same UART. FC RX goes to headtracker device, FC TX goes to gimbal. Default: FALSE
gimbal_tilt_channelGimbal tilt rc channel index. 0 is no channel. Values: 0 - 32 Default: 0
gimbal_tilt_trimTrim gimbal tilt center position. Values: -500 - 500 Default: 0
gyro_adaptive_filter_hpf_hzHigh pass filter cutoff frequency Values: 1 - 50 Default: 10
gyro_adaptive_filter_integrator_threshold_highHigh threshold for adaptive filter integrator Values: 1 - 10 Default: 4
gyro_adaptive_filter_integrator_threshold_lowLow threshold for adaptive filter integrator Values: -10 - 0 Default: -2
gyro_adaptive_filter_max_hzMaximum frequency for adaptive filter Values: 0 - 505 Default: 150
gyro_adaptive_filter_min_hzMinimum frequency for adaptive filter Values: 0 - 250 Default: 50
gyro_adaptive_filter_std_lpf_hzStandard deviation low pass filter cutoff frequency Values: 0 - 10 Default: 2
gyro_adaptive_filter_targetTarget value for adaptive filter Values: 1 - 6 Default: 3.5
gyro_filter_modeSpecifies the type of the software LPF of the gyro signals (OFF, STATIC, DYNAMIC, ADAPTIVE). Default: STATIC
gyro_lulu_enabledEnable/disable gyro LULU filter Default: FALSE
gyro_lulu_sample_countGyro lulu sample count, in number of samples. Values: 1 - 15 Default: 3
headtracker_pan_ratioHead pan movement vs camera movement ratio Values: 0 - 5 Default: 1
headtracker_roll_ratioHead roll movement vs camera movement ratio Values: 0 - 5 Default: 1
headtracker_tilt_ratioHead tilt movement vs camera movement ratio Values: 0 - 5 Default: 1
headtracker_typeType of headtracker dervice (NONE, SERIAL, MSP). Default: NONE
inav_allow_gps_fix_estimationDefines if inav will estimate GPS fix with magnetometer and barometer on GPS outages. Enables navigation and RTH without GPS fix on fixed wing. Also see failsafe_gps_fix_estimation_delay. Default: FALSE
inav_default_alt_sensorSets the default altitude sensor to use (GPS, BARO, GPS_ONLY, BARO_ONLY). Settings GPS and BARO always use both sensors unless there is an altitude error between the sensors that exceeds a set limit. In this case only the selected sensor will be used while the altitude error limit is exceeded. GPS error limit = 2 * inav_max_eph_epv. BARO error limit = 4 * inav_baro_epv. Settings GPS_ONLY and BARO_ONLY will use only the selected sensor even if the other sensor is working. The other sensor will only be used as a backup if the selected sensor is no longer available to use. Default: GPS
inav_w_z_baro_vWeight of barometer climb rate measurements in estimated climb rate. Setting is used on both airplanes and multirotors. Values: 0 - 10 Default: 0.1
mavlink_min_txbufferMinimum percent of TX buffer space free, before attempting to transmit telemetry. Requuires RADIO_STATUS messages to be processed. 0 = always transmits. Values: 0 - 100 Default: 33
mavlink_radio_typeMavlink radio type (GENERIC, ELRS, SIK). Affects how RSSI and LQ are reported on OSD. Default: GENERIC
nav_fw_alt_control_responseAdjusts the deceleration response of fixed wing altitude control as the target altitude is approached. Decrease value to help avoid overshooting the target altitude. Values: 5 - 100 Default: 40
nav_fw_auto_climb_rateMaximum climb/descent rate that UAV is allowed to reach during navigation modes. [cm/s] Values: 10 - 2000 Default: 500
nav_fw_launch_wiggle_to_wake_idleTrigger the idle throttle by wiggling the plane. 0 = disabled. 1 and 2 signify 1 or 2 yaw wiggles to activate. 1 wiggle has a higher detection point, for airplanes without a tail. 2 wiggles has a lower detection point, but requires the repeated action. This is intended for larger models and airplanes with tails. Values: 0 - 2 Default: 0
nav_fw_manual_climb_rateMaximum climb/descent rate firmware is allowed when processing pilot input for ALTHOLD control mode [cm/s] Values: 10 - 2500 Default: 300
nav_fw_pos_z_ffFF gain of altitude PID controller (Fixedwing) Values: 0 - 255 Default: 10
nav_mc_auto_climb_rateMaximum climb/descent rate that UAV is allowed to reach during navigation modes. [cm/s] Values: 10 - 2000 Default: 500
nav_mc_inverted_crash_detectionSetting a value > 0 enables inverted crash detection for multirotors. It will auto disarm in situations where the multirotor has crashed inverted on the ground and can't be manually disarmed due to loss of control or for some other reason. When enabled this setting defines the additional number of seconds before disarm beyond a minimum fixed time delay of 3s. Requires a barometer to work. Values: 0 - 15 Default: 0
nav_mc_manual_climb_rateMaximum climb/descent rate firmware is allowed when processing pilot input for ALTHOLD control mode [cm/s] Values: 10 - 2000 Default: 200
osd_adsb_distance_alertDistance inside which ADSB data flashes for proximity warning Values: 1 - 64000 Default: 3000
osd_adsb_distance_warningDistance in meters of ADSB aircraft that is displayed Values: 1 - 64000 Default: 20000
osd_adsb_ignore_plane_above_me_limitIgnore adsb planes above, limit, 0 disabled (meters) Values: 0 - 64000 Default: 0
osd_decimals_altitudeNumber of decimals for the altitude displayed in the OSD [3-5]. Values: 3 - 5 Default: 3
osd_decimals_distanceNumber of decimals for distance displayed in the OSD [3-5]. This includes distance from home, total distance, and distance remaining. Values: 3 - 5 Default: 3
osd_estimations_wind_mpsWind speed estimation in m/s Default: FALSE
osd_highlight_djis_missing_font_symbolsShow question marks where there is no symbol in the DJI font to represent the INAV OSD element's symbol. When off, blank spaces will be used. Only relevent for DJICOMPAT modes. Default: TRUE
osd_radar_peers_display_timeTime in seconds to display next peer Values: 1 - 10 Default: 3
osd_stats_show_metric_efficiencyEnabling this option will show metric efficiency statistics on the post flight stats screen. In addition to the efficiency statistics in your chosen units. Default: FALSE
Removed Settings
NameDescription
control_deadband
cpu_underclock
disarm_kill_switch
dji_workarounds
fw_iterm_limit_stick_position
gyro_anti_aliasing_lpf_type
gyro_hardware_lpf
gyro_main_lpf_type
gyro_use_dyn_lpf
inav_use_gps_no_baro
inav_use_gps_velned
ledstrip_visual_beeper
max_throttle
nav_auto_climb_rate
nav_manual_climb_rate
osd_stats_min_voltage_unit
pidsum_limit
pidsum_limit_yaw
What's Changed
New Contributors

Full Changelog: https://github.com/iNavFlight/inav/compare/8.0.0...8.0.1

View originalPermalink
How 8.0.1 went
8.0.1-RC2Pre-release

INAV 8.0.1 RC2

INAV 8.0.1 RC2 Gallant Goshawk

Hello and welcome to INAV 8.0.1 RC2 "Gallant Goshawk"

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

Contact other pilots, share experiences, suggestions and ask for help on:

INAV 8 no longer includes F411 targets as part of the official release.

GPS: UBLOX7 and UBLOX have been merged into a single UBLOX option, and units with older firmware are now deprecated. Only M8 and newer will be supported in the future.

Make sure to remove props and check your motor and servo outputs before powering your upgraded flight controller with a battery for the first time. The changes to enable flexible motor and servo allocation may change what outputs your configuration uses by default.

This is a minor release and If nothing serious is found, this will be released as 8.0.1 final.

Fixed issues in 8.0.1
  • #10646 Jeti receivers may lock up while using telemetry. (Thanks to https://elefun.no/ for helping us get in touch with JETI and arranging delivery of a DS-12 + REX3 rx on loan to debug the issue)
Known Issues in 8.0.1
  • None, but the Jeti issue can benefit from more testing.

Upgrading from a previous release

Upgrading from INAV 8.0.0
  1. Backup configuration with CLI diff all command
  2. Download and install the new INAV Configurator 8.0
  3. Flash INAV 8.0 WITH Full Chip Erase option enabled
  4. Select Keep current settings from the defaults pop-up
  5. Go to CLI and restore your inav diff
Upgrading from INAV 7.0 and 7.1
  1. Backup configuration with CLI diff all command
  2. Download and install the new INAV Configurator 8.0
  3. Flash INAV 8.0 WITH Full Chip Erase option enabled
  4. Edit the 7.x diff and apply Diff breaking changes described bellow, and save it as your new inav 8 diff. See Diff breaking changes section below.
  5. Select Keep current settings from the defaults pop-up
  6. Go to CLI and restore your edited inav diff
  7. Done

This tool can help migrate your INAV 7.x diff over to INAV 8.0.0. It will take care of the major changes that have been highlighted in these release notes.

Upgrading from older versions

Please follow the instructions on this page.

Highlights

DJI O4 support (updated in 8.0.1)

DJI has released new firmware for O4, DJI Goggles 2, 3, N3 and integra that will add INAV font support on those goggles and fix the armed detection in O4.

With configurator 8.0.1 you should be able to select DJI_NATIVE as the video system, but if you don't want to upgrade, the AVATAR option should also give you the correct INAV font and canvas size, but don't forget to select INAV as the OSD type in your updated goggles.

The O4 arming workaround will be remove in INAV 9.

Geozones

The Geozone feature allows pilots to define one or multiple areas on the map in Mission Control, to prevent accidental flying outside of allowed zones (Flight-Zones, FZ) or to avoid certain areas they are not allowed or not willing to fly in (No-Flight-Zone, NFZ). This type of feature might be known to many pilots as a "Geofence" and despite providing the same core functionality, INAV Geozones are significantly more versatile and provide more safety and features. Read the Documentation for more info IMPORTANT: Geozones will not be available for STM32F722 based Flight Controllers due to insufficient flash storage.

GPS Fix estimation (dead reckoning, RTH without GPS fix) for Airplanes

This new feature allows INAV to return to its launch location, in case of a failed GPS due to hardware failure or interference. INAV will use the remaining sensors and the already calculated wind speed and direction, to blindly return towards the home location. For this feature, no extra sensors are strictly necessary, aside from the standard Accelerometer, Gyroscope and Barometer, but its highly recommended to have a compass and for best precision, to also have an Airspeed sensor. The feature will not be able to precisely return to the pilot, but it allows the Aircraft to either get out of an area with interferences, or to give the pilot time and a chance to regain control for a manual return, when the aircraft is closer. Details here

MSP-Linkstats

A new MSP Message that allows RC links that communicate with the Flight controller via MSP, to provide Link Information to INAV like LQ, RSSI, Power Level, SNR and more. The first RC Link to support this is the mLRS Project with more possibly coming in the future. Details here

MSP-VTX

MSP-VTX has been updated by @geoffsim to increase compatibility with HDZero vtxs.

Mavlink Advancement for MavlinkRC

The previously simple Mavlink Telemetry was extended to be compatible with flow control capable links (Thanks @MUSTARDTIGERFPV). This now allows RC Control via Mavlink and Telemetry at the same time over a Single UART. It is tested successfully with ELRS Mavlink-RC and mLRS Mavlink. Additionally it allows the Use of Mission Planner, QGroundControl and potentially other GCS Applications to be used for Flight Monitoring with INAV. Note: To receive RSSI and LQ for ELRS Mavlink-RC you need to set mavlink_radio_type=ELRS in the CLI. Details here

Walksnail Serial Gimbal and Headtracker support

INAV now also supports the Caddx / Walksnail GM Series Gimbals. These can now be controlled via a dedicated uart UART or via MSP and don't need up to 3 PWM Outputs anymore. This enables the direct Gimbal Control via Head Tracking from Walksnail goggles, without additional wiring. Details Here

OSD Updates
ADSB Receiver Support

It is now possible to connect an ADSB receiver to your flight controller and get OSD Warnings if any ADSB enabled Aircraft, is close by. INAV Configurator can show these Aircraft on the map for additional safety of UAV flights. ADSB is supported for generally available receivers like uAvionix pingRX (not tested) and Aerobit TT-SC1 (tested) and should also work with the upcoming PicoADSB Details here

I-Term Lock for Fixed Wing

The Fixed Wing PIDFF Controller was reworked. The PIDs are now attenuated based in the amount of Setpoint (Stick deflection in Acro Mode) for a more "Manual" flight feel during aggressive inputs while keeping the locked in feel of a PID-Assisted flight. This allows the Pilot to have a PID tune with very high P and I values for a locked in flight feel, while keeping a good manual feeling of the plane's flight characteristics, especially when flying slow. Additionally the Attenuation fixes the Bounce-Back caused by the Integral of the PID controller, after sharp roll or pitch inputs. Details Here

U-Blox AssistNow Support in INAV Configurator

AssistNow is a Service that provides GPS Satellite information data for offline-applications, to dramatically increase the time to fix for GPS Devices. By Providing your own AssistNow Token, INAV Configurator can automatically download the latest data set and transfer it to any connected INAV UAV. With this, a GPS fix after cold start should merely take seconds instead of minutes. This is especially helpful for people who go fly with a big fleet of aircraft. Details here

Sensor ID change for SmartPort telemetry

The sensor IDs for the Modes and GNSS data have changed in SmartPort telemetry. The default settings in INAV are to now use the new sensor IDs. The INAV OpenTX-Telemetry-Widget has been updated to use these new IDs. So you will not see any issues when using the latest version of this widget. However, if you use another widget or app that uses the SmartPort telemetry. It is recommended to inform the creator of the app/widget, as the old sensor IDs will be removed in INAV 10.0.0. Details here

You can change INAV to use the old sensor IDs with the CLI parameter set frsky_use_legacy_gps_mode_sensor_ids = on. However, it is recommended to only use this only as long as necessary. This parameter will also be removed in INAV10.0.0.

Improved SD Card support for F7 and H7 flight controllers using SDIO

This version of INAV fixes some long standing bugs with the SDIO driver for H7 and F765 flight controllers. Now they share the same HAL based driver and fixes. This affects a small number of targets, as most targets use the older and slower SPI based access to SD cards. Moving forward, SDIO is the preferred and recommend way to implement SD Card blackbox in INAV, as it is faster than SPI and support up to 4BIT wide data access, versus SPI 1 bit.

This change affects the following targets:

  • FLYWOOH743PRO
  • IFLIGHT_BLITZ_H7_PRO
  • KAKUTEH7WING
  • MATEKF765
  • MATEKH743
  • MICOAIR743
  • NEUTRONRCH7BT
  • PIXRACER
  • TBS_LUCID_H7
Other important changes:
Diff breaking changes
Profile consolidation

The profile CLI command has been renamed to control_profile. When updating from an older version of INAV. You will need to edit your diff with this change. For example:

# profile
profile 1

set fw_p_pitch = 14
set fw_i_pitch = 5
set fw_d_pitch = 5
set fw_ff_pitch = 137
...

Will become

# profile
control_profile 1

set fw_p_pitch = 14
set fw_i_pitch = 5
set fw_d_pitch = 5
set fw_ff_pitch = 137
...
OSD Custom Elements

If you have previously used OSD Custom Elements. You will need to update the diff for these, so that they continue to work in the same way. The system has been expanded to allow the use of logic condition results and have more numerical variations. To keep your OSD Custom Elements working, you will need to change the element type IDs, if they are 4, 5, 6, or 7. The table below shows the old and new IDs.

Numeric formatOld nameOld IDNew nameNew ID
000CUSTOM_ELEMENT_TYPE_GV_SMALL6CUSTOM_ELEMENT_TYPE_GV_37
00000CUSTOM_ELEMENT_TYPE_GV4CUSTOM_ELEMENT_TYPE_GV_59
0.0CUSTOM_ELEMENT_TYPE_GV_SMALL_FLOAT7CUSTOM_ELEMENT_TYPE_GV_FLOAT_1_110
0000.0CUSTOM_ELEMENT_TYPE_GV_FLOAT5CUSTOM_ELEMENT_TYPE_GV_FLOAT_4_116

Below, you can see the position of the IDs that you need to change if they are 4, 5, 6, or 7.

osd_custom_elements 0 3 0 1 0 0 0 0 0 "FLAPS"
                      ^   ^   ^

CLI

New / Changed Items
NameDescription
geozoneManages the geozone data set
control_profileprofile has been renamed to control_profile
Changed Settings
NameValues
blackbox_deviceNew: FILE (for SITL usage)
debug_modesNew: ADAPTIVE_FILTER, HEADTRACKER, GPS, LULU, SBUS2
dynamic_gyro_notch_modeRemoved: 3D_R, 3D_P, 3D_Y, 3D_RP, 3D_RY, 3D_PY
filter_type_fullNew: LULU
gps_dyn_modelNew: SEA, MOWER
gps_providerRemoved: UBLOX7 (Use UBLOX; version specific capabilities will be auto-detected)
nav_fw_wp_tracking_accuracyNow set distance from waypoint course line in meters rather some arbitrary tracking response value
rangefinder_hardwareNew: TERARANGER_EVO, USD1_V0, NRA
serial_rxNew: SBUS2
New Settings
NameDescription
disarm_alwaysWhen you switch to Disarm, do so regardless of throttle position. If this Setting is OFF. It will only disarm only when the throttle is low. This is similar to the previous disarm_kill_switch option. Default setting is the same as the old default behaviour. Default: TRUE
enable_broken_o4_workaroundDJI O4 release firmware has a broken MSP DisplayPort implementation. This enables a workaround to restore ARM detection. Default: FALSE
ez_snappinessEzTune snappiness Values: 0 - 100 Default: 0
failsafe_gps_fix_estimation_delayControls whether waypoint mission is allowed to proceed with gps fix estimation. Sets the time delay in seconds between gps fix lost event and RTH activation. Minimum delay is 7 seconds. If set to -1 the mission will continue until the end. With default setting(7), waypoint mission is aborted and switched to RTH with 7 seconds delay. RTH is done with GPS Fix estimation. Values: -1 - 600 Default: 7
frsky_use_legacy_gps_mode_sensor_idsS.Port telemetry: If ON, send the legacy telemetry IDs for modes (Tmp1) and GNSS (Tmp2). These are old IDs, deprecated, and will be removed in INAV 10.0. Tools and scripts using these IDs should be updated to use the new IDs of 470 for Modes and 480 for GNSS. Default: 'OFF' Default: FALSE
fw_iterm_lock_engage_thresholdDefines error rate (in percents of max rate) when Iterm Lock is engaged when sticks are release. Iterm Lock will stay active until error drops below this number Values: 5 - 25 Default: 10
fw_iterm_lock_rate_thresholdDefines rate percentage when full P I and D attenuation should happen. 100 disables Iterm Lock for P and D term Values: 10 - 100 Default: 40
fw_iterm_lock_time_max_msDefines max time in milliseconds for how long ITerm Lock will shut down Iterm after sticks are release Values: 100 - 1000 Default: 500
geozone_avoid_altitude_rangeAltitude range in which an attempt is made to avoid a geozone upwards Values: 0 - 1000000 Default: 5000
geozone_detection_distanceDistance from which a geozone is detected Values: 0 - 1000000 Default: 50000
geozone_mr_stop_distanceDistance in which multirotors stops before the border Values: 0 - 100000 Default: 15000
geozone_no_way_home_actionAction if RTH with active geozones is unable to calculate a course to home (RTH, EMRG_LAND). Default: RTH
geozone_safe_altitude_distanceVertical distance that must be maintained to the upper and lower limits of the zone. Values: 0 - 10000 Default: 1000
geozone_safehome_as_inclusiveTreat nearest safehome as inclusive geozone Default: FALSE
geozone_safehome_zone_actionFence action for safehome zone (NONE, AVOID, POS_HOLD, RTH). Default: NONE
gimbal_pan_channelGimbal pan rc channel index. 0 is no channel. Values: 0 - 32 Default: 0
gimbal_pan_trimTrim gimbal pan center position. Values: -500 - 500 Default: 0
gimbal_roll_channelGimbal roll rc channel index. 0 is no channel. Values: 0 - 32 Default: 0
gimbal_roll_trimTrim gimbal roll center position. Values: -500 - 500 Default: 0
gimbal_sensitivityGimbal sensitivity is similar to gain and will affect how quickly the gimbal will react. Values: -16 - 15 Default: 0
gimbal_serial_single_uartGimbal serial and headtracker device share same UART. FC RX goes to headtracker device, FC TX goes to gimbal. Default: FALSE
gimbal_tilt_channelGimbal tilt rc channel index. 0 is no channel. Values: 0 - 32 Default: 0
gimbal_tilt_trimTrim gimbal tilt center position. Values: -500 - 500 Default: 0
gyro_adaptive_filter_hpf_hzHigh pass filter cutoff frequency Values: 1 - 50 Default: 10
gyro_adaptive_filter_integrator_threshold_highHigh threshold for adaptive filter integrator Values: 1 - 10 Default: 4
gyro_adaptive_filter_integrator_threshold_lowLow threshold for adaptive filter integrator Values: -10 - 0 Default: -2
gyro_adaptive_filter_max_hzMaximum frequency for adaptive filter Values: 0 - 505 Default: 150
gyro_adaptive_filter_min_hzMinimum frequency for adaptive filter Values: 0 - 250 Default: 50
gyro_adaptive_filter_std_lpf_hzStandard deviation low pass filter cutoff frequency Values: 0 - 10 Default: 2
gyro_adaptive_filter_targetTarget value for adaptive filter Values: 1 - 6 Default: 3.5
gyro_filter_modeSpecifies the type of the software LPF of the gyro signals (OFF, STATIC, DYNAMIC, ADAPTIVE). Default: STATIC
gyro_lulu_enabledEnable/disable gyro LULU filter Default: FALSE
gyro_lulu_sample_countGyro lulu sample count, in number of samples. Values: 1 - 15 Default: 3
headtracker_pan_ratioHead pan movement vs camera movement ratio Values: 0 - 5 Default: 1
headtracker_roll_ratioHead roll movement vs camera movement ratio Values: 0 - 5 Default: 1
headtracker_tilt_ratioHead tilt movement vs camera movement ratio Values: 0 - 5 Default: 1
headtracker_typeType of headtracker dervice (NONE, SERIAL, MSP). Default: NONE
inav_allow_gps_fix_estimationDefines if inav will estimate GPS fix with magnetometer and barometer on GPS outages. Enables navigation and RTH without GPS fix on fixed wing. Also see failsafe_gps_fix_estimation_delay. Default: FALSE
inav_default_alt_sensorSets the default altitude sensor to use (GPS, BARO, GPS_ONLY, BARO_ONLY). Settings GPS and BARO always use both sensors unless there is an altitude error between the sensors that exceeds a set limit. In this case only the selected sensor will be used while the altitude error limit is exceeded. GPS error limit = 2 * inav_max_eph_epv. BARO error limit = 4 * inav_baro_epv. Settings GPS_ONLY and BARO_ONLY will use only the selected sensor even if the other sensor is working. The other sensor will only be used as a backup if the selected sensor is no longer available to use. Default: GPS
inav_w_z_baro_vWeight of barometer climb rate measurements in estimated climb rate. Setting is used on both airplanes and multirotors. Values: 0 - 10 Default: 0.1
mavlink_min_txbufferMinimum percent of TX buffer space free, before attempting to transmit telemetry. Requuires RADIO_STATUS messages to be processed. 0 = always transmits. Values: 0 - 100 Default: 33
mavlink_radio_typeMavlink radio type (GENERIC, ELRS, SIK). Affects how RSSI and LQ are reported on OSD. Default: GENERIC
nav_fw_alt_control_responseAdjusts the deceleration response of fixed wing altitude control as the target altitude is approached. Decrease value to help avoid overshooting the target altitude. Values: 5 - 100 Default: 40
nav_fw_auto_climb_rateMaximum climb/descent rate that UAV is allowed to reach during navigation modes. [cm/s] Values: 10 - 2000 Default: 500
nav_fw_launch_wiggle_to_wake_idleTrigger the idle throttle by wiggling the plane. 0 = disabled. 1 and 2 signify 1 or 2 yaw wiggles to activate. 1 wiggle has a higher detection point, for airplanes without a tail. 2 wiggles has a lower detection point, but requires the repeated action. This is intended for larger models and airplanes with tails. Values: 0 - 2 Default: 0
nav_fw_manual_climb_rateMaximum climb/descent rate firmware is allowed when processing pilot input for ALTHOLD control mode [cm/s] Values: 10 - 2500 Default: 300
nav_fw_pos_z_ffFF gain of altitude PID controller (Fixedwing) Values: 0 - 255 Default: 10
nav_mc_auto_climb_rateMaximum climb/descent rate that UAV is allowed to reach during navigation modes. [cm/s] Values: 10 - 2000 Default: 500
nav_mc_inverted_crash_detectionSetting a value > 0 enables inverted crash detection for multirotors. It will auto disarm in situations where the multirotor has crashed inverted on the ground and can't be manually disarmed due to loss of control or for some other reason. When enabled this setting defines the additional number of seconds before disarm beyond a minimum fixed time delay of 3s. Requires a barometer to work. Values: 0 - 15 Default: 0
nav_mc_manual_climb_rateMaximum climb/descent rate firmware is allowed when processing pilot input for ALTHOLD control mode [cm/s] Values: 10 - 2000 Default: 200
osd_adsb_distance_alertDistance inside which ADSB data flashes for proximity warning Values: 1 - 64000 Default: 3000
osd_adsb_distance_warningDistance in meters of ADSB aircraft that is displayed Values: 1 - 64000 Default: 20000
osd_adsb_ignore_plane_above_me_limitIgnore adsb planes above, limit, 0 disabled (meters) Values: 0 - 64000 Default: 0
osd_decimals_altitudeNumber of decimals for the altitude displayed in the OSD [3-5]. Values: 3 - 5 Default: 3
osd_decimals_distanceNumber of decimals for distance displayed in the OSD [3-5]. This includes distance from home, total distance, and distance remaining. Values: 3 - 5 Default: 3
osd_estimations_wind_mpsWind speed estimation in m/s Default: FALSE
osd_highlight_djis_missing_font_symbolsShow question marks where there is no symbol in the DJI font to represent the INAV OSD element's symbol. When off, blank spaces will be used. Only relevent for DJICOMPAT modes. Default: TRUE
osd_radar_peers_display_timeTime in seconds to display next peer Values: 1 - 10 Default: 3
osd_stats_show_metric_efficiencyEnabling this option will show metric efficiency statistics on the post flight stats screen. In addition to the efficiency statistics in your chosen units. Default: FALSE
Removed Settings
NameDescription
control_deadband
cpu_underclock
disarm_kill_switch
dji_workarounds
fw_iterm_limit_stick_position
gyro_anti_aliasing_lpf_type
gyro_hardware_lpf
gyro_main_lpf_type
gyro_use_dyn_lpf
inav_use_gps_no_baro
inav_use_gps_velned
ledstrip_visual_beeper
max_throttle
nav_auto_climb_rate
nav_manual_climb_rate
osd_stats_min_voltage_unit
pidsum_limit
pidsum_limit_yaw
What's Changed
New Contributors

Full Changelog: https://github.com/iNavFlight/inav/compare/8.0.0...8.0.1-RC2

View originalPermalink
How 8.0.1-RC2 went
8.0.1-RC1Pre-release

INAV 8.0.1 RC1

INAV 8.0.1 RC1 Gallant Goshawk

Hello and welcome to INAV 8.0.1 RC1 "Gallant Goshawk"

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

Contact other pilots, share experiences, suggestions and ask for help on:

INAV 8 no longer includes F411 targets as part of the official release.

GPS: UBLOX7 and UBLOX have been merged into a single UBLOX option, and units with older firmware are now deprecated. Only M8 and newer will be supported in the future.

Make sure to remove props and check your motor and servo outputs before powering your upgraded flight controller with a battery for the first time. The changes to enable flexible motor and servo allocation may change what outputs your configuration uses by default.

This is a minor release and If nothing serious is found, this will be released as 8.0.1 final.

Known Issues in 8.0.1
  • #10646 Jeti receivers may lock up while using telemetry. We are waiting for a loaner tx/rx to investigate and fix this issue once and for all. This has been a recurring issue for a few versions now.

Upgrading from a previous release

Upgrading from INAV 8.0.0
  1. Backup configuration with CLI diff all command
  2. Download and install the new INAV Configurator 8.0
  3. Flash INAV 8.0 WITH Full Chip Erase option enabled
  4. Select Keep current settings from the defaults pop-up
  5. Go to CLI and restore your inav diff
Upgrading from INAV 7.0 and 7.1
  1. Backup configuration with CLI diff all command
  2. Download and install the new INAV Configurator 8.0
  3. Flash INAV 8.0 WITH Full Chip Erase option enabled
  4. Edit the 7.x diff and apply Diff breaking changes described bellow, and save it as your new inav 8 diff. See Diff breaking changes section below.
  5. Select Keep current settings from the defaults pop-up
  6. Go to CLI and restore your edited inav diff
  7. Done

This tool can help migrate your INAV 7.x diff over to INAV 8.0.0. It will take care of the major changes that have been highlighted in these release notes.

Upgrading from older versions

Please follow the instructions on this page.

Highlights

DJI O4 support (updated in 8.0.1)

DJI will soon soon release new firmware for O4, DJI Goggles 2, 3, N3 and integra that will add INAV font and fix the arm detection.

With configurator 8.0.1 you should be able to select DJI_NATIVE as the video system, but if you don't want to upgrade, the AVATAR option should also work.

For O4 firmware V1.00.0100 and earlier, the follwing still applies:

DJI released a new air unit, and while rumors suggested it would include full INAV font support, that is unfortunately not true with the released firmware. There is also a bug on DJI firmware that prevents it from detecting when the flight controller is armed and leaves the air unit stuck in low power mode.

There are two possible workaround for the arming issues:

  1. Turn off low power mode This should work with older INAV versions as well
  2. On INAV 8.0.0, you can type this on the cli: set enable_broken_o4_workaround = ON

With the added workarounds, setup in INAV should be the same as O3.

Geozones

The Geozone feature allows pilots to define one or multiple areas on the map in Mission Control, to prevent accidental flying outside of allowed zones (Flight-Zones, FZ) or to avoid certain areas they are not allowed or not willing to fly in (No-Flight-Zone, NFZ). This type of feature might be known to many pilots as a "Geofence" and despite providing the same core functionality, INAV Geozones are significantly more versatile and provide more safety and features. Read the Documentation for more info IMPORTANT: Geozones will not be available for STM32F722 based Flight Controllers due to insufficient flash storage.

GPS Fix estimation (dead reckoning, RTH without GPS fix) for Airplanes

This new feature allows INAV to return to its launch location, in case of a failed GPS due to hardware failure or interference. INAV will use the remaining sensors and the already calculated wind speed and direction, to blindly return towards the home location. For this feature, no extra sensors are strictly necessary, aside from the standard Accelerometer, Gyroscope and Barometer, but its highly recommended to have a compass and for best precision, to also have an Airspeed sensor. The feature will not be able to precisely return to the pilot, but it allows the Aircraft to either get out of an area with interferences, or to give the pilot time and a chance to regain control for a manual return, when the aircraft is closer. Details here

MSP-Linkstats

A new MSP Message that allows RC links that communicate with the Flight controller via MSP, to provide Link Information to INAV like LQ, RSSI, Power Level, SNR and more. The first RC Link to support this is the mLRS Project with more possibly coming in the future. Details here

MSP-VTX

MSP-VTX has been updated by @geoffsim to increase compatibility with HDZero vtxs.

Mavlink Advancement for MavlinkRC

The previously simple Mavlink Telemetry was extended to be compatible with flow control capable links (Thanks @MUSTARDTIGERFPV). This now allows RC Control via Mavlink and Telemetry at the same time over a Single UART. It is tested successfully with ELRS Mavlink-RC and mLRS Mavlink. Additionally it allows the Use of Mission Planner, QGroundControl and potentially other GCS Applications to be used for Flight Monitoring with INAV. Note: To receive RSSI and LQ for ELRS Mavlink-RC you need to set mavlink_radio_type=ELRS in the CLI. Details here

Walksnail Serial Gimbal and Headtracker support

INAV now also supports the Caddx / Walksnail GM Series Gimbals. These can now be controlled via a dedicated uart UART or via MSP and don't need up to 3 PWM Outputs anymore. This enables the direct Gimbal Control via Head Tracking from Walksnail goggles, without additional wiring. Details Here

OSD Updates
ADSB Receiver Support

It is now possible to connect an ADSB receiver to your flight controller and get OSD Warnings if any ADSB enabled Aircraft, is close by. INAV Configurator can show these Aircraft on the map for additional safety of UAV flights. ADSB is supported for generally available receivers like uAvionix pingRX (not tested) and Aerobit TT-SC1 (tested) and should also work with the upcoming PicoADSB Details here

I-Term Lock for Fixed Wing

The Fixed Wing PIDFF Controller was reworked. The PIDs are now attenuated based in the amount of Setpoint (Stick deflection in Acro Mode) for a more "Manual" flight feel during aggressive inputs while keeping the locked in feel of a PID-Assisted flight. This allows the Pilot to have a PID tune with very high P and I values for a locked in flight feel, while keeping a good manual feeling of the plane's flight characteristics, especially when flying slow. Additionally the Attenuation fixes the Bounce-Back caused by the Integral of the PID controller, after sharp roll or pitch inputs. Details Here

U-Blox AssistNow Support in INAV Configurator

AssistNow is a Service that provides GPS Satellite information data for offline-applications, to dramatically increase the time to fix for GPS Devices. By Providing your own AssistNow Token, INAV Configurator can automatically download the latest data set and transfer it to any connected INAV UAV. With this, a GPS fix after cold start should merely take seconds instead of minutes. This is especially helpful for people who go fly with a big fleet of aircraft. Details here

Sensor ID change for SmartPort telemetry

The sensor IDs for the Modes and GNSS data have changed in SmartPort telemetry. The default settings in INAV are to now use the new sensor IDs. The INAV OpenTX-Telemetry-Widget has been updated to use these new IDs. So you will not see any issues when using the latest version of this widget. However, if you use another widget or app that uses the SmartPort telemetry. It is recommended to inform the creator of the app/widget, as the old sensor IDs will be removed in INAV 10.0.0. Details here

You can change INAV to use the old sensor IDs with the CLI parameter set frsky_use_legacy_gps_mode_sensor_ids = on. However, it is recommended to only use this only as long as necessary. This parameter will also be removed in INAV10.0.0.

Improved SD Card support for F7 and H7 flight controllers using SDIO

This version of INAV fixes some long standing bugs with the SDIO driver for H7 and F765 flight controllers. Now they share the same HAL based driver and fixes. This affects a small number of targets, as most targets use the older and slower SPI based access to SD cards. Moving forward, SDIO is the preferred and recommend way to implement SD Card blackbox in INAV, as it is faster than SPI and support up to 4BIT wide data access, versus SPI 1 bit.

This change affects the following targets:

  • FLYWOOH743PRO
  • IFLIGHT_BLITZ_H7_PRO
  • KAKUTEH7WING
  • MATEKF765
  • MATEKH743
  • MICOAIR743
  • NEUTRONRCH7BT
  • PIXRACER
  • TBS_LUCID_H7
Other important changes:
Diff breaking changes
Profile consolidation

The profile CLI command has been renamed to control_profile. When updating from an older version of INAV. You will need to edit your diff with this change. For example:

# profile
profile 1

set fw_p_pitch = 14
set fw_i_pitch = 5
set fw_d_pitch = 5
set fw_ff_pitch = 137
...

Will become

# profile
control_profile 1

set fw_p_pitch = 14
set fw_i_pitch = 5
set fw_d_pitch = 5
set fw_ff_pitch = 137
...
OSD Custom Elements

If you have previously used OSD Custom Elements. You will need to update the diff for these, so that they continue to work in the same way. The system has been expanded to allow the use of logic condition results and have more numerical variations. To keep your OSD Custom Elements working, you will need to change the element type IDs, if they are 4, 5, 6, or 7. The table below shows the old and new IDs.

Numeric formatOld nameOld IDNew nameNew ID
000CUSTOM_ELEMENT_TYPE_GV_SMALL6CUSTOM_ELEMENT_TYPE_GV_37
00000CUSTOM_ELEMENT_TYPE_GV4CUSTOM_ELEMENT_TYPE_GV_59
0.0CUSTOM_ELEMENT_TYPE_GV_SMALL_FLOAT7CUSTOM_ELEMENT_TYPE_GV_FLOAT_1_110
0000.0CUSTOM_ELEMENT_TYPE_GV_FLOAT5CUSTOM_ELEMENT_TYPE_GV_FLOAT_4_116

Below, you can see the position of the IDs that you need to change if they are 4, 5, 6, or 7.

osd_custom_elements 0 3 0 1 0 0 0 0 0 "FLAPS"
                      ^   ^   ^

CLI

New / Changed Items
NameDescription
geozoneManages the geozone data set
control_profileprofile has been renamed to control_profile
Changed Settings
NameValues
blackbox_deviceNew: FILE (for SITL usage)
debug_modesNew: ADAPTIVE_FILTER, HEADTRACKER, GPS, LULU, SBUS2
dynamic_gyro_notch_modeRemoved: 3D_R, 3D_P, 3D_Y, 3D_RP, 3D_RY, 3D_PY
filter_type_fullNew: LULU
gps_dyn_modelNew: SEA, MOWER
gps_providerRemoved: UBLOX7 (Use UBLOX; version specific capabilities will be auto-detected)
nav_fw_wp_tracking_accuracyNow set distance from waypoint course line in meters rather some arbitrary tracking response value
rangefinder_hardwareNew: TERARANGER_EVO, USD1_V0, NRA
serial_rxNew: SBUS2
New Settings
NameDescription
disarm_alwaysWhen you switch to Disarm, do so regardless of throttle position. If this Setting is OFF. It will only disarm only when the throttle is low. This is similar to the previous disarm_kill_switch option. Default setting is the same as the old default behaviour. Default: TRUE
enable_broken_o4_workaroundDJI O4 release firmware has a broken MSP DisplayPort implementation. This enables a workaround to restore ARM detection. Default: FALSE
ez_snappinessEzTune snappiness Values: 0 - 100 Default: 0
failsafe_gps_fix_estimation_delayControls whether waypoint mission is allowed to proceed with gps fix estimation. Sets the time delay in seconds between gps fix lost event and RTH activation. Minimum delay is 7 seconds. If set to -1 the mission will continue until the end. With default setting(7), waypoint mission is aborted and switched to RTH with 7 seconds delay. RTH is done with GPS Fix estimation. Values: -1 - 600 Default: 7
frsky_use_legacy_gps_mode_sensor_idsS.Port telemetry: If ON, send the legacy telemetry IDs for modes (Tmp1) and GNSS (Tmp2). These are old IDs, deprecated, and will be removed in INAV 10.0. Tools and scripts using these IDs should be updated to use the new IDs of 470 for Modes and 480 for GNSS. Default: 'OFF' Default: FALSE
fw_iterm_lock_engage_thresholdDefines error rate (in percents of max rate) when Iterm Lock is engaged when sticks are release. Iterm Lock will stay active until error drops below this number Values: 5 - 25 Default: 10
fw_iterm_lock_rate_thresholdDefines rate percentage when full P I and D attenuation should happen. 100 disables Iterm Lock for P and D term Values: 10 - 100 Default: 40
fw_iterm_lock_time_max_msDefines max time in milliseconds for how long ITerm Lock will shut down Iterm after sticks are release Values: 100 - 1000 Default: 500
geozone_avoid_altitude_rangeAltitude range in which an attempt is made to avoid a geozone upwards Values: 0 - 1000000 Default: 5000
geozone_detection_distanceDistance from which a geozone is detected Values: 0 - 1000000 Default: 50000
geozone_mr_stop_distanceDistance in which multirotors stops before the border Values: 0 - 100000 Default: 15000
geozone_no_way_home_actionAction if RTH with active geozones is unable to calculate a course to home (RTH, EMRG_LAND). Default: RTH
geozone_safe_altitude_distanceVertical distance that must be maintained to the upper and lower limits of the zone. Values: 0 - 10000 Default: 1000
geozone_safehome_as_inclusiveTreat nearest safehome as inclusive geozone Default: FALSE
geozone_safehome_zone_actionFence action for safehome zone (NONE, AVOID, POS_HOLD, RTH). Default: NONE
gimbal_pan_channelGimbal pan rc channel index. 0 is no channel. Values: 0 - 32 Default: 0
gimbal_pan_trimTrim gimbal pan center position. Values: -500 - 500 Default: 0
gimbal_roll_channelGimbal roll rc channel index. 0 is no channel. Values: 0 - 32 Default: 0
gimbal_roll_trimTrim gimbal roll center position. Values: -500 - 500 Default: 0
gimbal_sensitivityGimbal sensitivity is similar to gain and will affect how quickly the gimbal will react. Values: -16 - 15 Default: 0
gimbal_serial_single_uartGimbal serial and headtracker device share same UART. FC RX goes to headtracker device, FC TX goes to gimbal. Default: FALSE
gimbal_tilt_channelGimbal tilt rc channel index. 0 is no channel. Values: 0 - 32 Default: 0
gimbal_tilt_trimTrim gimbal tilt center position. Values: -500 - 500 Default: 0
gyro_adaptive_filter_hpf_hzHigh pass filter cutoff frequency Values: 1 - 50 Default: 10
gyro_adaptive_filter_integrator_threshold_highHigh threshold for adaptive filter integrator Values: 1 - 10 Default: 4
gyro_adaptive_filter_integrator_threshold_lowLow threshold for adaptive filter integrator Values: -10 - 0 Default: -2
gyro_adaptive_filter_max_hzMaximum frequency for adaptive filter Values: 0 - 505 Default: 150
gyro_adaptive_filter_min_hzMinimum frequency for adaptive filter Values: 0 - 250 Default: 50
gyro_adaptive_filter_std_lpf_hzStandard deviation low pass filter cutoff frequency Values: 0 - 10 Default: 2
gyro_adaptive_filter_targetTarget value for adaptive filter Values: 1 - 6 Default: 3.5
gyro_filter_modeSpecifies the type of the software LPF of the gyro signals (OFF, STATIC, DYNAMIC, ADAPTIVE). Default: STATIC
gyro_lulu_enabledEnable/disable gyro LULU filter Default: FALSE
gyro_lulu_sample_countGyro lulu sample count, in number of samples. Values: 1 - 15 Default: 3
headtracker_pan_ratioHead pan movement vs camera movement ratio Values: 0 - 5 Default: 1
headtracker_roll_ratioHead roll movement vs camera movement ratio Values: 0 - 5 Default: 1
headtracker_tilt_ratioHead tilt movement vs camera movement ratio Values: 0 - 5 Default: 1
headtracker_typeType of headtracker dervice (NONE, SERIAL, MSP). Default: NONE
inav_allow_gps_fix_estimationDefines if inav will estimate GPS fix with magnetometer and barometer on GPS outages. Enables navigation and RTH without GPS fix on fixed wing. Also see failsafe_gps_fix_estimation_delay. Default: FALSE
inav_default_alt_sensorSets the default altitude sensor to use (GPS, BARO, GPS_ONLY, BARO_ONLY). Settings GPS and BARO always use both sensors unless there is an altitude error between the sensors that exceeds a set limit. In this case only the selected sensor will be used while the altitude error limit is exceeded. GPS error limit = 2 * inav_max_eph_epv. BARO error limit = 4 * inav_baro_epv. Settings GPS_ONLY and BARO_ONLY will use only the selected sensor even if the other sensor is working. The other sensor will only be used as a backup if the selected sensor is no longer available to use. Default: GPS
inav_w_z_baro_vWeight of barometer climb rate measurements in estimated climb rate. Setting is used on both airplanes and multirotors. Values: 0 - 10 Default: 0.1
mavlink_min_txbufferMinimum percent of TX buffer space free, before attempting to transmit telemetry. Requuires RADIO_STATUS messages to be processed. 0 = always transmits. Values: 0 - 100 Default: 33
mavlink_radio_typeMavlink radio type (GENERIC, ELRS, SIK). Affects how RSSI and LQ are reported on OSD. Default: GENERIC
nav_fw_alt_control_responseAdjusts the deceleration response of fixed wing altitude control as the target altitude is approached. Decrease value to help avoid overshooting the target altitude. Values: 5 - 100 Default: 40
nav_fw_auto_climb_rateMaximum climb/descent rate that UAV is allowed to reach during navigation modes. [cm/s] Values: 10 - 2000 Default: 500
nav_fw_launch_wiggle_to_wake_idleTrigger the idle throttle by wiggling the plane. 0 = disabled. 1 and 2 signify 1 or 2 yaw wiggles to activate. 1 wiggle has a higher detection point, for airplanes without a tail. 2 wiggles has a lower detection point, but requires the repeated action. This is intended for larger models and airplanes with tails. Values: 0 - 2 Default: 0
nav_fw_manual_climb_rateMaximum climb/descent rate firmware is allowed when processing pilot input for ALTHOLD control mode [cm/s] Values: 10 - 2500 Default: 300
nav_fw_pos_z_ffFF gain of altitude PID controller (Fixedwing) Values: 0 - 255 Default: 10
nav_mc_auto_climb_rateMaximum climb/descent rate that UAV is allowed to reach during navigation modes. [cm/s] Values: 10 - 2000 Default: 500
nav_mc_inverted_crash_detectionSetting a value > 0 enables inverted crash detection for multirotors. It will auto disarm in situations where the multirotor has crashed inverted on the ground and can't be manually disarmed due to loss of control or for some other reason. When enabled this setting defines the additional number of seconds before disarm beyond a minimum fixed time delay of 3s. Requires a barometer to work. Values: 0 - 15 Default: 0
nav_mc_manual_climb_rateMaximum climb/descent rate firmware is allowed when processing pilot input for ALTHOLD control mode [cm/s] Values: 10 - 2000 Default: 200
osd_adsb_distance_alertDistance inside which ADSB data flashes for proximity warning Values: 1 - 64000 Default: 3000
osd_adsb_distance_warningDistance in meters of ADSB aircraft that is displayed Values: 1 - 64000 Default: 20000
osd_adsb_ignore_plane_above_me_limitIgnore adsb planes above, limit, 0 disabled (meters) Values: 0 - 64000 Default: 0
osd_decimals_altitudeNumber of decimals for the altitude displayed in the OSD [3-5]. Values: 3 - 5 Default: 3
osd_decimals_distanceNumber of decimals for distance displayed in the OSD [3-5]. This includes distance from home, total distance, and distance remaining. Values: 3 - 5 Default: 3
osd_estimations_wind_mpsWind speed estimation in m/s Default: FALSE
osd_highlight_djis_missing_font_symbolsShow question marks where there is no symbol in the DJI font to represent the INAV OSD element's symbol. When off, blank spaces will be used. Only relevent for DJICOMPAT modes. Default: TRUE
osd_radar_peers_display_timeTime in seconds to display next peer Values: 1 - 10 Default: 3
osd_stats_show_metric_efficiencyEnabling this option will show metric efficiency statistics on the post flight stats screen. In addition to the efficiency statistics in your chosen units. Default: FALSE
Removed Settings
NameDescription
control_deadband
cpu_underclock
disarm_kill_switch
dji_workarounds
fw_iterm_limit_stick_position
gyro_anti_aliasing_lpf_type
gyro_hardware_lpf
gyro_main_lpf_type
gyro_use_dyn_lpf
inav_use_gps_no_baro
inav_use_gps_velned
ledstrip_visual_beeper
max_throttle
nav_auto_climb_rate
nav_manual_climb_rate
osd_stats_min_voltage_unit
pidsum_limit
pidsum_limit_yaw
What's Changed
New Contributors

Full Changelog: https://github.com/iNavFlight/inav/compare/8.0.0...8.0.1-RC1

View originalPermalink
How 8.0.1-RC1 went
View all

Discussion