2.1.0 Release Notes - iNavFlight/inav GitHub Wiki

Hello and welcome to INAV 2.1.0 Release!

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 Official on Telegram
INAV Official on Facebook

Support developers for free by checking out from the following stores after having clicked on the following links:

Support us on Banggood

Important Notes

  1. INAV 2.1 is the last release of INAV that fully supports F3 and especially Omnibus F3 boards. Due to the lack of flash and RAM, future versions of INAV will either remove functions on F3 or not support those boards at all. STM32F3 are strongly discouraged for new builds and existing builds should be upgraded to F7 boards
  2. Feature AIRMODE is enabled by default on all targets! There is no need to change that on Fixed Wings at all. On Multirotors, if there a need to do so, users might disable it and enable AIRMODE as a flight mode on a switch like before. In the majority of the cases, AIRMODE can be enabled on Multirotors all the time. The two cases when a user might make it conditional are: usage of MOTOR_STOP or disabling for landing.
  3. ASYNC processing is gone. Gyro/Acc updates now happens in sync with the control loop.
  4. DSHOT is one of the new features of INAV 2.1. A digital protocol, like what DSHOT is, can substain a certain amount of noise with no performance degradation and allows a very smooth motor output. This comes at the cost of not offering a way in between a perfectly working setup or a not working one! (Think for instance to you Digital Television!). DSHOT requires a very clean setup and short ESC signal wires run. You might find your DSHOT setup perfectly working on the bench and failing when flying. If you are unsure about your setup just stick with analog protocols like ONESHOT or MULTISHOT. More on the topic can be found here
  5. On fixed wing aircrafts, if a compass is present and enabled, it will used as the only source of heading ignoring GPS course on ground information.

Upgrading from 2.0.0

  1. Be sure to run the latest INAV 2.1 Configuration release. Download from here.
  2. Go to the CLI tab and copy and paste the diff output to a text file for later usage.
  3. Flash INAV 2.1.0 enabling full chip erase . Now you FC should run INAV 2.1.0 Connect again and check the firmware version.
  4. Go to CLI tab and paste all the contents you previously saved into a text file and press enter. Wait for it to finish. Type save and you should be good to go!
  5. Go to the OSD tab, Font Manager and upload a new font to the board if you use the OSD feature.
  6. Enjoy INAV 2.1.0 and explore its new features!

Upgrading from 1.9.X

  1. Be sure to run the latest INAV 2.1 Configuration release. Download from here.
  2. Go to the CLI tab and copy and paste the diff output to a text file for later usage.
  3. Go to the OSD tab and take a screenshot of the current layout
  4. Flash INAV 2.1.0 enabling full chip erase . Now you FC should run INAV 2.0. Connect again and check the firmware version.
  5. Go to the Mixer tab and load and apply your desired mixer.
  6. Go back to your configuration text file and delete all lines starting with: mixer acczero accgain magzero osd. Adjust values to be adjusted noted in the release notes.
  7. Open the CLI tab in the configurator and paste your cleaned up configuration in the text box and type save and press enter. The flight controller will now reboot.
  8. Calibrate the accelerometer following the steps in the dedicated tab. Only first two steps need to be made in the right order.
  9. Calibration of the magnetometer should be done at the field. The magnetic field indoors can be distorted and led to a bad calibration.
  10. Restore manually your OSD layout using the screenshot and upload the font you like using the dedicated button.
  11. Carefully check all the configuration and check on the bench without installed propellers if everything looks good. In particular, check if the model preview behaves correctly when you are moving your model and check surfaces movements for an airplane.
  12. Enjoy INAV 2.1.0 and explore its new features!

New targets:

Temperature sensors support

It is now possible to measure temperatures with the help of the I²C LM75 and 1-Wire DS18B20 chips. The temperature values can be displayed on the OSD and also logged. Up to 8 sensors supported. The support is enabled by default on F4 and F7 FCs. To use with F3 FCs you need to build a custom firmware. See the documentation for more information.

Servo mixer

The maximum rate for a servo mixer rule is now 1000% instead of 125%

CLI:

New

Setting Description
rc_filter_frequency RC data biquad filter cutoff frequency. Lower cutoff frequencies result in smoother response at expense of command control delay. Practical values are 20-50. Set to zero to disable entirely and use unsmoothed RC stick values
fw_iterm_limit_stick_position Iterm is not allowed to grow when stick position is above threshold. This solves the problem of bounceback or followthrough when full stick deflection is applied on poorely tuned fixed wings. In other words, stabilization is partialy disabled when pilot is actively controlling the aircraft and active when sticks are not touched. 0 mean stick is in center position, 1 means it is fully deflected to either side
nav_mc_braking_speed_threshold min speed in cm/s above which braking can happen
nav_mc_braking_disengage_speed braking is disabled when speed goes below this value
nav_mc_braking_timeout timeout in ms for braking
nav_mc_braking_boost_factor acceleration factor for BOOST phase
nav_mc_braking_boost_timeout how long in ms BOOST phase can happen
nav_mc_braking_boost_speed_threshold BOOST can be enabled when speed is above this value
nav_mc_braking_boost_disengage_speed BOOST will be disabled when speed goes below this value
nav_mc_braking_bank_angle max angle that MR is allowed to bank in BOOST mode
osd_artificial_horizon_max_pitch Max pitch, in degrees, for OSD artificial horizon
osd_failsafe_switch_layout If enabled the OSD automatically switches to the first layout during failsafe
osd_imu_temp_alarm_min Temperature under which the IMU temperature OSD element will start blinking (decidegrees centigrade)
osd_imu_temp_alarm_max Temperature above which the IMU temperature OSD element will start blinking (decidegrees centigrade)
osd_baro_temp_alarm_min Temperature under which the baro temperature OSD element will start blinking (decidegrees centigrade)
osd_baro_temp_alarm_max Temperature above which the baro temperature OSD element will start blinking (decidegrees centigrade)
osd_temp_label_align Allows to chose between left and right alignment for the OSD temperature sensor labels

Removed

Setting Description
acc_task_frequency
attitude_task_frequency
async_mode
smix reverse input reverse can be done on the mixer level

Main changes

DSHOT

INAV 2.1 supports DSHOT ESC protocol. It can be configured using motor_pwm_protocol CLI setting. The following versions of DSHOT are supported:

  • DSHOT150
  • DSHOT300
  • DSHOT600
  • DSHOT1200

There is no DSHOT telemetry or DSHOT commands support yet!

Be advised that DSHOT is not well tested on INAV and because of being digital protocol can totally fail on setups with high electrical noise without giving any sign of degradation or motor stuttering.

DSHOT is enabled on following targets:

  • AIRBOTF4
  • ASGARD32F4
  • ASGARD32F7
  • COLIBRI_RACE
  • FIREWORKSV2
  • FOXEERF405
  • FOXEERF722DUAL
  • SPRACINGF7DUAL
  • MATEKF405 (CTR, STD, not WING)
  • MATEKF722
  • MATEKF722SE
  • OMNIBUSF4
  • OMNIBUSF7NXT
  • REVO

Multirotor braking mode

Requirements and setup

  1. Multirotor has to be capable of running 3D Position Hold: GPS, Compass, and Baro are required
  2. MC BRAKING flight mode has to be enabled
  3. UAV has to be put into User Control Mode CRUISE

01

02

Settings

  • nav_mc_braking_speed_threshold - min speed in cm/s above which braking can happen
  • nav_mc_braking_disengage_speed - braking is disabled when speed goes below this value
  • nav_mc_braking_timeout - timeout in ms for braking
  • nav_mc_braking_boost_factor - acceleration factor for BOOST phase
  • nav_mc_braking_boost_timeout - how long in ms BOOST phase can happen
  • nav_mc_braking_boost_speed_threshold - BOOST can be enabled when speed is above this value
  • nav_mc_braking_boost_disengage_speed - BOOST will be disabled when speed goes below this value
  • nav_mc_braking_bank_angle - max angle that MR is allowed to bank in BOOST mode

How it works:

  1. There are two phases BRAKE and BOOST
  2. BRAKE can be started then MC BRAKING mode is enabled, MR is in CRUISE mode, 3D PosHold is enabled, MR is traveling above nav_mc_braking_speed_threshold and pilot releases sticks
  3. INAV will store new PosHold position only when copter will stop, not when stricks are released
  4. On top of that, BOOST phase can be enabled if MR is traveling above nav_mc_braking_boost_speed_threshold
  5. in BOOST phase, MR is allowed to use higher acceleration and banking angle than normal.
  6. Because BOOSTS is limited in time, banking angle much higher than default should be fine

Tuning

Default values should be pretty safe to use. My 6" machine using following values:

set nav_mc_braking_speed_threshold = 100
set nav_mc_braking_disengage_speed = 50
set nav_mc_braking_timeout = 2000
set nav_mc_braking_boost_factor = 150
set nav_mc_braking_boost_timeout = 1000
set nav_mc_braking_boost_speed_threshold = 120
set nav_mc_braking_boost_disengage_speed = 75
set nav_mc_braking_bank_angle = 40

All changes:

⚠️ **GitHub.com Fallback** ⚠️