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.

Espressif ESP32

Espressif ESP32-S2

When Espressif release ESP32 WiFi & Bluetooth capable MCUs back in 2016, many things changed in the DIY and tinkerers community. We finally had a cheap MCU that could do real IoT stuff and was easy to use. However, the cheap ESP32 is not really cheap in relative terms. Sure, it is cheap, but there are cheaper solutions. ESP8266 for example.

Yes, the old ESP8266 that lacks any built-in security and which power consumption is not that low even in a deep sleep mode. It was expected that Espressif would, sooner or later, offer an improved replacement for ESP8266. Cheaper than ESP32, but with features that ESP8266 lacked. Continue reading “Espressif ESP32-S2” »

FrSky ACCST 2.0.0 “important” firmware update for all receivers, radios and transmitters

FrSky does not sleep, or rather woke up, and after years of not touching the topic, released an “important” update of ACCST 2.4GHz protocol for all the compatible 2.4GHz receivers, transmitter modules, and radios: X9D Taranis, Q X7 Taranis, X10/X10S Horus, X8R, X4R, X4R-SB, XM, R-XSR, XJT and so on.

What changed in ACCST 2.0.0? According to FrSky, they fixed some kind of a bug with uncontrolled servo movement in ceratin conditions (probably almost never) and improved “correction and verification”.

What does it mean in the real world:

  • ACCST 2 is not compatible with previous ACCST
  • if you decide to upgrade, you will have to upgrade receivers and transmitters. All!
  • any 3rd party ACCST compatible receivers and transmitters stop to work: including multiprotocol modules and 3rd party D16 receivers

Consumer advise? Do not update! There is no need to update from ACCST to ACCST 2.0.0. Looks like there is no gain for end users at all and the cost is substantial!

The news: FrSky ACCESS, BF4.0, F7, SP Racing H7, F7, INAV Radar and Russian Drones In Space

  • FrSky has announced new air protocol: ACCESS
  • Betaflight 4.0 is just around the corner
  • The topic of F7 as in STM32F7 flight controllers and INAV
  • INAV Radar.
  • Dominic Clifton aka Hydra, known from Cleanflight and Seriously Pro Racing (SP Racing F3, SP Racing F4, SP Racing F7 and so on) is preparing something new: flight controller based on STM32H750 processor: SP Racing H7 Extreme -Russians are putting drones into space! Cosmic Drones you might say.

Fear not, INAV 2.0 is here

We have finally done it! The first release candidate for INAV 2.0 is open for download. You can get it together with INAV Configurator 2.0 from GitHub.

What changed? The list is very very long and to be honest it is probably the biggest INAV release ever. There are over 200 tickets connected with INAV 2.0 release. The full list is just too long to publish over here. The shortcut of most important things is for you in a form of a video:

RaceFlight One GPL violation drama, there might be more of that

Previous parts of this cycle are available here and here.

Betaflight community has a grudge against RaceFlight. And they have a reason. Two potential, or maybe I should say confirmed, GPL violations in one year is fully enough. That just does not looks good no matter how you look at it. This whole situation stinks. So it's not a surprise that what leaked as RaceFlight One source code is analyzed like crazy.

Latest news: RF1 code might have at least 2 potential license violations:

STMicroelectronics license violation

* @attention
* <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*   1. Redistributions of source code must retain the above copyright notice,
*      this list of conditions and the following disclaimer.
*   2. Redistributions in binary form must reproduce the above copyright notice,
*      this list of conditions and the following disclaimer in the documentation
*      and/or other materials provided with the distribution.
*   3. Neither the name of STMicroelectronics nor the names of its contributors
*      may be used to endorse or promote products derived from this software
*      without specific prior written permission.

If RaceFlight do not have an agreement with STMicroelectronics, point 2 is violated since bin is the only way RF1 is distributed

Atollic TrueSTUDIO(R) license violation

**  Environment : Atollic TrueSTUDIO(R)
**  Distribution: The file is distributed �as is,� without any warranty
**                of any kind.
**  (c)Copyright Atollic AB.
**  You may use this file as-is or modify it according to the needs of your
**  project. Distribution of this file (unmodified or modified) is not
**  permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the
**  rights to distribute the assembled, compiled & linked contents of this
**  file as part of an application binary file, provided that it is built
**  using the Atollic TrueSTUDIO(R) toolchain.

One more time, if RF do not have separate agreement with Atollic, they are violating license above. I have not seen information that RF1 was built with Atollic TrueSTUDIO(R) toolchain.

I will leave it without any additional comment.

RaceFlight One source code has been published and what does that mean

In the beginning of time, there was MultiWii and it was good. But then times moved on and 8bit ATmegas were end-of-line for flight control. So, Baseflight was created. In the beginning, it was supposed to be only a MultiWii port to support STM32f1 flight controllers in a for of Afroflight Naze. And it was good for a while. But the guy that was running this show turned out to be a prick and one of Baseflight developers forked everything and called it Cleanflight. One might want to say "Hail Hydra" but let's try to be serious here.

Anyhow, everything was great again. No pricks anywhere and Cleanflight was growing. People started to fork Cleanflight. Betaflight, INAV and Raceflight were created. No problems anywhere, one big happy family.

It did not take long for things to change. Someone decided that he can make money by making code closed-source and run only selected, sold by them hardware. It was RaceFlight by the way and this is a reason I'm not writing much about them. There real problem is that you just can not make an Open Source code under GPL license Closed Source just like that. It is virtually impossible since all commiters would have to agree to that. All of a few hundred. Good luck with that. INAV tried to change license once (and still be Open Source) and it failed. Few devs just said no. End of story.

Back to Raceflight. When in late 2016/early 2017 Raceflight went Closed Source. Some devs decided to check this and that, decompiled RF firmware and compared that with CF/BF. Surprise, surprise, decompiled code for gyro initialization looked exactly like in CF/BF. Raceflight was violating GPL license! They had no rights to close the code of Raceflight. Period. RF team defended themselves as they could but IIRC finally published source code for Raceflight (not RF One) like GPL required. Joshua Bardwell did a video on that topic you might want to watch BTW.

You might think this is the end of a story, but not. Raceflight announced RaceFlight One and claimed that RaceFlight One is 100% their doing, rewritten and does not contain absolutely no code from Baseflight/Cleanflight/Betaflight. So it does not fall into GPL at all. They were more less believed and most of pilots forgot about the whole thing.

Until yesterday. Because yesterday, Kalyn Doerr aka rs2k (one of creators on RF) published the full source code of Raceflight One on GitHub and posted something interesting on Facebook too:

(…) I don't want to say much publicly right now. I have kept quiet as I have been in fear for my safety for some time now. Over the last several months I have documented Preston Garrison's business dealings as he has tried to keep me away from the business. I have had no success in reasoning with him. I created it originally to share with the community and I have poured my lifeblood into it. It will not die here. I am RaceFlight.

Pretty scary, isn't it? Drama and stuff. But what happened is that RF One source code is on GitHub. Take it while it's fresh since it might be removed due to DMCA soon.

Let's leave the drama and see what mentioned Prestion aka proggod posted:

Well apparently Kalyn decided to release our code to the public without consent from me. I have no idea what his intentions are, or why he would decided to do this, last time I communicated him he was working on his home life. I can say he doesn't own the code, and it certainly can't be licensed as GPL, especially since he was not the only contributor to the code base. (…)

In other worlds "_I have no idea what happened but this code is private and GPL does not apply". Well… Betaflight community decided to check again an they found out something very interesting:

//TODO REwrite this better
char *ftoa(float x, char *floatString)
    int32_t value;
    char intString1[12];
    char intString2[12] = { 0, };
    char *decimalPoint = ".";
    uint8_t dpLocation;

//TODO REwrite this better is nothing strange. But, exactly the same ftoa implementation can be found in Cleanflight, Betaflight and INAV source code. And by exact, I mean exact. not similar. Exactly the same. It was committed by hydra in April 2014 under GPL license. And that means one thing: whole RaceFlight One is GPL. This is how GPL works. They did not rewrite it from the scratch, they took some elements of GPL code and continued from there. GPL is very intrusive license: if you use anything licensed under GPL, your whole project is automatically GPL too. Period.

I have no idea who is lying. But someone on the RaceFlight side is lying. Why? If you do not know why it's because of money. An old universal truth. And I suspect this whole thing might have legal repercussions and someone will meet someone in a court. Is that good? No idea. Bottom line is: RaceFlight One is violating GPL license of a code it was based on.

Ah, there is one more small thing. According to some RF/BF devs and users, Preston Garrison always stated that RF One is not using Kalman filtering. More, users were apparently banned from Slack for suggesting RF One was using Kalman filtering. Guess what… The published code suggests RaceFlight One is using Kalman filtering… Funny….

I will try to keep my eye on it and if I will keep you posted in case of any major developments (if any)…

Update #1

No, there is no Kalman filtering in RaceFlight One after all. All occurrences of Kalman filtering are commented out

Update #2

After all, there is a Kalman filter in RaceFlight One. The commented out code refers to multi-state Kalman filter. Method PafUpdate that is used for gyro filtering is 1-state Kalman filter. Thanks DigitalEntity for discovery

Follow up for 2017.12.07

EXUAV Y120S drone racing frame: go home designer, you are drunk

Chinesium is amazing. Well, to be precise, not only chinesium manufacturers will do anything just to stand off a little. Just like this little (120mm) quadcopter frame called EXUAV Y120S. Why do I even bother to write about it? Simple: I love crazy designs. Just look at those pictures below:

EXUAV Y120S 120mm Mini racing frame

No, it’s not a tricopter. It is a quadcopter. But where is the 4th arm and where 4th motor goes? Below rear motor! It’s a Y with 2 motors on arms in the front and 2 motors on one arm in the back. Rear motors are counter-rotating! Continue reading “EXUAV Y120S drone racing frame: go home designer, you are drunk” »

iRangeX IR8M: when you clone too much, but that is not a bad thing after all

I love chinesium and admire chinese manufacturers very much for a simple fact: some time ago they stopped just cloning. They started to create new things based on “legit” ones. Just look at iRangeX iRX-IR8M 2.4G 8CH Multi-Protocol Transmitter.

iRangeX iRX-IR8M multiprotocol radio transmitter

Doesn’t this thing looks almost like Team Black Sheep Tango radio transmitter? Well, it is at least similar. But this is a bad thing? The way I see it, definitely not. It is similar on the outside, but it’s not the same. Just the way TBS Tango has similar shape to Sony PlayStation 3 DualShock controller. Continue reading “iRangeX IR8M: when you clone too much, but that is not a bad thing after all” »