What happened to INAV horizon drift?

INAV suffers from horizon drift since day one. It's not that Betaflight does not suffer from it (both Betaflight and INAV originate from the same parent: Cleanflight). In Betaflight it just does not matter at all. In INAV it's a real-life problem tho.

So far, we somehow managed to mitigate horizon drift on airplanes but it's not really fixing the problem. It's there and it's irritating as hell.

Last month I published a post that describes my intent to use the external board as a secondary IMU for INAV. It is "of the shelf" Bosch BNO055. Today I finally put it into a test and to be honest, the results are very optimistic!

More about INAV horizon drift:

The best flight controllers for INAV – 2019 Q4 edition

Believe it or not, but choosing the right flight controller for your next airplane or a drone build is quite important. Yes, I know that some of you might say that hardware does not matter and your kwad will fly as good with the latest F7 flight controller as it would fly with Naze32. It is, not true. It would fly with Naze32, but do not even try to compare modern flight controllers with more advanced filtering, inputs, outputs, and peripherals.

Best flight controllers for airplanes

Matek F722-WING

Matek F722-WING

Matek F722-WING is the second generation of a big WING flight controllers started by a famous F405-WING. Comparing to the original, F722-WING offers more input/output options, including dedicated airspeed port, switchable camera inputs and switchable power supply for FPV installation.

FuriousFPV F35

FuriousFPV F35 is a well know and proven airplane flight controller brought to by by the FuriousFPV. Based on STM32F4 MCU provides plenty input/output options in a relatively small form-factor. Can be bought with matching GPS, Bluetooth and Airspeed modules. F35 utilizes plug & play idea, since most ports are broken out as JST-GH connectors.

Matek F411-WING SE

Matek F411-WING SE

When small size is required, F411-WING SE comes into play. Super small and lightweight but offers enought serial ports and outputs to satisfy most lighweight builds. Vertcal USB port makes it easily accessibke when installed inside alsmost any foam airplane.

Best flight controllers for drones

Kakute F7

Holybro Kakute F7

Holybro Kakute F7 managed to do what others failed. It fits powerful STM32F745, OSD, SD Card and enough serial ports for everyone in a form factor only slightly bigger than standard 36x36mm. The unique feature of the whole Kakute series is a gyroscope installed on a separate board connected with the main board with a thin ribbon cable and sponge. It helps to keep gyro noise under control. Made to use together with 4-in-1 ESCs.

Matek F722-SE

Matek F722-SE

Matek F722-SE is probably the best STM32F7 flight controller for drones on the market. Integrated OSD, power distribution board, output for 6 motors or 4 motors and 2 servos, integrated camera switcher and "power on a switch" function. INAV, Cleanflight, and Betaflight supported. Enough Serial ports of everything you need, including ESC telemetry.

INAV Airspeed Sensor – which one to choose

INAV flight controllers gives you the option to install airspeed sensor on your airplane, just like in Pixhawk and Ardupilot. And just like in case of Pixhawk and Ardupilot, you have several options in terms of the hardware. Airspeed sensors, also known as Pitot tubes, come in two variants: digital and analog.

Matek Airspeed Sensor ASPD-7002

Digital Airspeed Sensors

Devices based on MS4525 digital differential pressure sensor. They are connected via I2C bus using SDA and SCL pins. They are more expensive than analog sensors, but also give slightly better accuracy. Example Digital Airspeed Sensor

Analog Airspeed Sensors

Just like digital, are also based on differential pressure sensors, but they output measured pressure difference as analog value. Based on MPXV7002 chip. They have to be connected to a free Analog input on a flight controller. On top of that, all 7002 sensors output value between 0 and 5V, while flight controllers can read only between 0 and 3.3V.
This is why, if airspeed sensor, or a flight controller, does not have to built-in voltage divider, you have to build your own one.

There are exemptions from this rule tho. Matek Airspeed Sensor has a divider ready on 1/2 pin. Latest Matek WING flight controllers like F722-WING or F-765 WING have special pins called Air that can accept 5V voltages. Always check hardware specification! Analog Airspeed Sensor for INAV, APM, Pixhawk

More about airspeed sensors and INAV:

INAV secondary IMU with Bosch BNO055

INAV is great, but INAV is not the best in everything. For example, INAVs internal IMU (Inertial Measurement Unit) algorithm is suffering from the infamous artificial horizon drift. I explained this phenomenon already in one of the videos, you can watch it over here. We somehow mitigated this on fixed-wing airplanes in INAV 2.2.1, but it's not gone yet and there is no fix for multirotors for example.

Last weekend I started hacking something that might, or might not, help. Technology progressed quite a lot in the last few years, and right now we have much more advanced all-in-one IMU chips than when the workhorse MPU6000 changed RC hobby forever.

The idea behind the hack is simple: use secondary, hardware IMU, to help INAV correct horizon drift and some of the magnetometer related problems as well. There are pretty amazing IMUs like Vector Nav VN-100, VN-200, and VN-300. But they cost more than most RC hobby airplanes. The cheapest VN-100 is $500 for the chip only. Or $800 for a ready to use version. Nobody would buy something like that for a foam airplane. There are, however, much cheaper (and less capable) integrated IMUs. One of them is Bosch BNO055.

Bosch BNO055 has an integrated accelerometer, gyroscope and magnetometer. It allows getting data from each sensor separately or to use sensor fusion (probably relatively simple Kalman) to combine data from 3 sensors into roll, pitch and yaw (including absolute magnetic heading) Euler angles or quaternions.

So far, so good. After a few days of work, I was able to connect GY-955 which contains BNO055 plus some extra electronics to INAV via I2C and get basic data from it. The next step is to check is this whole secondary IMU idea makes sense. The idea is to switch the OSD artificial horizon and heading to a new data source. If it will work and data obtained from BNO055 will be good quality, to switch other navigation-related functions of INAV to secondary IMU. Bear in mind that stabilization and main PID look will still be fed by the data obtained from primary IMU.

The Ultimate Fixed Wing Tuning Guide for INAV

Today, step by step, tuning guide for all of you flying fixed wings (including flying wings) with INAV onboard! No, I will not give you a magical formula: put this here and it's done. It's a real step by step list of what you have to do to tune your fixed-wing airplane. Starting from the center of gravity, rates, servo trimming and finally tuning vital INAV parameters.

How to setup INAV 2.2 on 7-inch quads – PID tuning

INAV 2.2 is with us and it brings a series of cool improvements that should make all owners of mini quads very happy. Those are:

  • Improved Airmode that is more suited for small and powerful drones
  • Iterm Relax that allows getting rid of bounceback at the end of flips and rolls
  • D-Boost allows having cold motors and a lot of Dgain when doing fast maneuvers. It's an equivalent of D_Min from Betaflight
  • Configurable gyro stage 1 filter type: PT1 or BiQuad
  • Faster D-term filtering
  • and a few other goodies
    In this video, I will show you how to set up INAV 2.2 for 7-inch quads to get the best flying experience possible.

Matek F765-WING – flight controller on steroids!

This is preproduction sample, some details of Mateksys F765-WING might change in the final version that will hit the market!

Mateksys F765-WING

Matek F765-WING on Banggood

Looks like Mateksys did it again, and the next flight controller in WING family will be one again the beefiest flight controller around! What's new? A lot. It's still the same format as F405-WING and F722-WING, but this time, the top plate is not only a plate. It holds 8A continuous (10A burst) BEC that you have to connect with wires to the main plate. From what I've been told, the step-down chip itself can hold 20A continuous, but due to limited space, the main inductor/choke limits it to 10A only. Well, only is probably not the best world 😉

Mateksys F765-WING

The brand new is also CPU. Now it is beefy STM32F765 in LQFP-100 package. Beefy because it has 2MB of flash and 512kB of RAM. And thanks to the big package, a lot of peripherals could be broken out:

  • 12 PWM outputs
  • 8 UARTs
  • 2 I2C
  • SPI
  • 6 ADC (Vbat, Current, Vbat2, Current2, RSSI, AirSpeed)
  • Micro SD
  • camera switcher
  • switchable 5V/9V output

Mateksys F765-WING

Compatible software: INAV, Betaflight and (probably) ArduPilot.

INAV 2.2 – what’s news, what changed, the most important features

INAV 2.2 is almost ready. The list of changes is long, those are the most important ones

  • STM32F7 optimizations. F7 flight controllers are now as fast as F4
  • Better airmode handling for multirotors
  • Betaflight D_min equivalent called D-Boost
  • Iterm Relax
  • Smart Audio 2.1
  • New Mission Planner
  • Continue mission on failsafe
  • waypoints in CLI
  • stick arming removed
  • DSHOT compatibility fixes
  • Blackbox servo logging
  • Emergency arming
  • G force in OSD
  • OpFlow and Surface mode improvements
  • Virtual airspeed (pitot) sensor

How to setup INAV on a flying wing – video tutorial – GPS, Baro and Compass

  • Do you need a barometer on a flying wing with INAV?
  • Do you need a compass/magnetometer on a flying wing?
  • How to set up a GPS unit and which protocol should you use?
  • Do advanced tuning and set up a return to home, banking angles, landing procedures etc.
  • Configure the most important GPS related flight modes: PosHold, AltHold, and RTH
  • some extra tips and tricks like Galileo support for GPS