inav flight controller

INAV 2.5.2 – what is new, and should you upgrade?

The patch release of INAV, version 2.5.2 was released just today. Below you will find the list of the most critical changes and advice if to update from 2.5.0 and 2.5.1 to 2.5.2.

Bug fixes:

  • Fixed a bug that affected INAV OSD menu for editing servo mixer weights. It was not possible to have negative weights. Right now it is possible to edit both positive and negative servo mixer rules
  • Fixed buffer overflow in OSD code
  • Fixed RPM Filter center frequency computation bug that was introduced in INAV 2.5.0. INAV 2.5.2 correctly handles RPM Filter and sets dynamic notch filters in on correct frequencies

New targets:

  • Flywoo Goku F411 micro flight controller suitable for all 2 and 3-inch builds with 16x16mm mounting holes
  • Flywoo Goku F7 Dual and Flywoo Goku F7 Mini flight controllers
  • Foxeer F722 V2 and Foxeer F722 Mini
  • HGLRC Zeus F722
  • SpeedyBee F7 STM32F722 flight controller with integrated BLE Bluetooth module for SpeedyBee app

Should you upgrade to INAV 2.5.2

You should upgrade all drones and airplanes if you are using INAV older than 2.5.0. Older versions of INAV are no longer supported and INAV 2.5 family has many bugfixes and improvements.

If you are using INAV 2.5.0 or INAV 2.5.1 then upgrade is highly recommended for multirotor users as it fixes issues with ESC Telemetry and RPM Filtering. It is also a very simple process since when updating from INAV 2.5.x there were no settings related changes.

inav flight controller

How popular INAV actually is?

Let’s be honest. INAV is not the most popular flight controller software in the world. Both Ardupilot and Betaflight are more popular, and no one can deny that. Still, the question is: how popular INAV actually is and how many people use it on how many builds?

I can not answer most of those questions. First of all, there is no way to know how many drones or airplanes out there use INAV. We have some statistics, but they can not answer this particular question. However, thanks to the way INAV is distributed, it is possible to extract some statistics from GitHub itself. I put up a short script that parses GitHub API and here are the results!

In total, all INAV firmware files since the first release (that was January 2016, 1639 days ago) were downloaded around 1.1 million times! That gives 707 downloads a day!

Is that a lot? Hard to tell, but it’s much more than I expected—around 5 times more than my guestimate. Kudos for us!

While we are here, would you like to know how many times INAV 1.0 was downloaded? 3056 times. Not very impressive number 🙂

inav rover tutorial

How to setup INAV on a rover

INAV 2.5 finally allowed to use INAV and INAV compatible flight controllers to be used on rovers and boats. Finally, INAV supports not only flying vehicles. Bear in mind, that the rover and boat support is not full, and some functionalities might not be working like expected.

What works:

  • Reversible ESC and motors
  • Steering
  • Waypoints
  • Return to home on a straight line without any obstacle avoidance
  • Failsafe

Continue reading “How to setup INAV on a rover” »

STM32 F1, F3, F4, G4, F7 and H7 flight controllers

STM32 F1, F3, F4, G4, F7 and H7 flight controllers

Currently, almost all flight controllers we use on our multirotor FPV drones and airplanes are powered by microcontrollers from an STM32 family. When we say about flight controller families or generations, we refer to them by the family of the MCU. For example:

F1 flight controllers are no longer supported

or

You should get F7 to do it

STM32F1

Historically speaking, F1 were the first flight controller boards for MultiWii derivatives based on STM32 MCU. All the F1 boards like Naze32 or CC3D (ok, this one is from OpenPilot family) were equipped with STM32F103 chips. Currently, F1 boards are not supported by any major flight controller firmware. Reasons are simple: low speed, lack of hardware floating-point acceleration, very little RAM and Flash memory, only a couple of UARTs. They were not powerful enough and as a result, had to die.

Do not buy and if you have one, just keep it somewhere in a drawer as a souvenir of good old times. Continue reading “STM32 F1, F3, F4, G4, F7 and H7 flight controllers” »

inav sensors

All the INAV sensors: are they required or optional?

INAV can use various sensors to fly drones and airplanes: gyroscopes, accelerometer, magnetometers, barometers, GPS, OpFlow, rangefinders, and airspeed. Some of them required some are recommended and some are a purely optional piece of hardware.

Here is the full list:

INAV Sensors:

Gyroscope and accelerometer

Required. The flight controller will not boot without a gyroscope and accelerometer. They are usually 2-in-1 devices (MPU6000, MPU6500, etc) that contain gyroscope and accelerometer in one package. Continue reading “All the INAV sensors: are they required or optional?” »

Betaflight vs EmuFlight vs INAV

Which flight controller software flies better out of the box? You know, the stock, default settings, no tuning. Just flash and fly. Betaflight, INAV or maybe EmuFlight? I decided to test it on one of my 5-inch FPV drones and compare: Betaflight vs INAV, Betaflight vs EmuFlight and EmuFlight vs INAV.

The results are divided into 2 separate videos. In the first one, I explain all the rules and present all 3 flight controller software flying the same kwad.

Continue reading “Betaflight vs EmuFlight vs INAV” »

matrix filter

EmuFlight and INAV Matrix Filter

Matrix Filter will have its premiere together with EmuFlight 0.3.0 and INAV 2.5. Which of those two will happen first is still unknown. After originally developing Matrix Filter for INAV, I also ported it to EmuFlight code and already some time ago they accepted my code proposal and merged it.

You have to admit, that the name is quite catchy. Matrix Filter for sure sounds very sci-fi. It’s not that sci-fi tho. It’s just an evolution of dynamic gyro notch filters known from Betaflight for quite some time. Instead of having a one-dimensional filter structure, it is a 3×3 filter matrix that works like this: Continue reading “EmuFlight and INAV Matrix Filter” »

INAV on rovers, boats, crawlers, tanks and other ground vehicles

What can INAV do? Well…. it can fly your multirotor drone and a fixed-wing airplane. And it can do it pretty nicely! Unfortunately, that is all it can do. Now, at least.

Every year or so, I’m building an RC airboat and always wanted to build a rover based on some kind of an RC crawler. Running those things without any flight controller is more than fine, but I always wanted to have at least RTH capability. You know, when something happens a few hundred meters into the lake and you really do not want to swim there to recover the boat. And no, you really do not want to do it. Continue reading “INAV on rovers, boats, crawlers, tanks and other ground vehicles” »

INAV and DJI HD FPV system – there is a light at the end of the tunnel

When DJI did not decide to add INAV and Ardupilot to the list of the supported flight controller for the HD FPV system, some people were, at least, disappointed. Long story short: DJI OSD works only with Betaflight. Period.

DJI HD FPV system

Until today, DJI avoids the answer to the question if INAV and Ardupilot will be supported. I know there are some talks and there is a chance for native support for INAV and Ardupilot, but the timeline is not revealed.

Continue reading “INAV and DJI HD FPV system – there is a light at the end of the tunnel” »

DJI FPV System & INAV – current situation

DJI FPV System

When DJI released updated firmware for their DJI FPV system with improved OSD, Betaflight users started cheering. The move to add OSD with elements like GPS position, the artificial horizon, etc is kind of puzzling. It works only with Betaflight flight controllers and a typical user of Betaflight does not really need it. After all, Betaflight concentrates on racing and freestyle on 5-inch mini-quads, not long-range.

On the other hand, users INAV, that concentrate on airplanes and long-range flights, can not use new DJI FPV OSD. Pilots immediately started to ask INAV developers to implement DJI FPV support. The problem is, that it's not working like that.

  • Support for Betaflight is built-in into DJI Air Unit, not another way around.
  • DJI FPV seems to be actively checking if the flight controller it talks to is Betaflight or not
    INAV and Betaflight support the same serial protocol: MSP. This means DJI FPV is capable of talking to INAV, it just refuses to do so
  • INAV and Betaflight use the same OSD positioning protocol using the same MSP frames. Still, DJI FPV refuses to talk to INAV
  • We have no idea what DJI Air Unit expects from a flight controller since it is the closed source!

All of that means that INAV developers can not fix something that is not within the code of INAV. For INAV support, DJI has to implement it. Not the other way around.