DIY FLARM/OGN/FANET receiver for displaying gliders and motorplanes in Mission Planner

I found the SoftRF project of Linar Yusupov on the internet and I find it very interesting. This´project involves different types of receivers which can be used for avoidance in manned aircraft as well as for UAVs. It can communicate and receive different popular protocols including FLARM, OGNTP, FANET and the Skytraxx protocoll. FLARM and OGNTP seem to be very “wide known” in smaller aircrafts, such as gliders and motorplanes, balloons etc. I have and ADS-B receiver as well but I think it is useless as all aircrafts which have ADS-B equipped fly above 32000 ft.

So this is why I decided to build myself a couple of SoftRF units. I ordered all the parts needed, except for the NRF905 module as I wanted to build myself a SoftRF LoRa module (https://github.com/lyusupov/SoftRF/wiki/UAV-BOM and https://github.com/lyusupov/SoftRF/wiki/SoftRF-LoRa-module#bill-of-materials) and started soldering. This is pretty easy and does not require a lot of soldering skills.

After soldering everything together, I installed the latest firmware (1.0RC6) on both units.
I set up one unit as a testunit to see if I would receive the infos with the second unit connected to my Pixhawk 4. I set the mode to “Normal” and connected a cheap GPS to it (TX of GPS to D3, GND to GND and VCC of GPS to 3.3 of the SoftRF board.

I connected the second unit to my Pixhawk 4 “UART&I2C” port (SERIAL_4). After changing all settings of my Pixhawk to the correct ones (SERIAL_4_BAUD: 57, SERIAL_PROTOCOL: 1, ADSB_ENABLE: 1) and the SoftRF mode to “UAV” I couldn’t see any plane info an my GCS.
So I wrote to Linar, which kindly helped me and found out, that there was a problem with the latest versions between SoftRF and Pixhawk. So I changed back to 1.0RC2 which works very good on the bench so far!

So now I need to test it in real life. If it works, I think this will be a huge benefit for every participant as others can see my drone and I can see the other planes and can decide what to do!

You find all needed information the Linars github site.

If there are further questions, please let me know!

2 Likes

i assume you are outputting mavlink adsb data, that is read by ardupilot on serial4?

Yes, kind of. But it is not recognized as ADSB as for example PingRX. But that shouldn‘t be a problem, should it?

@Michael_Oborne
https://www.dropbox.com/s/vj6aan0k0ffk3eu/2019-03-04%2019-28-44.tlog?dl=0
This is an example tlog file for your interest

Hi,
just to give a quick update. I did some field tests with the SoftRF Receiver and it looks very promising!
The first two fotos are taken at the same time and are a comparison of the glidertracker website and the MP screen when connected to my UAV.

The second picture shows how the signal of the SoftRF unit inside the UAV is picked up by my OGN
receiver I have built.
The only problem is that the UAV does not send any information about heading and speed yet. But I think it was fixed with a newer version of the SoftRF firmware. I need to try that out later.

So far, I am very happy with this affordable system and will test it in the upcoming season.

Hi, have you tried installing the update to see if the compatibility isse was resolved in 1.0RC8? I´m also trying to set this up, but am unsuccesful so far. I will try 1.0RC2 and a fewother things and see if I can get it to work.

So I got the 1.0RC2 semi-working. All firmware versions newer than RC2 freeze up as soon as I change into UAV mode via the webUI.
The issue now is, that it stops transmitting (and most probably also receiving) after about a minute or two.

edit. It seems, that it works in OGN mode, but not in FLARM. The standalone version on the newest FW (with an external GPS attached) also works with FLARM.

It seems, that I am talking to myself. Is anyone else reading this thread?

1 Like

I use RC7 and it works with that so far. The only thing I noticed is when you put a second GPS unit on the UAV and that one operates in DGPS/RTK mode, the yusupov firmware stops working.
A walkaround is to connect the RTK GPS as the second GPS and inject the correction stream only to the second GPS (GPS_INJECT_TO 1). And (very important!) to config the first GPS to GPS+GLONASS but no SBAS (GPS_GNSS_MODE 65)

I’ll get an ESP32 and see if it will work with that. Currently I am using NodeMCU and the whole thing gets unresponsive as soon as I change into UAV mode with newer firmware.

I use a ESP8266 it works. But only on certain UART ports. Have you got an idea why it does not work on SERIAL 5 port for example? I have the same problem when I connect a RTK GNSS on SERIAL 5. Is that one different?

Arducopter can only handle up to 4 Mavlink communications at the same time. How much stuff do you have attached to yoour pixhawk? Also what hardware/software are you using?

edit. Cool, RC7 does work! It seems, that RC8 has some major flaw with the ESP8266. I will try ESP32, when it arrives.

Oh, good to know!
I use Arduplane but it can probably also only handle up to 4 Mavlink communications, right?
I used a Pixhawk 4 for a while and now I changed it to a Durandal. Both FCs are great!
I’ve got a few things: telemetry, GPS 1, GPS 2, Frsky SPort telemetry and FLARM
One of those I have to disconnect so that it works. I also thought about daisy chaining some devices. Would that work?

Only the (USB and) Telemetry listed there is Mavlink.

In that case it should work. Mavlink are the devices, where you set SERIALn_PROTOCOL to 1 or 2. This would be in your case USB, telemetry and FLARM.
I would try exchanging Frsky SPort and FLARM and see if the problem is with the port, the wiring, or the device.

I tested RC8 with an ESP32 and it works. The problem only seems to exist with the ESP8266 in UAV mode.

this is strange because I don’t get all devices together to work. Even if only 3 devices are Mavlink.
Have you got an idea, what I could check/change?

Can you please clarify, that softrf can receive ads-b on basic esp32+lora setup or do you need a specialized receiver for that?

you need a different receiver for ads-b.

Unless I am missing something on SoftRF github, I don’t see any additional receivers hooked up there. Would you be able to provide a link to such a receiver?

You can buy a UAVavionics PingRX (https://uavionix.com/product/pingrx/). It can receive ADS-B but not transmit. It works great- I have bought one but for my purposes I need FLARM because the small planes which fly in my area use FLARM but no ADS-B.
But PingRX works very good!
As far as I’m aware you cannot combine both together to the FLARM. You would problably need two UART ports.