github iNavFlight/inav 5.0.0
INAV 5 "Ballistic Buzzard"

latest releases: 8.0.0-RC1, v20240613.18, 7.1.2...
2 years ago

INAV 5 Ballistic Buzzard

Hello and welcome to INAV 5.0 "Ballistic Buzzard"

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

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

INAV Discord Server
INAV Official on Facebook

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

Support us on Banggood

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

Tested and suggested hardware can be found here

Important Notes

PCA9685 PWM driver no longer supported

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

Gyro and Acc alignment settings removed

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

GPS Glitch Detection

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

Removal of depreciated MSP frames

INAV 5 removed the support for the following MSP frames:

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

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

Strict MSP payload length checking

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

Upgrading from a previous release

Upgrading from INAV 4 and 4.1

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

Upgrading from older versions

Please follow the instructions on this page.

Important changes

Configurable outputs mode

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

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

Improved landing detection

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

Add the ability to adjust LED Strip color with RC channel

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

An option to not calibrate the gyro during boot

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

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

WP mission waypoint enforce altitude option

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

Improved Altitude Hold controller

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

TBS Sixty9 SA2.1 UART Configuration

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

Rangefinder in Logic Conditions

Adds following value as Logic Conditions Operands:

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

Matek 1G3SE control via IRC Tramp

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

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

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

For details see #7949

Motor update frequency changes

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

PWM function mapping change for some targets

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

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

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

New targets

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

CLI

Changed settings

Name Values
debug_modes New: LANDING
servo_protocol Removed: SERVO_DRIVER

New Settings

Name Description
ground_test_mode For developer ground test use. Disables motors, sets heading status = Trusted on FW. Default: FALSE
gyro_zero_x Calculated gyro zero calibration of axis X Values: -32768 - 32767 Default: 0
gyro_zero_y Calculated gyro zero calibration of axis Y Values: -32768 - 32767 Default: 0
gyro_zero_z Calculated gyro zero calibration of axis Z Values: -32768 - 32767 Default: 0
init_gyro_cal If defined to 'OFF', it will ignore the gyroscope calibration done at each startup. Instead, the gyroscope last calibration from when you calibrated will be used. It also means you don't have to keep the UAV stationary during a startup. Default: TRUE
ins_gravity_cmss Calculated 1G of Acc axis Z to use in INS Values: 0 - 2000 Default: 0.0
nav_fw_auto_disarm_delay Delay before plane disarms when nav_disarm_on_landing is set (ms) Values: 100 - 10000 Default: 2000
nav_wp_enforce_altitude Forces craft to achieve the set WP altitude as well as position before moving to next WP. Position is held and altitude adjusted as required before moving on. Default: FALSE
osd_mah_used_precision Number of digits used to display mAh used. Values: 4 - 6 Default: 4
osd_switch_indicator_one_channnel RC Channel to use for OSD switch indicator 1. Default: 5
osd_switch_indicator_one_name Character to use for OSD switch incicator 1. Values: 0 - 5 Default: GEAR
osd_switch_indicator_three_channnel RC Channel to use for OSD switch indicator 3. Default: 5
osd_switch_indicator_three_name Character to use for OSD switch incicator 3. Values: 0 - 5 Default: LIGT
osd_switch_indicator_two_channnel RC Channel to use for OSD switch indicator 2. Default: 5
osd_switch_indicator_two_name Character to use for OSD switch incicator 2. Values: 0 - 5 Default: CAM
osd_switch_indicator_zero_channnel RC Channel to use for OSD switch indicator 0. Default: 5
osd_switch_indicator_zero_name Character to use for OSD switch incicator 0. Values: 0 - 5 Default: FLAP
osd_switch_indicators_align_left Align text to left of switch indicators Default: TRUE
osd_system_msg_display_time System message display cycle time for multiple messages (milliseconds). Values: 500 - 5000 Default: 1000
output_mode Output function assignment mode. AUTO assigns outputs according to the default mapping, SERVOS assigns all outputs to servos, MOTORS assigns all outputs to motors Default: AUTO
vtx_frequency_group VTx Frequency group to use. Frequency groups: FREQUENCYGROUP_5G8: 5.8GHz, FREQUENCYGROUP_2G4: 2.4GHz, FREQUENCYGROUP_1G3: 1.3GHz. Values: 0 - 2 Default: FREQUENCYGROUP_5G8
vtx_smartaudio_stopbits Set stopbit count for serial (TBS Sixty9 SmartAudio 2.1 require value of 1 bit) Values: 1 - 2 Default: 2
vtx_softserial_shortstop Enable the 3x shorter stopbit on softserial. Need for some IRC Tramp VTXes. Default: FALSE

Removed Items

Name Description
align_acc Use align_board_yaw
align_gyro Use align_board_yaw

Changelist

New Contributors

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

Don't miss a new inav release

NewReleases is sending notifications on new releases.