AnyFC F7 and a missing baro problem

When Banggood decided to “forget” about MS5611barometer in their version of AnyFC F7 flight controller, they not only did not mounted MS5611 on it. They also made usage of any external barometer on that board almost impossible to use.

Why? Long story short: all STM32 MultiWii derivatives are unable (yet) to lookup for I2C devices across different I2C buses. So, if we define barometer to be connected to I2C bus #4, firmware will look to barometers only on I2C bus #4. But, since many boards uses multiple I2C buses, this creates a problem: AnyFC F7 onboard (and missing) MS5611 is connected to I2C bus #4, but I2C bus available on JST connector in I2C bus #2.

AnyFC F7 from Banggood without MS5611 barometer

While for Betaflight this is not a problem (BF pilots rather do not use barometer), it is a problem for INAV. AnyFC F7 target is unable to use any barometer if onboard MS5611 barometer is missing. OK, you can just solder one in place, but without hot air station and decent soldering skills this is not a good idea after all. This is why, until better solution is found, INAV will include ANYFCF7_EXTERNAL_BARO target. The only difference between ANYFCF7 and ANYFCF7_EXTERNAL_BARO is barometer support.

If you have MS5611 in place (soldered in or bought with one) or do not intend to use any baro, you should use ANYFCF7 target.

When you do not have onboard MS5611 and want to use external barometer (MS5611, BMP180/085 or BMP280) you should use ANYFCF7 and ANYFCF7_EXTERNAL_BARO target.

Until new official version of INAV is published, you might use this custom hex:
INAV_1.7.1_ANYFCF7_EXTERNAL_BARO.hex. It is based on INAV 1.7.1 and proven to detect external barometers via JST connector.

Read More

INAV 1.8: Automated landing for fixed wings

It's official: next release of INAV (1.8 or maybe 1.7.2) will incorporate an automated landing procedure for fixed wings. I was already writing about it 2 weeks ago, but now new code has been merged back and will be released.

Bear in mind, that this is not "state of the art" landing yet. It's rather a simple solution that can be used in emergency situations that will not crash an airplane, but rather put it on the ground without crashing. Procedure is quite simple:

  1. When Return-To-Home or Failsafe with RTH is engaged, go to Home position
  2. When Home is reached, start to loiter with defined radius and descend. Descent speed is limited to nav_landing_speed when altitude is above nav_land_slowdown_maxalt. When altitude is below nav_land_slowdown_maxalt, vertical speed is scaled down to one fourth of nav_landing_speed at nav_land_slowdown_minalt. So, on using default values, vertical speed is between 2m/s and 0.5m/s
  3. During descend, airplane is not allowed to raise throttle above nav_fw_cruise_thr when nose is up. This is to prevent airplane from gaining horizontal speed
  4. When nav_land_slowdown_minalt is reached, ROLL axis is locked to 0 degrees, PITCH axis is locked to nav_fw_land_dive_angle (default is 2 degrees) and motor is stopped when MOTOR_STOP is used or put to IDLE when MOTOR_STOP is not used. This puts airplane into a shallow dive to the ground

fixed wing landing in inav

That is all. Airplane should glide last few meters to the ground. Most designs should be able to do it without a problem. My testing platform did it like that:

Since there is no auto-disarm procedure yet, MOTOR_STOP is recommended to prevent propeller from breaking and motors/ESC from burning.

Read More

INAV can do automated landing on fixed wing?

Those of you how subscribed to my YouTube channel should have noticed, that I got an interest in automated landing of fixed wings after RTH in INAV. And the sad truth was that, well, INAV up to 1.7 was unable to do it right. When landing after RTH was enabled (nav_rth_allow_landing = ON) and it was enabled by default, airplane usually started a 20 degrees dive to the ground. One does not has to be a prophet to figure out how it ended.

For example like this:

If not manual override, that would end up in a beautiful crash and probable full rebuild of an airplane.

Luckily, that motivated DigitalEntity enough to something about that, and yesterday I was able to perform (probably the first one ever) a controlled descend after RTH that ended up with an airplane on the ground without any damage. With enough optimism one can call it even a landing. This is how it looked like:

Current implementation is still far from perfect. Although it does not crash, it has a few small problems:

  • No disarm. Throttle is open all the time
  • It happily ignores speed. Both ground and airspeed
  • It also ignores wind, heading and so on

But, to be honest, this is a nice progress. Stay tuned for more changes here, since I’m planning to work on it in the near future.

Read More

AnyFC F7 output mapping for INAV

AnyFC F7 when running INAV, is not using standard output mapping. That means, that M1 output is not where you should connect Motor 1 and M2 is not where Motor 2 should be connected. It’s a little complicated, but with following table it should be pretty easy to connect any possible configuration to AnyFC F7 and INAV.

Multirotors

Output number No LED Strip With LED Strip
1 Motor 4 Motor 4
2 Motor 5 LED Strip
3 Motor 6 Motor 5
4 Motor 7 Motor 6
5 Motor 3 Motor 3
6 Motor 2 Motor 2
7 Motor 8
8 Motor 7
9 Motor 8
10 Motor 1 Motor 1
Input Function
1 PPM
2
3 Servo 1
4 Servo 2
5 Servo 3
6 Servo 4

Airplanes

Output number Function
1 Motor 1
2 Motor 2
3 Servo 4
4 Servo 5
5 Servo 3
6 Servo 2
7 Servo 6
8 Servo 7
9 Servo 8
10 Servo 1

Read More

FrSky SmartPort Telemetry on AnyFC F7

STM32F7 CPU family present in newest, experimental, flight controllers like AnyFC F7 (as well as upcoming AnyFC M7 with smaller STM32F722) simplifies many things. For example, comparing to F4 boards, SmartPort or S.Bus connection is extremely simple and can be done on any free UART. No more hardware hacks, external inverters and other “special” ways of doing things.

It’s super simple again, and here is how to do it in Betaflight (Cleanflight 2.x) and INAV

Hardware

The only required hardware is a cable to connect SmartPort enabled receiver with free UART port on F7 board. This will work on X8R, X6R, X4R, X4RSB, XSR and any other. The trick is to connect S.Port pin with UART TX pin only.

How to connect F7 flight controller to SmartPort

Continue reading “FrSky SmartPort Telemetry on AnyFC F7” »

Read More

GPS Racer: worklog #4

Yesterday I finally maidened my GPS Racer in full FPV configuration. RunCam Owl Plus and VTX finally arrived, it was not raining, so I took recording gear after sunset and went flying.

To be precise, it was not "night". But it was pretty dark. Too dark for my RunCam Swift. Owl Plus was sensitive enough to fly. It was not perfect, but doable. Next step: not IR blocked lens and IR emitter for real night flying. Both have been ordered.

Plus, thanks to GPS and OSD I finally saw the speed this thing can do. 92km/h recorded, but that was not the limit on those 6030 props. I do not think I've opened throttle to max…

Read More

The best GPS module for INAV

This is my personal best GPS module for INAV: Beitian BN-880 based on Ublox Neo-M8N. Currently I have 3 pieces of BN-880, all works just great, and if I will have a need to have another one, I would also choose it.

Why? It really works well. On the outside it gets a solid 3D fix in less than a minute. It even can get a fix with 9-10 sats in a center of a city when only a small piece of sky is visible simply by lying on a windowsill. It take time, but works.

Beitian BN-880 - best GPS module for INAV?

Continue reading “The best GPS module for INAV” »

Read More

Mini Flying Wing: MiniWing v2

Miniquads are fun, right? After all, there is a reasons most uf us flies 210-250 quadcopters. If so, small flying wings should be fun too! I tried that already in late 2015 and failed miserably! My design did not survived maiden flight. Well, things like that happens from time to time, so few months ago, after learning few new things, I’ve made a second attempt. And this time I’ve succeeded.

Continue reading “Mini Flying Wing: MiniWing v2” »

Read More