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

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.

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

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…

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()

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

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.

GPS Racer: worklog #8 – sonar test platform

I honestly admit, that my 6″ quad (codename GPS Racer) was never very pretty. It was just ugly with that GPS tower on the front. Today it got even uglier: I’ve equipped it with HC-SR04 sonar connected via I2C bus (ATtiny85 to the rescue).

Why, you might ask, have I done something so useless? Answer is simple: to make it less useless. There are at least few problems with sonar and modern flight controllers. First of all, most new boards does not have connections for it. Second of all, it does not work reliably.

HC-SR04 test platform for INAV

It just don’t. It was no unreliable that INAV, for example, disabled it for some time completely. Right now it is back, but used only during landing on multirotors. No terrain following or anything like that. Read More

AnyFC F7 and DIY buzzer for INAV

Because both original and Banggood clone of AnyFC F7 flight controller and missing buzzer support, its usefulness is somehow limited. There is no dedicated pin and driver. Next release of INAV (1.7.2) will finally solve this problem by reusing Motor #9 output as buzzer output.

But, some additional hardware will be required. To be precise, single n-channel signal MOSFET transistor like 2N7000. Connection diagram is shown below.

AnyFC F7 Buzzer driver with 2n7000 mosfet transistor

And this is how it can be soldered together.

AnyFC F7 Buzzer driver with 2n7000 mosfet transistor

AnyFC F7 with buzzer

That is all. Simple, right?

Working solution for USBasp driver in Windows 10 64bit

Yesterday I’ve spent like 2 hours fighting to make USBasp ISP programmer work under Windows 10 64bit. Seriously, that was like some kind of nightmare that turned into a comedy. All web pages that I’ve found suggested following procedure:

  1. Download zadig
  2. Install libusb-win32
  3. Be happy

Unfortunately, in my case all attempts failed miserably. All I was getting from avrdude was

avrdude: error: programm enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1

I’ve found a solution. Internet was wrong. libusb-win32 was not the correct driver for USBasp. The correct driver was libusbK (v3.0.7.0). After installing libusbK USBasp came back to life!

usbasp driver for Windows 10 64bit