-
Testing 868MHz LoRa range, part 1: urban area
With a (more less) free evening I decided to finally start testing range of 868MHz LoRa E45-TTL-100 radio modules I described only yesterday. Instead of building new testing rig, I only upgraded testing setup I used to test range of FS1000A and XY-MK-5V 433MHz radio modules. Few hours later I came up with this:
- E45-TTL-100 at 9600bps, transparent serial mode
- Stock (crappy) antannas
- Logic driven by Arduino Pro Mini
- Transmitter send 1 byte counter
- Receiver counts packets and check if all subsequent packets arrived and then displays results on OLED screen
- Powered from 2S LiPo batteries
I've left transmitter on a desk and went for a walk. Even before leaving the building radio signal had to cross around 1 meter of bricks. Then travel through another building and only then go into the direction when I walked.
I must say: I was impressed. I still am. At 511 meters transmission was clear only when I was not blocking it with my body. Or standing near to metal fence. So I can safely assume: 500m is maximum range in densly populated urban area. On stock antennas and 100mW output power. Next week I will try stronger, dipole antennas.
Read more... -
Understanding Dterm: how Dterm really works
I will be very honest: until very recently I did not really understood how PID controller's Dterm really works. Yes, something with dampening, something with "looking into future", bla bla bla. But the reason for not understanding was because I was overthinking it. There is no "magic" only simple mathematics and few basic concepts which I will now explain.
Setpoint
Setpoint is the value which we request from our system. In case of multirotors, PID setpoint will be a rotation speed around axis given in degrees per second [dps]. Setpoint
0
means we do not want to rotate (keep current attitude) and setpoint200
means we want to rotate at 200dpsMeasurement
Measurement the value that represents actual state of the system measured by some kind of sensor. In our case, it will be the gyroscope and rotation-around-axis speed measured in degrees per second
Error
Error the difference between Setpoint and Measurement computed as Error = Setpoint - Measurement. In our case, when Error is above
0
, that means drone is rotating too slow and should speed up. If Error is below0
, drone is rotating too fast and should slow down -
Hands on: E45-TTL-100 868MHz LoRa wireless modules
My quest for ultimate (?) DIY telemetry system for UAVs continues. Last year I was playing with HC-12 433MHz wireless modules with pretty decent results. After all, more than 1km of range for a few bucks is more than acceptable. Still, HC-12 has at least few problems:
- 433MHz band is very often polluted and used by other Rc systems/subsystems (LRS)
- 433MHz requires pretty big antennas
- No frequency hopping
- No easy way to build network of more than two HC-12
- 1-1.5km of range is nice, but one might want more
-
Very custom FPV quadcopter for my daughter
When few months ago my older daughter (10 years old) started to express interest in FPV quadcopters, I was both happy and concerned. Happy, since I would have someone to fly with. Concerned, since she has no idea how to fly, I do not have a quadcopter for her and there is a big chance she will get bored fast. So, instead of getting her a brand new, cheap, standard off-the-shelf drone, I checked my repository of "spare" parts and drones, purchased this and that and week later "Omlette du fromage" came to life...
-
Gyroscope and filtering video tutorial - Episode 4
In this episode of "Gyroscope and filtering" I show you how to configure notch filters using Betaflight Configurator and INAV Configurator software.
Previous episodes:
Read more... -
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:
Results? 332 meters with a FS1000A powered with 7.4V and 1000bps over-the-air data speed.
For the second time, I'm sure I can pull more from this setup. This time, there were two problems:
- Transmitter was low on the ground
- Other people on the beach blocked line of sight much faster than I expected
So, expect third attempt...
-
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 airspeed 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.
-
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:
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.
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...
Delta 6mm Depron "wing" is attached to 6mm carbon fiber rod and has some quite big dihedral: 15 degrees.
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.
- 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!
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.
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...

I'm Paweł Spychalski and I do things. Mainly software development, FPV drones and amateur cinematography. Here are my YouTube channels: