FS1000A and XY-MK-5V second range test

Two months ago, when I published first FS1000A and XY-MK-5V range test, I was little surprised that I was able to reach 315 meters of stable connection. And I was almost sure, that they can do more.

Having some free time during my summer vacation, I’ve left transmitter on a towel and took a walk with a receiver. In a surroundings just like that:

FS1000A XY-MK-5V test on a beach

Results? 332 meters with a FS1000A powered with 7.4V and 1000bps over-the-air data speed.

FS1000A XY-MK-5V range test on a beach

For the second time, I’m sure I can pull more from this setup. This time, there were two problems:

  1. Transmitter was low on the ground
  2. Other people on the beach blocked line of sight much faster than I expected

So, expect third attempt…

Read More

Project “Dropship glider” – failure #1

I’ve described my Dropship Glider Project here. Previous weekend I finally tested its ability to glide when dropped from a drone 50m above the ground. And well… to be honest, I failed hard this time. Just see this short video from FPV camera:

Dropship survived two drops. After second one, AIO camera/transmitter combo got damaged. Continue reading “Project “Dropship glider” – failure #1” »

Read More

How to connect APM Airspeed Sensor (Pitot Tube) to INAV

Recently released INAV 1.7.2 introduced new hardware support: analog airspeed sensors. I’ve written new but it is new only to INAV. Analog airpseed sensors aka APM Pitot Tubes aka Ardupilot Airspeed Meter and one the market for years. And they are cheap. By cheap, I mean below $30. And until recently they were usable only in APM world.

Pitot Tube for INAV Continue reading “How to connect APM Airspeed Sensor (Pitot Tube) to INAV” »

Read More

VL53L0X Lidar is… disappointing

I just finished first test flights with laser rangefinder VL53L0X and well, I'm disappointed. Before I will show any data, let's review test conditions:

  • VL53L0X configured for Long range mode: 2m
  • 8PM, obscured sky, no direct sunlight
  • Over concrete

And it looks like this:

vl53l0x altitude graph

vl53l0x altitude graph

Solid readout ended at more less 80cm. Above that, valid readout appeared only from time to time. So I have to assume, that everything above 1m is absolutely not reliable and useful range is max. 75cm. Probably much less over different surfaces.

And that means it will have rather limited usefulness. Landing detection probably. Or low altitude flights with terrain following. I tried that too and it worked as long as quadcopter was not higher as 20 or 30cm above ground.

Oh well… I had high hopes for VL53L0X. Next attempts will be with hybrid approach: US-100 sonar and Sharp optical (IR) GP2Y0A710K0F (up to 5 meters) data fusion.

Read More

Project “Dropship glider” – introduction

When I saw this video from rctestflight I knew I will build something like that for myself. A voila, few months later it is done. Here is Dropship Glider.

Dropship glider - depron FPV delta glider

It is 29cm long with 20cm wingspan. Weights 97g AUW and has 21g/dm^2 wing loading. So, in theory, should glide. Somehow… If I got center of gravity right. And did not made ailerons too big. Or…

Dropship glider - depron FPV delta glider

Delta 6mm Depron "wing" is attached to 6mm carbon fiber rod and has some quite big dihedral: 15 degrees.

Dropship glider - depron FPV delta glider

The biggest problem was radio link and mixer for ailerons. I could not use my Taranis: I need that for a carrier and only radio control link I had was EM-16 with PPM output only and no way to setup any kind of mixer. The radio just has no "features" like that…

So, took one Arduino Pro Mini and wrote short program that acts as PPM decoder and mixer for ailerons.

Dropship glider - depron FPV delta glider Arduino

  • power is supplied by 1S LiPo taken from my Tiny Whoop
  • FPV AIO Eachine TX02 also taken from my Tine Whoop
  • 5V is supplied from cheap, regulated, step-up converter
  • 3rd servo is to release tether

First flight, or rather drop, tomorrow. There will be a video from the event of course…

Read More

GPS Racer: worklog #9 – double rangefinder setup

My GPS Racer is less and less fun project. For last few weeks it acts as sensor platform for my attempts to bring rangefinders and terrain following modes back to INAV. This time in a way that will work.

Two weeks ago it was carrying HC-SR04 sonar (crappy device). Week ago it was carrying US-100 (much better device). This week it is carrying both US-100 sonar and VL53L0X lidar!

INAV with US-100 Sonar and VL53L0X Lidar

DigitalEntity apparently had too much spare time and he finally wrote (ported) a driver for VL53L0X and starting from version 1.8 (probably) INAV will be able to use this cheap lidar.

INAV with VL53L0X Lidar

Yes, VL53L0X is cheap and that means it's not state-of-the art device. First of all, it has limited range. 2m is all it can do in a room. No idea how it will behave in sunlight. Hard to guess, but I'm afraid that 1m will be all it will able to do in real life conditions… But we will see in a next few days.

Read More

Bye bye Naze, we will not miss you that much

I have a news for all INAV pilots using Naze32, Flip32 and other boards compatible with NAZE target. You might call it a bad news, but reality is that it is not that bad and was long anticipated. It is official: INAV 1.7.2 was the last INAV release with NAZE target. That means the following: INAV 1.8 will not be available for Naze32, Flip32 and other boards compatible with that target.

You might was "why?". Quite simple: not enought flash memory, no way for new features to fit in. There was even not enought flash memory for bugfixes. And to be honest, I do not remember last time when NAZE users really got a new feature. Almost all new things were disabled for them. For more than a year, compiling NAZE target after adding something new was quite a challenge.

Does that mean that you can not use Nazes any more? Absolutely not. They are good boards and INAV 1.7.2 works on them just fine. You only will not be able to upgrade to INAV 1.8. And trust me, it is really worth it to invest in something better like F3 board. They are not that expensive after all…

By the way, CC3D is the next thing to be removed. Not yet, it still fits flash. Barely, but fits…

Read More

How to read PPM signal with Arduino?

More than a year a published a post called Generate PPM signal with Arduino. Today it's time for part two: How to read PPM signal with Arduino?. Strange thing: internet does not gives very useful information on this topic. Strange, right? Some links to pages that does it either very very wrong or in not simple way.

There is a one almost good solution. It's an example code by Hasi123. Short, efficient and actaully works almost out of the box. But it has 2 problems:

  1. It is not a library. You have to copy paste code
  2. It alters Timer1 and that means, that many other things stops to work: PMW output, Servo library or anything else that uses Timer1. Crap…

So, I've invested some of my time and, based on that code, I've created Arduino library called PPMReader. Advantages?

  1. It is a library (!)
  2. It does not alters any timers (!)

Example code, that reads PPM signal connected to Pin 2 of Arduino Uno or Pro Mini (and other using ATmega328) and prints decoded channels over serial port would look like this:

#include "PPMReader.h"

// PPMReader(pin, interrupt)
PPMReader ppmReader(2, 0);

void setup()
{
  Serial.begin(115200);
}

void loop()
{
  static int count;
  while (ppmReader.get(count) != 0) { //print out the servo values
      Serial.print(ppmReader.get(count));
      Serial.print("  ");
      count++;
  }
  count = 0;
  delay(500);
}

The only required configuration is a decission of a pin and interrupt. Not all pins have hardware interrupts, so on many boards this is limited to:

  • Arduino Uno, Pro Mini and other based on ATmega328: pin 2 / interrupt 0 or pin 3 / interrupt 1
  • Arduino Pro Micro and other based on ATmega32u4: pin 3 / interrupt 0, pin 2 / interrupt 1, pin 0 / interrupt 1, pin 1 / interrupt 3, pin 7 / interrupt 4

PPMReader Arduino library can be downloaded from GitHub.

Read More

Large wooden BiCopter

You just know a great project when you see one. Like, for example, large BiCopter made from wood and running INAV and flight controller software that kermets has built.
BiCopters might look strange, but the idea is quite simple. Instead of 4 motors, we have 2 motors and 2 servos tilting the motors. Like a one step further from a tricopter.

Similar idea (not the same, only similar) is used on large helicopters like Boeing CH-47 Chinook

Read More

INAV jumped over the bench

Let's say I have almost a good news about sonar support in INAV: yesterday I flew terrain following mode with experimental INAV code. And did not crashed when shooting video below. I did crashed next code version, but that is only a minor detail, right?

  1. When shooting that video I did not touched throttle stick. Altitude control was 100% automatic
  2. It is US-100, not HC-SR04 ultrasonic rangefinder!
  3. US-100 was connected to Omnibus F4 Pro using experimental I2C interface with ATtiny85
  4. If you want to try it, here is the code. But be prepared to crash 🙂

Read More