Testing 868MHz LoRa range, part 3: round trip

After determining that range of 868MHz LoRa wireless modules E45-TTL-100 have, at least, quite impressive range (5,7km and I was out of line-of-sight to test further) I’ve decided to test something else.

In the beginning I was planning to use those radio modules for telemetry only, but then another thought crossed my mind: why not to build DIY TBS Crossfire for the poor? After all, TBS Crossfire also uses 868MHz LoRa (SX1272 vs SX1276), so it should be possible to build DIY radio link for medium range (up to 5km) for RC planes, right?

First of all, I will need to know how fast data can be transferred and how much delay can I expect in real life. So I’ve modified Arduino code and E45-TTL-100 configuration:

  • UART speed bumped from 9600bps to 57600bps
  • air speed bumped from 2400bps to 19200bps
  • output power lowered from 100mW to 50mW (17dBm)
  • transmitter sends 5 bytes of data (current microseconds and prefix)
  • relay receives packet and resends it to transmitter
  • current received number is deducted from current microseconds and round trip time is showed on OLED display

LoRa E45-TTL-100 round trip test

Results:

  • Round trip time is 82ms on average and it does not changes with distance
  • at lower output power (50mW vs 100mW) reception at 2.8km is worse. 100% of packets are received only then antenna alignment is not worse than 45 degrees
  • with slightly bigger payload size (up to 7 bytes) it should be possible to archive at least 20Hz update rate

Read More

Quick note on SEMTECH SX1276 100mW output mode

Few facts about SEMTECH SX1276 LoRa modem and 20dBm (100mW) mode:

  1. +20dBm (100mW) is possible only on PA_BOOST pin
  2. Pins RFO_LF and RFO_HF allows only up to +17dBm (50mW)
  3. Maximum allowed duty cycle while using +20dBm mode is 1%
  4. Maximum allowed VSWR while using +20dBm mode is 3:1

The biggest problem with +20dBm on PA_BOOST is allowed 1% duty cycle. On the other hand, +17dBm mode (50mW) does not have such a limitation and maximum range should be only 1.42 times shorter than in 100mW mode.

Read More

Hands on: Tiny Frsky 8CH Receiver from Banggood

I have a nasty habit of buying things and then forgetting about them. Something like that happened to Tiny Frsky 8CH Receiver (Wolfbox F802 software compatible) from Banggood I’ve purchased last year. For some time I used it in JJPro P175 quadcopter, but then it landed in a box and I forgot about until last week.

Tiny FrSky 8CH DIY Receiver Pinout

So, let’s do overdue “hands on” on Tiny Frsky 8CH Receiver from Banggood… Continue reading “Hands on: Tiny Frsky 8CH Receiver from Banggood” »

Read More

Testing 868MHz LoRa range, part 2: open space

It was a good weekend. At least for me and CDEbyte E45-TTL-100 868MHz LoRa serial wireless modules based on SX1276. Why? Since weather was nice and looks like those modules are way better than datasheet specifies. Specs states: 3km in open space. And I’ve proven almost twice that much range! Last Friday I’ve placed one E45-TTL-100 with stock antenna on my balcony, took second with me and went for a car ride.

E45-TTL-100 LoRa 868MHz range test results

Area around my home is full of small hills and copses, so most of the time something was blocking the line between transmitter and receiver. But every time I was high enough, I was getting clear signal without any packets lost. At the furthest point of my trip I was 5.7km from the transmitter, inside a car and a copse was between me and TX module. That means no line-of-sight and as a result I’m pretty, pretty sure E45-TTL-100 should be able to work on much higher range that that. I only have to find a good place to test it.

Read More

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:

LoRa range testing equipment

  • 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.

LoRa range in urban area with E45-TTL-100

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

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

Chengdu Ebyte E45-TTL-100 868MHz LoRa serial wireless module

Continue reading “Hands on: E45-TTL-100 868MHz LoRa wireless modules” »

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:

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

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

STM32 F1 and F3 versus LRS 433MHz interference issue

This topic first appeared on my table few weeks ago. Can a flight controller interfere with long range system running on 433MHz band like openLRSng?

STM32 F1 and F3 based CPU running most flight controllers (Naze32, SPracingF3, Flip32, CC3D, etc.) run on 72MHz. Actually this is 8MHz of external clock and 9 multiplier. But still, CPU itself runs on 72MHz. Most LRS systems runs between 413MHz and 453MHz, with most channels grouped around 432 and 433MHz frequencies.

This might create a problem, since 432MHz is a 6th harmonic frequency of 72MHz. Theoretically, perfect square wave should have only odd-number harmonics, but in the real life, both even and odd harmonics are present.

Are those frequencies from flight controller "visible" in 433MHz band and can they affect LRS systems? I do not have LRS system yet, so I can not answer the second question. But I can answer the first one with the help of a small RTL-SDR radio dongle.

The test

Tests were performed with a RTL-SDR and FM frequency antenna (I know, far from perfect) placed 20cm, 10cm and 5cm from running Flip32 10DOF flight controller (STM32F1 CPU at 72MHz).

According to SDR software, exact clock frequency was 72,MHz which was caught nicely on the radio spectrum.

Continue reading “STM32 F1 and F3 versus LRS 433MHz interference issue” »

Read More

FrSky X12S Horus spotted in the wild

Last weekend I had a brief opportunity to take a look at new radio from FrSky: X12S Horus. One thing is sure, this thing is quite impressive. For me it is slightly too big and too expensive. Plain old Taranis suits all my needs. Owner seems too be quite happy with his X12S Horus, and here are his main thought about it:

  • Big and heavy with a stiff frame. As long as you do not have to carry it attached to your neck for a longer period of time, it is completely fine
  • LCD screen is nicely visible in daylight
  • Nice Hall effect gimbals!
  • Rubber bumpers allows to put Horus on a car’s roof or hood without the risk of scratching it
  • Shipped with FrSky software, that is not as good as OpenTx
  • External antenna connector with a VSWR

FrSky X12S Horus

Read More