Beitian BN-880 extremely slow · Issue #3442 · iNavFlight/inav · GitHub

Beitian BN-880 extremely slow · Issue #3442 · iNavFlight/inav · GitHub Роботы
  1. Ability to trim pitch angle for level flight (@dzikuvx)
  2. Accelerometer vibration mitigation
  3. Add d-term to control loop on fixed wing aircraft (@avsaase)
  4. Adjustments
  5. Airplane launch mode improvements
  6. Airspeed estimation
  7. All changes:
  8. Battery capacity monitoring
  9. Beitian bn-880 extremely slow · issue #3442 · inavflight/inav
  10. Beitian bn-880 gps doesn’t work with inav >= 1.6.0 · issue #2285 · inavflight/inav
  11. Bugfixes
  12. Bugs fixed
  13. Changed default settings for fixed wing throttle smoothing in navigation modes (@airwide)
  14. Changed settings
  15. Cli parameter renaming
  16. Cli parameter renaming / new parameters
  17. Configure speed source for dji osd (@dzikuvx)
  18. Continuously trim servos on fixed wing (@avsaase)
  19. Delayed safehome (@tonyyng)
  20. Developers
  21. Do not slow down in wp mission when approaching a waypoint (@dzikuvx)
  22. Emergency arming
  23. Fixed wing rth spiral climb option (@breadoven)
  24. Font update required
  25. Gsm sms telemetry / commands
  26. Gyro processing improvements (@dzikuvx)
  27. How to choose map provider
  28. Improved autotune for fixed wing (@avsaase)
  29. Improved flight performance on planes with rudder (@avsaase)
  30. Inav configurator
  31. Installation
  32. Issue trackers
  33. Known bugs
  34. Linux
  35. Logic conditions
  36. Make cw270flip default mag alignment (@dzikuvx)
  37. Mission waypoints management from the cli
  38. Nav launch (airplane launch assistant) available as feature
  39. New altitude mode for rth
  40. New boards
  41. New drivers and protocols
  42. New experimental features for multirotors
  43. New failsafe system
  44. New features
  45. New navigation-specific osd indications
  46. New piff controller for fixed-wing aircraft
  47. New settings
  48. New targets:
  49. Non-volatile storage for waypoint missions
  50. Optic flow calibration
  51. Option for local plus codes on osd (@avsaase)
  52. Other
  53. Out of range missions
  54. Possibility to change the vtx power level in flight
  55. Rc via mavlink & mavlink v2 support (@harry1453)
  56. Removed
  57. Removed settings
  58. Rename nav cruise mode to nav course hold and add cruise mode which is equivalent to crsh ah (@shellixyz)
  59. Renamed passthrough flight mode (fixed wing)
  60. Renamed settings
  61. Rth sanity checking
  62. Running with debug | inspector
  63. Secondary imu
  64. Stick arming
  65. Support
  66. Support for inav radar
  67. Switched rth preset altitude override (@breadoven)
  68. Turtle mode aka flip over after crash (@kernel-machine)
  69. Upgrading from 2.0.0
  70. Upgrading from 2.1.0
  71. Upgrading from 2.5 or older version
  72. Upgrading from 2.6, 2.6.1
  73. Vtx_smartaudio_early_akk_workaround option (@romanlut)
  74. Warnings
  75. Waypoint mission pre-arming check
  76. Windows
  77. Wp mission landing elevation setting (@breadoven)
  78. Wp mission sealevel altitude datum (@breadoven)
  79. Аппаратные требования
  80. Барометр
  81. Где лучше всего установить gps модуль?
  82. Дополнительные датчики, как их настроить?
  83. Зачем нужен gps на квадрокоптере?
  84. Какой gps модуль лучше купить?
  85. Компас/магнетометр
  86. Настраиваем gps в betaflight
  87. Соединяем gps и полетный контроллер
  88. Тестирование
  89. Update egnos prn mask to latest egsa definition, fix sbas for non-galileo usage (@stronnag)

Ability to trim pitch angle for level flight (@dzikuvx)

  1. The flight controller trimming for level flight on Fixed Wings is no longer a recommended way to do so
  2. Board ROLL and PITCH setting should be changed only when the flight controller is not installed parallel to the wings plane
  3. pitch trim should be done using fw_level_pitch_trim setting. 5 fw_level_pitch_trim means airplane nose should be raised 5 deg from level
  4. Flight mode AUTO LEVEL will automatically trim the pitch angle when ANGLE or HORIZON flight modes are used

Accelerometer vibration mitigation

The altitude/position estimation code is now aware of high accelerometer vibration making INAV to counteract the uncontrolled climb in navigation modes #486. There is no OSD indication of excessive vibration yet.

WARNING: This is an emergency mode of operation. The uncontrolled climb is caused by accelerometer clipping when vibration exceeds the range accelerometer is capable of measuring. This effect is induced by vibration (usually high frequency) and can’t be fully compensated by software filtering so you should soft-mount your FC to minimize the risk of this happening.

Add d-term to control loop on fixed wing aircraft (@avsaase)

You can now use the D-gain to improve the stabilization, especially on small and agile airplanes. Until we have a better understanding of how to tune this on a range of airplanes, the D-gain is set to zero by default and not tuned using autotune. Please report good performing tunes in #6709.


There are now separate adjustments for D and CD/FF gains. This breaks compatibility with diffs from previous releases. Check the adjustments tab in the configurator after restoring a diff to makes sure they are set up correctly.

Airplane launch mode improvements

It’s now possible to specify idle throttle for pre-launch (nav_fw_launch_idle_thr) and time to gradually increase throttle after launch is detected (nav_fw_launch_spinup_time). This allows to have motor spinning even when using MOTOR_STOP feature and will put less stress on ESCs by allowing them to spin up the motor to launch throttle gradually instead of requesting an instantenious throttle change.

Airspeed estimation

It is now possible to get an estimation of the airspeed for fixed wing aircrafts by enabling the “Virtual pitot sensor”. This feature is experimental. It shouldn’t cause any issue though since it is only for now displayed on the OSD and used by the turn assistant.

All changes:

  • New mixer inputs for stabilized axises (@DzikuVx , #4148)
  • STM32F7 Optimizations (@DzikuVx , #4263, #4483)
  • LTM Improvements (@stronnag ,#4423)
  • Temperature Sensing Improvements (@shellixyz ,#4416)
  • Optimizing CMS to save FLASH (@fiam ,#4380)
  • Enforcing Board Allignment Limits (@fiam ,#4420)
  • Logic conditions framework (@DzikuVx , #4144, #4561, #4555, #4551)
  • MSP on VPC Fixes (@digitalentity ,#4468)
  • PT1 Filter option for Acc/Gyro (@giacomo892 ,#4454,#4676)
  • Use imperial units for altitude for UK (@shellixyz ,#4445)
  • Convert NAV POS/VEL PID to PIDFF (@DzikuVx , #4326, #4624)
  • PH Settings aren’t anymore inside PID conf. but have dedicated settings (@DzikuVx , #4484)
  • Fixed Wing FF PIDFF setting now is no more “D” in the configurator (@DzikuVx , #4482)
  • Make Dterm FIR filter configurable (@DzikuVx , #4475 , #4538)
  • Update temperature related MSP messages (@shellixyz ,#4449)
  • Set default home reset to FIRST ARM (@DzikuVx , #4499)
  • Added Servo output logging in BB (@hali9 , #4501)
  • Fixing the left-right arrow mismatch in the OSD fonts (@OlivierC-FR , #4502)
  • Add dedicated OSD elements for map scale and reference (@fiam ,#4386)
  • Manage WPs from CLI (@hali9 , #4473)
  • Remove all MAX7456 specific code, replace it with generic interfaces (@fiam ,#4384)
  • Refactor handling of RC input data (@fiam ,#4232)
  • Replace DEBUG_TRACE with LOG (@fiam ,#4385)
  • Add MAMBAF405 target (@shellixyz ,#4521)
  • Fix emergency landing not engaging from initial RTH climb (@digitalentity ,#4582)
  • SmartAudio 2.1 Support (@digitalentity ,#4596)
  • DSHOT Timers Fixes (@digitalentity ,#4607)
  • GPS distance from home can be > 65km (@giacomo892 ,#4617)
  • OMNIBUSF4V3_SFTSRL2 target (@shellixyz ,#4626)
  • Iterm Relax (@DzikuVx , #4630)
  • Remove Sticks Arming (@DzikuVx , #4640)
  • serial CLI command improvements ( n -n) (@fiam ,#4232)
  • Support for bypassing extra arming safety (@fiam ,#4623)
  • Airmode improvements (@DzikuVx , #4634)
  • Optic flow & surface improvements (@digitalentity ,#3795,#4680)
  • Ignore acceleration in estimated position when clipping or high vibration (@digitalentity ,#4681)
  • Implement RTH Straight (@shellixyz ,#4188)
  • g-force OSD items and stats (@shellixyz ,#4696)
  • Automatic magnetic declination improvements (@fiam , @giacomo892 , #4713)
  • Current consumption alarm in OSD (@nmaggioni ,#4715)
  • Virtual pitot sensor (EXPERIMENTAL) (@hali9 ,#4712)
  • Added Matek Serialshot (@digitalentity ,#4646)
  • GSM Telemetry SIMCom modules (@potater1 ,#4388)
  • Added option to continue mission out of radio range (@shellixyz ,#4731)
  • Smarter RoC/RoD acceleration limit (@digitalentity ,#4448)
  • I2C: Reduce timeout on F7 from 10s to 10ms (@fiam ,#4753)
  • Make INAV 2.1 servo mixing rules compatible with 2.2 (@shellixyz ,#4763)
  • OSD new icons for the Gforce (@OlivierC-FR ,#4772)
  • add FW servos to FURYF4 / MAMBAF405 (@giacomo892 ,#4769)
  • Add MATEKF411 target with one full duplex softserial: MATEKF411_FD_SFTS (@shellixyz ,#4754)
  • RTH Improvements (@digitalentity , @shellixyz , #4769)
  • CMS: Add support for editing FF term in the PID tuning menu (@fiam , #4801)
  • Improve LEDSTRIP clock (@digitalentity ,#4805)
  • Add vario sensor to CRSF telemetry (@shellixyz , #4791)
  • Increase default FW max bank angle from 20 to 35° (@shellixyz , #4785)
  • Change VTX power level via switch (@L4ky , #4717)
  • OSD: Added VTX power indicator (@shellixyz , #4730)

Battery capacity monitoring

It is now possible to display the remaining battery capacity in the OSD and also use the battery capacity thresholds (battery_capacity_warning and battery_capacity_critical) for battery alarms.

For the capacity monitoring to work you need a current sensor (CURRENT_METER feature). For monitoring energy in milliWatt hour you also need voltage measurement (VBAT feature). For best results the current and voltage readings have to be calibrated.

Beitian bn-880 extremely slow · issue #3442 · inavflight/inav

iNav 1.9.3
Omnibus F4 V3
Frsky XSR, SBus
Beitian BN-880, UART 1, stock without any setup or config
Compass, I2C

Beitian 880 is just linked by cable, keeping away from XSR or Battery cable.
Sometime, iNav just show Waiting for GPS 3D Fix, can not find satellite (near window).
Sometimes, it takes more than 15 minutes to find satellite.

Even it finds 5~7 satellite (satellite q’ty jump between 5, 6, 7), still can not arm (FC blue LED is flashing rapidly with beep sound).

May someone teach me how to solve?

Beitian bn-880 gps doesn’t work with inav >= 1.6.0 · issue #2285 · inavflight/inav

Anyone else had issues with the Beitian BN 880 not working with iNav > 1.4?

I see the I2C error count climb, and when it’s in a climbing state, if I disconnect the BN-880 entirely, it still climbs making me think the I2C has got itself in a bad state.

I’ve tried putting a 1K resistor between the 5V, SCL and Ground as well as one between 5V, SDA and ground. I’ve tried swapping those for a 4.7K with no change either…

Running under a OMNIBUS F4 target (with DYS F4 Pro)

Seems to work great in Betaflight


  • Fix flash overflow on F7 targets due to usage of flash_split (@digitalentity, #2535)
  • Update BLHeli passthrough to support BLHeli_32
  • Fix AK8963 compass support (@digitalentity, #2551)
  • Fix timer clash between motors and servos on PIKOBLX (@shellixyz, #2513)
  • Fix non-working UART7/8
  • Fix non-booting OMNIBUSF4 (some variants with MPU6500-family gyro) (@shellixyz, #2575)
  • Fix support for dataflash chips larger than 16MiB (@digitalentity, #2633)
  • Fix VCP issues on F7 targets (@digitalentity, #2647)
  • Fix potential buffer overflow in MSPv2 parsing (@digitalentity, #2689)
  • Fix OSD statistics displaying issues on NTSC screens (@krzysztofmatula, #2721)
  • Fix RCSplit not being detected (increase timeout) (@digitalentity, #2767)
  • Fix OSD blinking on some flawed OSD hardware (allow software blinking) (@fiam, #2452)
  • Fix P gains for Heading Hold not available in CLI (@DzikuVx, #2669)
  • Fix arming with AUTOTRIM enabled (@giacomo892, #2756)
  • Fix hardfault in ledstrip driver due to division by zero (@digitalentity, #2790)
  • Fix non-working channel forwarding on REVO (@digitalentity, [#2870])
  • Fix midrc MSP min/max checks preventing to set midrc outside of 1401:1599 from the configurator (@shellixyz, #2865)

Bugs fixed

  • Telemetry and MSP data corruption on F1 (UART1 only) and F4 (all UARTs) targets
  • Motor 6 output on REVO is now functional
  • Occasional reboot of the board when bluetooth module is disconnected
  • Rare complete stall of attitude/navigation system due to invalid gyro/acceleration data
  • LED STRIP was blinking out one extra satellite when signalling GPS fix
  • 3d_deadband_throttle setting was handled incorrectly by MSP which caused corruption
  • iBUS telemetry not functional bug, many updates
  • Temporary fix for a Sparky 2 compass bug
  • Gave more confidence to accelerometer in IMU computations – should help with attitude drift issue
  • Removed GPS centrifugal forces compensation – was not working properly
  • Throttle opening briefly when ARMing the machine into Altitude Hold mode
  • HoTT telemetry altitude and climb rate reporting fixed
  • Fixed bug when GPS glitch (position/velocity error without loosing GPS FIX) might cause drone to crash
  • HOME_RESET feature will now reset the Home position only once, when switch is flipped from OFF to ON

Changed default settings for fixed wing throttle smoothing in navigation modes (@airwide)

Throttle smoothing in the navigation modes on fixed wing aircraft is now enabled by default. This results in smoother throttle management and more efficient cruising.

Changed settings

blackbox_deviceDefault: target
log_levelDefault: ERROR
nav_overrides_motor_stopWhen set to OFF the navigation system will not take over the control of the motor if the throttle is low (motor will stop). When set to OFF_ALWAYS the navigation system will not take over the control of the motor if the throttle was low even when failsafe is triggered. When set to AUTO_ONLY the navigation system will only take over the control of the throttle in autonomous navigation modes (NAV WP and NAV RTH). When set to ALL_NAV (default) the navigation system will take over the control of the motor completely and never allow the motor to stop even when the throttle is low. This setting only has an effect on NAV modes which take control of the throttle when combined with MOTOR_STOP and is likely to cause a stall if fw_min_throttle_down_pitch isn’t set correctly or the pitch estimation is wrong for fixed wing models when not set to ALL_NAV
nav_rth_climb_firstNew: ON_FW_SPIRAL
platform_typeDefault: MULTIROTOR
receiver_typeDefault: target
rssi_sourceDefault: AUTO
Смотрите про коптеры:  Гоночный FPV-дрон своими руками (часть 2) — настройка / Хабр

Cli parameter renaming

Some CLI parameters are renamed to support new features or to better reflect their meaning:

Old nameNew name(s)
nav_alt_pnav_mc_pos_z_p, nav_fw_pos_z_p
nav_alt_inav_mc_pos_z_i, nav_fw_pos_z_i
nav_alt_dnav_mc_pos_z_d, nav_fw_pos_z_d
servo_lowpass_enableRemoved. To disable filtering set servo_lpf_hz to zero
Non-Nav Paramters (for PIFF)
p_pitchmc_p_pitch, fw_p_pitch
i_pitchmc_i_pitch, fw_i_pitch
d_pitchmc_d_pitch, fw_ff_pitch
p_rollmc_p_roll, fw_p_roll
i_rollmc_i_roll, fw_i_roll
d_rollmc_d_roll, fw_ff_roll
p_yawmc_p_yaw, fw_p_yaw
i_yawmc_i_yaw, fw_i_yaw
d_yawmc_d_yaw, fw_ff_yaw
p_levelmc_p_level, fw_p_level
i_levelmc_i_level, fw_i_level
d_levelmc_d_level, fw_d_level

Cli parameter renaming / new parameters

New parameters have been introduced. Some CLI parameters were renamed to support new features or to better reflect their meaning:

rangefinder_median_filterDefault is OFF
failsafe_lightsEnable or disable the lights when the FAILSAFE flight mode is enabled. The target needs to be compiled with USE_LIGHTS [ON/OFF]. Default is ON
failsafe_lights_flash_periodTime in milliseconds between two flashes when failsafe_lights is ON and FAILSAFE flight mode is enabled [40-65535]. Default is 1000ms.
failsafe_lights_flash_on_timeFlash lights ON time in milliseconds when failsafe_lights is ON and FAILSAFE flight mode is enabled. [20-65535]. Default is 100ms.
battery_capacitySet the battery capacity in mAh or mWh (see battery_capacity_unit). Used to calculate the remaining battery capacity. Default is 0
battery_capacity_warningIf the remaining battery capacity goes below this threshold the beeper will emit short beeps and the relevant OSD items will blink. Default is 0
battery_capacity_criticalIf the remaining battery capacity goes below this threshold the battery is considered empty and the beeper will emit long beeps. Default is 0
battery_capacity_unitUnit used for battery_capacity, battery_capacity_warning and battery_capacity_critical [MAH/MWH] (milliAmpere hour / milliWatt hour). Default is MAH
manual_rc_expoExposition value used for the PITCH/ROLL axes by the MANUAL flight mode [0-100]. Default is 70
manual_rc_yaw_expoExposition value used for the YAW axis by the MANUAL flight mode. Default is 20
manual_pitch_rateServo travel multiplier for the PITCH axis in MANUAL flight mode [0-100]%. Default is 100%
manual_roll_rateServo travel multiplier for the ROLL axis in MANUAL flight mode [0-100]%. Default is 100%
manual_yaw_rateServo travel multiplier for the YAW axis in MANUAL flight mode [0-100]%. Default is 100%
gps_ublox_use_galileoEnable use of Galileo satellites. This is at the expense of other regional constellations, so benefit may also be regional. Requires M8N and Ublox firmware 3.x (or later) [OFF/ON]. Default is OFF
smartport_fuel_unitUnit of the value sent with the FUEL ID through the S.Port telemetry. Replaces the smartport_fuel_percent setting [PERCENT/MAH/MWH]. Default is PERCENT
osd_stats_energy_unitUnit used for the drawn energy in the OSD stats [MAH/WH] (milliAmpere hour/ Watt hour). Default is MAH
osd_main_voltage_decimalsNumber of decimals for the battery voltages displayed in the OSD [1-2]. Default is 1
mag_to_useAllow to chose between built-in and external compass sensor if they are connected to separate buses. Currently only for REVO target
nav_fw_launch_min_timeAllow launch mode to execute at least this time (ms) and ignore stick movements [0-60000]. Default is 0
nav_fw_launch_max_altitudeAltitude (centimeters) at which LAUNCH mode will be turned off and regular flight mode will take over [0-60000]. Default is 0

Configure speed source for dji osd (@dzikuvx)

The default behavior of the DJI OSD speed element was to display a ground speed. osd_speed_source can be set to GROUND, AIR or 3D speed depending on the preference

Continuously trim servos on fixed wing (@avsaase)

There is now the option to continuously trim the servos for straight and level flight. When enabled and flying straight and level, INAV records what servo output is required to maintain a constant attitude, and adjusts the servo midpoints accordingly.

The servo midpoints are limited to the 1300-1700 range. After the first maiden flight, and after the first flight when significant changes have been made to the airplane, check the servo midpoints. If they are at or close to the end of this range mechanically adjust the control surfaces.

Delayed safehome (@tonyyng)

Safehome does not now replace the arming location until it is needed. If you cancel RTH or recover from RX failsafe, the original arming location is restored as the home location. Under normal circumstances, “distance to home” will revert to range from the arming location.


We accept clean and reasonable patches, submit them!

Do not slow down in wp mission when approaching a waypoint (@dzikuvx)

When nav_mc_wp_slowdown is set to OFF, Waypoint missions on Multirotors will be smoother as the NAV engine will not try to slow down before entering the waypoint and then accelerate towards the next waypoint. INAV will rather enter WP with normal speed, switch to the next waypoint and then adjust heading while flying.

Emergency arming

Enabling and disabling the arming switch 10 times during a 10s window will override arming checks for level, navigation unsafe, compass not calibrated and some hardware failures (it will only enforce gyro and acc to be working). Useful for example if you’re stuck in a tree.

Fixed wing rth spiral climb option (@breadoven)

Yeap, now when nav_rth_climb_first is set to ON_FW_SPIRAL, Fixed Wing will keep litering and gaining altitude until it reaches desired altitude. Previously, it was climbing while flying straight in random direction

Font update required

The OSD fonts have been improved (@Jettrel) and there are several new symbols. A font file update is required to use the new symbols and avoid an invalid font warning. Upload the updated font of your choosing from the OSD tab.

We suggest NOT to do a full diff or dump upgrade. To get the best performance set up your aircraft from scratch. You can copy osd, aux, serial, and mixer settings, as well as accelerometer and magnetometer calibration values from INAV 2.6, but other settings should be tuned again.

Gsm sms telemetry / commands

INAV can use a SimCom SIM800 series cellular module to provide telemetry via text messages. Telemetry messages can be requested by calling the module’s number or sending it a text message. The module can be set to transmit messages at regular intervals, or when an acceleration event is detected. A text message command can be used to put the flight controller into RTH mode.

You can find more details in the related documentation

Gyro processing improvements (@dzikuvx)

As part of gyro processing updates, the following changes were made:

  1. gyro_sync is gone, INAV no longer does a wait cycle trying to get the next set of data from the gyro.
  2. Gyro data acquisition is no longer part of the main PID task
  3. Gyro data is acquired with a constant rate of 4kHz and filters with an anti-aliasing filter (gyro_anti_aliasing_lpf_hz). In normal circumstances, there is no need to change this setting
  4. All the other filters are running as part of the main PID task as before
  5. The gyro low-pass filter gyro_lpf_hz was renamed to gyro_main_lpf_hz

How to choose map provider

  1. Click Settings icon in the top-right corner of INAV Configurator
  2. Choose provider: OpenStreetMap, Bing, or MapProxy
  3. In the case of Bing Maps, you have to provide your own, personal, generated by you, Bing Maps API key
  4. For MapProxy, you need to provide a server URL and layer name to be used

Improved autotune for fixed wing (@avsaase)

AUTOTUNE can now automatically set the correct rates for your airplane. The goal is to set rates that the airplane is capable of achieving with 80% control surface deflection so there is some room for the stabilization to work. This feature is controlled by CLI setting fw_autotune_rate_adjustment.

When set to AUTO (the default), autotune automatically determines the rates and gains. When set to MAX, rates will be automatically adjusted, but never above the starting values. This can be used to calm down a very agile plane, while still avoiding setting too high rates.

Improved flight performance on planes with rudder (@avsaase)

In ACRO mode, you can mitigate the problem of the rudder fighting bank-and-yank turns by disabling the I-term when the bank angle is above a given threshold. Set the desired bank angle threshold on the Mechanics tab under PID tuning. 10 degrees is a good starting point.

Inav configurator

INAV Configurator is a crossplatform configuration tool for the INAV flight control system.

It runs as an app within Google Chrome and allows you to configure the INAV software running on any supported INAV target.

Various types of aircraft are supported by the tool and by INAV, e.g. quadcopters, hexacopters, octocopters and fixed-wing aircraft.


Depending on target operating system, INAV Configurator is distributed as standalone application or Chrome App.

Issue trackers

For INAV configurator issues raise them here

Known bugs

  • Fixed wing launch mode may fail
  • Failsafe Stage 2 doesn’t show as enabled in Configurator (it is always enabled, it’s only UI bug)


  1. Visit release page
  2. Download Configurator for Linux platform (linux32 and linux64 are present)
  3. Extract tar.gz archive
  4. Make the following files executable:
    • inav-configurator chmod x inav-configurator
    • (5.0.0 ) chrome_crashpad_handler chmod x chrome_crashpad_handler
  5. Run INAV Configurator app from unpacked folder

On some Linux distros, you may be missing libatomic, a NW.JS (specially dependency. If so, please install libatomic using your distro’s package manager, e.g:

  • Arch Linux: sudo pacman -S --needed libatomic_ops
  • Debian / Ubuntu: sudo apt install libatomic1
  • Fedora: sudo dnf install libatomic

Logic conditions

Logic conditions is a new function framework that in INAV 2.2 allows to activate and deactivate specific servo mixer rules.

Logic conditions can evaluate RC channels, flight parameters, and other logic conditions into true/false and activate/deactivate servo mixer rules. It opens possibilities like:

  • automatically deploy flaps when speed is too low
  • activate servo when distance or altitude has been reached
  • flaps/spoilers with different throws

Future versions of INAV will allow using Logic conditions to switch motor mixer banks and make other overrides that currently cannot be changed during flight or be activated by flight conditions

Make cw270flip default mag alignment (@dzikuvx)

New FCs rarely feature onboard compass, and most GPS MAG default to CW270FLIP, so this is now the INAV default. If you use another value, check your setup after upgrading.

Mission waypoints management from the cli

The saved mission waypoints can now be managed from the CLI with the wp command. They are present when doing a diff/dump meaning that they can now be restored easily along with the other settings.

The mode can now be permanently enabled via the configurator or the CLI using feature FW_LAUNCH in this case NAV LAUNCH doesn’t need to be enabled via a transmitter switch prior to arming freeing a switch for other uses. If you inadvertently disarm mid-air, NAV LAUNCH will be active again after arming again so, before raising the throttle again (you should lower the throttle to arm again) move pitch/roll stick and you will have full control back.

New altitude mode for rth

When new altitude mode AT_LEAST_LINEAR_DESCENT is chosen the aircraft will climb to the set rth_altitude if bellow or start from the current altitude then en route to home will descend linearly to hit the set home_altitude when reaching home.

New boards

  • NAZE target is split to actual NAZE and AIRHERO32 for MWC AirHero32 board
  • PIXRACER board initial support. Experimental – many features are not yet functional
  • OMNIBUS F4 PRO target
  • F4BY target

New drivers and protocols

  • Rangefinder “GY-US42(v2) Ultrasonic Range Sensor
  • Rangefinder vl53l1x
  • BNO055 Secondary IMU
  • BMI088 IMU

New experimental features for multirotors

  • Smith Predictor on gyro signal helps to reduce the delay introduced by gyro filters. It’s disabled by default. To enable, use set smith_predictor_delay = 3. More details about this feature will follow later
  • Alpha-Beta-Gamma filter is a relative of the Kalman filter and other prediction filters. Disabled by default. To enable, set gyro_abg_alpha = 0.25 or higher value. It requires a very clean gyro signal or might introduce oscillations on the high throttle. If the multirotor started to vibrate after enabling the Alpha-Beta-Gamma filter, you either have to improve the gyro filter strategy or disable the ABG filter. It works great on some builds and not so great or other. It’s up to you to test.
  • Dynamic Gyro Main LPF – Dynamic gyro LPF with the cutoff frequency depending on throttle position. To enable set gyro_use_dyn_lpf=ON and set gyro_dyn_lpf_min_hz and gyro_dyn_lpf_max_hz. Dynamic LPF replaces gyro_main_lpf_hz

New failsafe system

Failsafe Stage 1 is completely gone now, rxfail command is deprecated. Everything that is called “FAILSAFE” is now related to actual failsafe procedure. Failsafe FEATURE is deprecated – failsafe system is always functional and ready to catch you.

Смотрите про коптеры:  Рыбка-робот: советы по эксплуатации

New “NONE” failsafe procedure is introduced to allow completely ignoring RC link loss. Be warned that you are no longer protected from flying out of range when using this feature.

A bunch of new parameters allow “LAND” procedure to work on fixed-wing aircraft as well. Failsafe will now command a slight dive, bank and yaw to bring the airplane down nicely in case of link loss. Previous behavior was to maintain level flight and fly-away.

New parameter rx_nosignal_throttle defines how throttle channel will behave in case of link loss. Options are DROP and HOLD. Roll, Pitch and Yaw channels are centered and this behavior can’t be changed anymore. This behavior is only applied for a small amount of time before FAILSAFE kicks in and starts doing something smart.

New parameter failsafe_stick_threshold will allow you to keep FAILSAFE active even if the RC link is restored. You will have to move your sticks more than failsafe_stick_threshold to regain control. This is done to allow nice return-to-home in case of signal loss.

New features

  • [COMPASS] Allow to chose between internal and external compass on REVO target (@digitalentity, #2522)
  • [COMPASS] Support for QMC5883 compass chips that incorrectly mimic the HMC58883 (@digitalentity, #2809)
  • [SYSTEM] Migrate to busDevice abstraction layer for better device access abstraction (@digitalentity, #2290)
  • [SYSTEM] Create dedicated F427 startup file (@digitalentity, #2559)
  • [MOTOLAB] Allow MOTOLAB target to be used for airplanes (@shellixyz, #2502)
  • [GPS] Enables use of Galileo satellites for NEO-M8N GPS units (@stronnag, #2583)
  • [CALIBRATION] Add API for Calibration tab in Configurator
  • [OSD] Allow OSD mode to disable OSD (@shellixyz, #2676)
  • [OSD] Increase odometer accuracy (@digitalentity, #2757)
  • [OSD] Add more battery-related indicators (including efficiency)
  • [LIGHTS] Add LIGHTS flight mode to enable/disable GPIO-driven equipment (@shellixyz, #2675)
  • [LAUNCH] Allow LAUNCH mode to ignore sticks for certain amount of time (@shellixyz, #2677)
  • [LAUNCH] Allow LAUNCH mode to be permanently enabled as FW_LAUNCH feature (@giacomo892, #2731)
  • [MSP] API to support smix/mmix configuration via Configurator (@DzikuVx, #2693)
  • [MSP] Add no-reply flag to allow MSP messages that don’t need a response (@digitalentity, #2762)
  • [COMPASS] Enable QMC5883, MAG3110 and IST8310 on most of the targets (@digitalentity, #2699)
  • [AIRPLANE] Replace PASSTHROUGH with MANUAL flight mode (@shellixyz, #2661)
  • [BATTERY] Improve battery monitoring and resolution (@shellixyz, #2705)
  • [SYSTEM] Remove SoftSPI implementation since it’s not used (@DzikuVx, #2726)
  • [SYSTEM] Allow in-flight adjustments of board alignment, cruise throttle and pitch2thr (@shellixyz, #2768)
  • [SYSTEM] Trace messages output for easier debugging (@digitalentity, #2691)

New navigation-specific osd indications

Now board with build-in OSD (Omnibus FC) will have indications that make it suitable for navigation:

  • GPS coordinates
  • Home distance and direction
  • Current heading
  • Climb rate (vario)

New piff controller for fixed-wing aircraft

Introducing new Proportional Integral Feed Forward controller for airplanes. It’s more suitable for airplanes due to the nature of control they are using. It also puts less stress on servos. D-term in Configurator will now control Feed-Forward gain which passes angular rate target directly to servos bypassing closed loop gyroscope stabilisation.

If you want direct migration from INAV 1.5 to 1.6 without using the new FF part of the controller you need to do:Keep P-Gain as it wasDivide I-Gain by 3.5Zero out D-Gain / FF-gain. ( So you will loose the D-gain, but this was never recommended to use. )

New settings

dji_speed_sourceSets the speed type displayed by the DJI OSD: GROUND, 3D, AIR Default: GROUND
dshot_beeper_enabledWhether using DShot motors as beepers is enabled Default: TRUE
dshot_beeper_toneSets the DShot beeper tone Values: 1 – 5 Default: 1
fw_d_pitchFixed wing rate stabilisation D-gain for PITCH Default: 0
fw_d_rollFixed wing rate stabilisation D-gain for ROLL Default: 0
fw_d_yawFixed wing rate stabilisation D-gain for YAW Default: 0
fw_level_pitch_trimPitch trim for self-leveling flight modes. In degrees. 5 means airplane nose should be raised 5 deg from level Values: -10 – 10 Default: 0
fw_yaw_iterm_freeze_bank_angleYaw Iterm is frozen when bank angle is above this threshold [degrees]. This solves the problem of the rudder counteracting turns by partially disabling yaw stabilization when making banked turns. Setting to 0 (the default) disables this feature. Only applies when autopilot is not active and TURN ASSIST is disabled. Values: 0 – 90 Default: 0
gyro_abg_alphaAlpha factor for Gyro Alpha-Beta-Gamma filter Values: 0 – 1 Default: 0
gyro_abg_boostBoost factor for Gyro Alpha-Beta-Gamma filter Values: 0 – 2 Default: 0.35
gyro_abg_half_lifeSample half-life for Gyro Alpha-Beta-Gamma filter Values: 0 – 10 Default: 0.5
gyro_anti_aliasing_lpf_hzGyro processing anti-aliasing filter cutoff frequency. In normal operation this filter setting should never be changed. In Hz Values: 0 – 255 Default: 250
gyro_anti_aliasing_lpf_typeSpecifies the type of the software LPF of the gyro signals. Default: PT1
gyro_dyn_lpf_curve_expoExpo value for the throttle-to-frequency mapping for Dynamic LPF Values: 1 – 10 Default: 5
gyro_dyn_lpf_max_hzMaximum frequency of the gyro Dynamic LPF Values: 40 – 1000 Default: 500
gyro_dyn_lpf_min_hzMinimum frequency of the gyro Dynamic LPF Values: 40 – 400 Default: 200
gyro_main_lpf_hzSoftware based gyro main lowpass filter. Value is cutoff frequency (Hz) Values: 0 – 500 Default: 60
gyro_main_lpf_typeDefines the type of the main gyro LPF filter. Possible values: PT1, BIQUAD. PT1 offers faster filter response while BIQUAD better attenuation. Default: BIQUAD
gyro_use_dyn_lpfUse Dynamic LPF instead of static gyro stage1 LPF. Dynamic Gyro LPF updates gyro LPF based on the throttle position. Default: FALSE
imu2_align_pitchPitch alignment for Secondary IMU. 1/10 of a degree Values: -1800 – 3600 Default: 0
imu2_align_rollRoll alignment for Secondary IMU. 1/10 of a degree Values: -1800 – 3600 Default: 0
imu2_align_yawYaw alignment for Secondary IMU. 1/10 of a degree Values: -1800 – 3600 Default: 0
imu2_gain_acc_xSecondary IMU ACC calibration data Values: -32768 – 32767 Default: 0
imu2_gain_acc_ySecondary IMU ACC calibration data Values: -32768 – 32767 Default: 0
imu2_gain_acc_zSecondary IMU ACC calibration data Values: -32768 – 32767 Default: 0
imu2_gain_mag_xSecondary IMU MAG calibration data Values: -32768 – 32767 Default: 0
imu2_gain_mag_ySecondary IMU MAG calibration data Values: -32768 – 32767 Default: 0
imu2_gain_mag_zSecondary IMU MAG calibration data Values: -32768 – 32767 Default: 0
imu2_hardwareSelection of a Secondary IMU hardware type. NONE disables this functionality Default: NONE, values NONE, BNO055, BNO055_SERIAL
imu2_radius_accSecondary IMU MAG calibration data Values: -32768 – 32767 Default: 0
imu2_radius_magSecondary IMU MAG calibration data Values: -32768 – 32767 Default: 0
imu2_use_for_osd_ahiIf set to ON, Secondary IMU data will be used for Analog OSD Artificial Horizon Default: FALSE
imu2_use_for_osd_headingIf set to ON, Secondary IMU data will be used for Analog OSD heading Default: FALSE
imu2_use_for_stabilizedIf set to ON, Secondary IMU data will be used for Angle, Horizon and all other modes that control attitude (PosHold, WP, RTH) Default: FALSE
mavlink_versionVersion of MAVLink to use Values: 1 – 2 Default: 2
nav_land_maxalt_vspdVertical descent velocity above nav_land_slowdown_maxalt during the RTH landing phase. [cm/s] Values: 100 – 2000 Default: 200
nav_land_minalt_vspdVertical descent velocity under nav_land_slowdown_minalt during the RTH landing phase. [cm/s] Values: 50 – 500 Default: 50
nav_max_altitudeMax allowed altitude (above Home Point) that applies to all NAV modes (including Altitude Hold). 0 means limit is disabled Values: 0 – 65000 Default: 0
nav_mc_wp_slowdownWhen ON, NAV engine will slow down when switching to the next waypoint. This prioritizes turning over forward movement. When OFF, NAV engine will continue to the next waypoint and turn as it goes. Default: TRUE
nav_rth_alt_control_overrideIf set to ON RTH altitude and CLIMB FIRST settings can be overridden during the RTH climb phase using full pitch or roll stick held for > 1 second. RTH altitude is reset to the current altitude using pitch down stick. RTH CLIMB FIRST is overridden using right roll stick so craft turns and heads directly to home (CLIMB FIRST override only works for fixed wing) Default: FALSE
osd_pan_servo_indexIndex of the pan servo to adjust osd home heading direction based on camera pan. Note that this feature does not work with continiously rotating servos. Values: 0 – 10 Default: 0
osd_pan_servo_pwm2centidegCentidegrees of pan servo rotation us PWM signal. A servo with 180 degrees of rotation from 1000 to 2000 us PWM typically needs 18 for this setting. Change sign to inverse direction. Values: -36 – 36 Default: 0
osd_plus_code_shortNumber of leading digits removed from plus code. Removing 2, 4 and 6 digits requires a reference location within, respectively, ~800km, ~40 km and ~2km to recover the original coordinates. Default: 0
osd_sidebar_heightHeight of sidebars in rows. 0 leaves only the level indicator arrows (Not for pixel OSD) Values: 0 – 5 Default: 3
osd_stats_min_voltage_unitDisplay minimum voltage of the BATTERY or the average per CELL in the OSD stats. Default: BATTERY. Options BATTERY, CELL
osd_telemetryTo enable OSD telemetry for antenna tracker. Possible values are OFF, ON and TEST Default: OFF
prearm_timeoutDuration (ms) for which Prearm being activated is valid. after this, Prearm needs to be reset. 0 means Prearm does not timeout. Values: 0 – 10000 Default: 10000
safehome_max_distanceIn order for a safehome to be used, it must be less than this distance (in cm) from the arming point. Values: 0 – 65000 Default: 20000
safehome_usage_modeUsed to control when safehomes will be used. Possible values are OFF, RTH and RTH_FS. See Safehome documentation for more information. Default: RTH
servo_autotrim_rotation_limitServo midpoints are only updated when total aircraft rotation is less than this threshold [deg/s]. Only applies when using feature FW_AUTOTRIM. Values: 1 – 60 Default: 15
smith_predictor_delayExpected delay of the gyro signal. In milliseconds Values: 0 – 8 Default: 0
smith_predictor_lpf_hzCutoff frequency for the Smith Predictor Low Pass Filter Values: 1 – 500 Default: 50
smith_predictor_strengthThe strength factor of a Smith Predictor of PID measurement. In percents Values: 0 – 1 Default: 0.5
turtle_mode_power_factorTurtle mode power factor Values: 0 – 100 Default: 55
vtx_smartaudio_early_akk_workaroundEnable workaround for early AKK SAudio-enabled VTX bug. Default: TRUE
osd_rssi_dbm_alarmRSSI in dBm alarm for Crossfire. Default: 0
nav_wp_load_on_bootIf set to ON, waypoints will be automatically loaded from EEPROM to the FC during startup. Default: OFF

New targets:

  • Diatone MambaF405US_I2C
  • FLYWOOF411_V2
  • Mamba F722_I2C
  • FLYWOOF745

Non-volatile storage for waypoint missions

As requested a lot – you now have possibility to create and upload a waypoint mission at home, go to the field, plug in the battery and fly the mission without the need to re-upload it.

Until GCS support is done you have two stick combos to do this:

Save current waypoint missionLOWCENTERHIGHLOW
Load current waypoint missionLOWCENTERHIGHHIGH

Mission is saved in Configuration memory and only one mission at a time can be saved. Feature is only available on F3 targets due to lack of space on F1.

Optic flow calibration

Finally for the machines equipped with optic flow we have a calibration logic. After pressing the button in the Configurator you have 30 seconds to hold the copter in the air and tilt it to sides without moving it horizontally. The calibration code inside the flight controller will calculate the opflow_scale variable automatically.

Option for local plus codes on osd (@avsaase)

This adds the option to remove the first 2, 4, or 6 digits from the OSD plus code. Doing so requires a reference location (for example your current location when using Google Maps on your phone) within ~800, ~40, and ~2km, respectively.

Смотрите про коптеры:  Здесь косит робот: тест четырех роботов-газонокосилок


You can get more suggestions following this link too.

Out of range missions

It is now possible to disable the failsafe mechanism for the NAV WP mode (autonomous missions) by setting failsafe_mission to OFF. The aircraft will then continue autonomous missions even when the link is lost with the remote control.

Possibility to change the vtx power level in flight

It is now possible to change the VTX power level in flight with the help of RC adjustments.

MAVLink is still only a downlink from UAV to the ground station, but now allows to use RC-Over-MAVLink

Prearm offers a two-stage arming process as an optional additional safety feature.

  • Activate prearm (normally a button or momentary switch)
  • Activate arm

H7 is available in the source repository; target Hex files will be released as targets mature, probably in the future point releases.



Removed settings

nav_landing_speedreplaced by nav_land_minalt_vspd and nav_land_maxalt_vspd

Rename nav cruise mode to nav course hold and add cruise mode which is equivalent to crsh ah (@shellixyz)

To more clearly state what they do and how they work. It’s a subtle, but worth it to change for sure!

Renamed passthrough flight mode (fixed wing)

The PASSTHROUGH flight mode has been renamed to MANUAL. New settings also have been added to allow the use of different servo rates (or control weight) for the servos when flying without stabilization without using a programmable remote control.

The exposition settings for roll/pitch and yaw controls are now also also independent from the exposition settings used for stabilized flight modes. See the manual_* settings in the CLI settings table below. The default settings make the MANUAL flight mode behave exactly as the old PASSTHROUGH flight mode.

Renamed settings

Old nameNew name
gyro_lpf_hzReplaced with gyro_main_lpf_hz
gyro_lpf_typeReplaced with gyro_main_lpf_type
gyro_stage2_lowpass_hzReplaced with gyro_anti_aliasing_lpf_hz
gyro_stage2_lowpass_typeReplaced with gyro_anti_aliasing_lpf_type

Rth sanity checking

Misconfigured or malfunctioning compass can confuse the firmware in such a way that it won’t realize where North direction is. This may cause the machine to fly in wrong direction when i.e. doing an RTH and fly away instead of returning to home.

Another case is flying in extremely strong wind which machine is unable to fight. In such case RTH will attempt to bring machine home but will never succeed and UAV will be blown away.

Running with debug | inspector

To be able to open Inspector, you will need SDK flavours of NW.js

npm install [email protected] –nwjs_build_type=sdk

Secondary imu

INAV 3.0 supports, as an experimental feature, external BNO055 connected as either I2C or Serial device. Data from BNO055 can be used to display Artificial Horizon in OSD, Heading in OSD or drive the self-leveling ANGLE and HORIZON modes. Secondary IMU will not be used for navigation yet!

Stick arming

Stick arming have been removed for security reasons


INAV Configurator comes as is, without any warranty and support from authors. If you found a bug, please create an issue on GitHub.

GitHub issue tracker is reserved for bugs and other technical problems. If you do not know how to setup
everything, hardware is not working or have any other support problem, please consult:

Support for inav radar

INAV 2.2 introduces the support for Radar ESP32 boards. They can be used to share information (including position) between multiple machines. This enables, for instance, the possibility to display the positions live on the OSD.More infos can be found in the dedicated wiki page here: here

Switched rth preset altitude override (@breadoven)

Provides stick options to override configured RTH climb and/or turn behaviour. See the nav_rth_alt_control_override setting description for details.

Turtle mode aka flip over after crash (@kernel-machine)

INAV now has a “Turtle Mode”.

  • Requires DSHOT ESC protocol
  • Assign a switch to TURTLE mode
  • Ensure you can arm at any angle

Upgrading from 2.0.0

  1. Please follow the upgrade guide to 2.1.0 and then step to the previous section.

Upgrading from 2.1.0

  1. Download and install the new configurator
  2. Save to a file the current diff from the CLI.
  3. Upgrade to INAV 2.2 using the Full Erase option in the configurator.
  4. Upload your OSD font of choice from the OSD tab.
  5. Go the CLI again and paste the contents on the file you previously create and write save , press ENTER and done!
  6. If you armed with via sticks, add an arming switch in the Modes tab in the configurator.
  7. If you are upgrading a multi rotor, POS XY PID I and D have now specific settings, respectively nav_mc_pos_deceleration_time and nav_mc_pos_expo . So if you don’t use defaults, when restoring, move yours to the new settings.
  8. You should be ready, explore new 2.2 features and enjoy!

Upgrading from 2.5 or older version

Please follow the instructions on this page.

Upgrading from 2.6, 2.6.1

  1. Download and install the new configurator
  2. Save to a file the current diff all from the CLI.
  3. Upgrade to INAV 3.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 3.0 features, and enjoy!

Vtx_smartaudio_early_akk_workaround option (@romanlut)

If your old AKK VTX is not working, use vtx_smartaudio_early_akk_workaround to fix it!


  • If you are using HMC5883/HMC5983 compass it is advised to recalibrate. Please don’t restore the old settings from the dump/diff script.
  • Internal scaling for VEL_XY PID setting has changed. It is advised to use default setting (40) as a starting point. Old setting from 1.8 or earlier will probably cause severe oscillation.

Waypoint mission pre-arming check

Navigation safety checks will now include check for waypoint mission sanity. If you have a mission uploaded to FC pre-arming check will verify that first (starting) waypoint is within nav_wp_safe_distance [cm](default 10000cm = 100m) from current UAV position.


  1. Visit release page
  2. Download Configurator for Windows platform (win32 or win64 is present)
  3. Extract ZIP archive
  4. Run INAV Configurator app from unpacked folder
  5. Configurator is not signed, so you have to allow Windows to run untrusted application. There might be a monit for it during first run

Wp mission landing elevation setting (@breadoven)

The relative / absolute ground altitude of a LAND waypoint may be set as WP paramater 2 (m). See the inav wiki for details.

Nothing to add. If DSHOT is enabled, DSHOT beeper will be used.

Wp mission sealevel altitude datum (@breadoven)

Prior to inav 3.0, mission waypoint altitudes are relative the arming location. It is now possible to define waypoints with absolute (AMSL) altitude, making the mission independent of the arming location. See the inav wiki for details (WP paramater 3)

Аппаратные требования

Если вы используете прошивку Betaflight, тогда потребуется ПК на F4 или F7. Из-за недостатка памяти в платах на F3 этот функционал на них недоступен (смотрите в сторону прошивки iNAV, прим. перев).


Барометр — это датчик давления, при помощи него можно вычислить высоту полета коптера. Он более точен, чем GPS. Некоторые полетные контроллеры уже имеют встроенный барометр, обычно BMP280 (например, Kakute F7).

Где лучше всего установить gps модуль?

Убедитесь, что GPS модуль ничем не затеняется. Расположите его сверху коптера подальше от антенны видеопередатчика. Не забудьте сделать для него длинные провода. Вот несколько вариантов установки:

Поверх GoPro.

Поверх аккумулятора.

Сверху рамы (если аккумулятор ставится снизу).

Можно сделать «мачту» для GPS модуля, чтобы отодвинуть его подальше от рамы. Но в данном случае не очень удачно, т.к. рядом оказывается антенна видеопередатчика.

Основное правило: GPS модуль должен всегда смотреть на небо (за исключением моментов, когда вы делаете роллы и флипы).

Перед полетом убедитесь, что GPS приемник нашел спутники. Возможно есть смысл заранее включать коптер, для «прогрева» GPS, чтобы потом долго не ждать.

Дополнительные датчики, как их настроить?

Помимо GPS есть и другие датчики/сенсоры, но их не обязательно использовать. Комбинирование данных с разных датчиков даст больше полезной информации о том, что сейчас происходит с коптером. Позже я обновлю этот пост.

Зачем нужен gps на квадрокоптере?

При помощи OSD можно отобразить довольно много полезной информации, включая текущие координаты (широту и долготу), расстояние до дома, скорость, высоту и направление в сторону дома. Последние известные GPS координаты могут помощь вам найти коптер в случае аварии.

Если вы используете телеметрию с приемников типа X4R или R-XSR, то даже сможете посылать в реальном времени координаты на Taranis. Это еще больше упрощает поиск потерянного коптера.

Для функций «возврат домой» (Return to Home, RTH) и «удержание позиции» (Position Hold) обязательно нужен GPS модуль. В новой версии Betaflight есть режим «Rescue Mode» (режим спасения), который очень похож на RTH. Этот режим активируется при потере сигнала (или в ручном режиме) и позволяет вернуть коптер к точке старта.

Какой gps модуль лучше купить?

Из-за ограничений на размер и вес, брать нужно компактный модуль. Рекомендую BN-220, т.к. он работает что называется «прямо из коробки».

Купить BN-220

Ещё один вариант — BN-880, он крупнее, но зато имеет встроенный компас. Этот модуль популярен на более крупных моделях.

Купить BN-880

Важно выбрать модель с новым чипом — M8N, а не со старым типа M7N. M8N быстрее найдет спутники, т.к. может одновременно использовать две системы, GPS/ГЛОНАСС. Благодаря этому число видимых спутников практически удваивается.

Большинство модулей продается уже настроенными, достаточно просто подключить их к полетному контроллеру. Однако, если вы хотите «поиграться» с настройками, то можете подключить плату к компьютеру через USB-UART адаптер и воспользоваться программой U-Center


Нужен для определения направления коптера. Обычно это внешний датчик, который необходимо подключить к ПК через шину i2c.

Настраиваем gps в betaflight

На вкладке Ports в столбце Sensor Input выбираем GPS. В моем примере это UART6. Скорость оставляем по умолчанию (57600).

Переходим на вкладку Configuration:

  • Включаем GPS
  • Выбираем протокол UBLOX или NMEA. Обычно это UBLOX, старые модули работают с NMEA
  • Включаем автонастройку (Auto Config)
  • Сохраняем настройки и перезагружаемся (кнопка Save and Reboot)

Если все подключено и настроено правильно, то на вкладке Setup вы увидите блок данных GPS.

Теперь нужно подождать пока найдутся спутники (3D fix, т.е. минимум 4 спутника). Этот процесс может занять несколько минут.

Когда он закончится, на модуле BN-220 замигает красный светодиод (вместе с мигающим синим, который означает наличие связи). Теперь в разделе GPS можно будет увидеть дополнительную информацию: 3D Fix = True, и текущие координаты.

Чтобы спутники нашлись быстрее, нужно выйти на улицу, или перенести модуль как можно ближе к окну и направить верхнюю часть (антенну) на небо.

Есть два способа отображения данных GPS: через Betaflight OSD и через телеметрию в аппаратуре управления.

Если вы не знакомы с Betaflight OSD, тогда читайте наше руководство. На экране можно показать: координаты; расстояние и направление в сторону дома, ну и многое другое.

Еще одна полезная вещь — можно настроить Taranis на отображение текущих координат коптера получаемых через телеметрию (SmartPort или CrossFire). Если вы упадете, то на экране будете видеть последние известные координаты модели.

Для этого включите коптер, в Таранисе перейдите на страницу телеметрии и выберите «Discover new sensors» (найти новые датчики). После этого должны появиться новые данные, включая координаты GPS.

Соединяем gps и полетный контроллер

Подключение GPS — очень простой процесс, просто подайте питание 5 вольт и подключите к последовательному порту (RX к TX и TX к RX).


Вы наверняка захотите тщательно проверить GPS перед дальним полетом. Первое, что я бы проверил — корректность выдаваемых координат. Просто вбиваем их в Google Maps и смотрим что показывается.

По возможности проделайте это в нескольких местах.

Update egnos prn mask to latest egsa definition, fix sbas for non-galileo usage (@stronnag)

The EGNOS (GPS ground assistance) definitions have been updated to the latest values for all GNSS options. An invalid association with the availability of Galileo has been corrected.

Оцените статью
Добавить комментарий