OGN Receiver Frequently Asked Questions

Principle of operation

The OGN receiver acquires 1MHz or 2MHzof RF bandwidth centered around 868MHz, detects and decodes in software FLARM, OGN, PilotAware and FANET signals. The reception of all the systems in done in parallel.

System Frequency [MHz] Modulation Bandwidth
FLARM 868.2/868.4 50kbps GFSK 250kHz
OGN 868.4/868.2 50kbps GFSK 250kHz
PilotAware 869.525 38.4kbps GFSK 100kHz
FANET 868.2 LoRa 250kHz SF7 250kHz

The rtlsdr-ogn software automatically selects the appropriate ISM and GSM bandplans using the GPS coordinates in the .conf file. In North American the ISM band is from 902-928 MHz centered on 915 MHz - FLARM randomly selects the center frequency for one of 65 channels each of which is 400 KHz wide (65 x 400 KHz = 26 MHz) - but it only does so if the CenterFreq parameter is not specified in the .conf file. You can see the currently selected center frequency by refreshing the :8080 web page, or in the name of a spectrum file downloaded from the webpage.

What hardware to use ?


Recommended and easiest to obtain hardware is Raspberry PI , 3 or 4, 512MB of RAM is normally enough.
Raspberry PI 1 or 0 is still possible, but then PilotAware and FANET reception is not possible or needs some compromises

In principle the receiver can work on any CPU which is fast enough and the OS is Linux with support for USB and the RTLSDR support.
SBC like Orange PI, Odroid would work.
Intel or AMD CPUs under Linux OS can work as well thus like Thin-Clients mini-PC.

SDR receiver

RTL SDR is the easiest and cheapest
In principle any hardware supported by SoapySDR is possible as well.

We recommend RTL-SDR "silver" sticks with programmable Bias-T which enables power for LNA like Uputronics filtered LNA which is recommended as well.

For the RTLSDR USB sticks we recommend those with the R820T(2) tuner.

USB extender cable

It is possible to put the RTLSDR receiver on an extender USB cable to bring it closer to the antenna, as to reduce the length of the antenna feeder.
This can work, up to 2x10m or even 2x20m of USB cable has been tried, but must be tested before installing the receiver on the target site, as not every USB extender is able to support such operation.
In any can, any USB cable used must have a screen (most have, but not all) and should be "thick" to minimize voltage drop across the cable length.
The power supply should provide 5V (some provide a bit lower voltage), possibly 5.2V to help to deal with the voltage drop.


A collinear, 868MHz antenna or 5-9dBi gain is recommended. North American antenna should cover the ISM band 902-928MHz.
Avoid antennas with downtilt: instead choose those with horizontal beam or a small uptilt.
Beware that antenna gain is very often overstated: for example 8dBi with 50cm long antenna is physically impossible.
Rather judge the antennas by their length than by the stated gain.

Antenna gain is most often stated as dBi which means dB referenced to an ideal isotropic antenna.
If the gain is stated in dB it means nothing as there is no reference, thus you should then ask explicitly what do the "dB" refer to.
Remember "dB" is always a relative measure: to judge it you need to know what it refers to.

Antenna RF coax

Low loss coax should be used like H155 (0.25dB/m @900MHz) or when longer than few meters then use like H2000 flex (0.15dB/m @900MHz)

However: if you place an LNA right next to the antenna, then the coax attenuation is no longer critical.
For example one receiver works great with Uputronics LNA followed by 35m of H155 cable and no visible loss of performance due to the cable length.

RF filter

When intermodulation issues are present you need a filter or a filtered LNA.

Low Noise Amplifier (possibly filtered)

For best sensitivity an LNA will help, even better when filtered.
This is actually the most-sensitive configuration: low Noise Figure LNA with high intermodulation immunity followed by a SAW filter, all mounted right at the antenna and supplied with Bias-T.
Uputronics filtered LNA works well on several sites and helps to resolve the intermodulation issues thus we recommend it.

Intermodulation issues

When you are far from big cities good chances are you setup the antenna, the RTLSDR stick, Raspberry PI, and it will work just fine and receive aircrafts within 50-100km distance.
However, you can be unlucky and have your site near a BTS or a Radio/TV tower. In such case the strong RF transmission will overload the (cheap and unfiltered) RTLSDR receiver and your noise floor will increase. Each 6dB in noise floor results in halving the reception range, thus for example 20dB of extra noise decreases your range about 10 times.

To resolve this issue you need to either apply filter at the antenna or use a filtered LNA like Uputronics one.

To judge if you have intermodulation issues you can observe the noise level reported by the OGN receiver and/or the spectrograms.

Coexistence with ADS-B receivers

OGN receiver can run on the same Raspberry PI (or another CPU) as the ADS-B receiver like feeding the FR24 network.
This only needs the second RTLSDR and second antenna installation.
It is possible to run the system on a single antenna but this requires a splitter/diplexer for example an LNA followed by a splitter and two SAW filters for 868MHz and 1090MHz.
You may possibly need a stronger power supply to power the 2nd SDR and the additional load on the CPU.
More details about it in the software section.

Software installation

Software configuration

When you setup a new OGN receiver you need to configure some parameters in order for it to work properly.
All of them are in the configuration file.
To find out where this file it type: cat /etc/rtlsdr-ogn.conf


Should be up to 9 character and no "special characters" like underscore, dash can still work.
For airfields try to use international codes like EPKA.
For other locations use specific location name.


Frequency correction for the RTLSDR USB receiver

This is a fairly important parameter as for the simplest RTLSDR dongles the correction can be up to 100ppm and failing to correct such offset with result in inability to receive any traffic.
Fortunately, if you have an receiver with TCXO (Temperature Compensated Crystal Oscillator) like the "silver" stick the correction is less then 1-2ppm and you don't need to type it in or type it as zero.

Software operation

The receiver consist of two tasks, which run in parallel, as two separate processes: ogn-rf and ogn-decode

ogn-rf acquires RF data and performs FFT thus transforms sampled data into spectral form, to split the full RF band into appropriate channels.

ogn-decode processes the spectra produced by ogn-rf, detects packets, demodulates and decodes them before sending the aircraft positions to the APRS server.

The two tasks run in a shellbox which is configurable via the file /etc/rtlsdr-ogn.conf
This file tells where the binaries are and where they run, where the config file with receiver position and other data is placed and what are the control ports to monitor the tasks.


How can I monitor my OGN receiver ?

Check with top or htop if both tasks are running, check CPU busy levels.
Check standard output ports, normally on 50000 and 50001 - use telnet or nc (netcat) like telnet localhost 50000
Check HTTP status pages, normally on port 8080 and 8081 like lynx localhost:8081
Check basic parameters and statistics those pages, check traffic, check spectrograms.

How can I check if my receiver works as expected ?

Check noise level on HTTP status page 8081 and traffic on the same page.
Check noise level and sensitivity indication (if some traffic received).

How can I check is the RTLSDR receiver works as expected

Check the output of the ogn-rf task on port 50000: troubles with the RTLSDR would be reported there
Check CPU levels: very small CPU usage likely implies no RF data being acquired
Check the spectrogram: do you see typical ISM868 signals ?
Check dmesg output for possible troubles when connecting the RTLSDR to USB

Where is the configuration file if I need to change the position and/or name of my OGN receiver ?

type: cat /etc/rtlsdr-ogn.conf - lookup the binary path/location and the last parameter on each line is the config file relative to this path.

but beware (!) on some installations the configuration file is created on the fly at the system or task restart.
This is the case for Sebastien's read-only image, where the receiver configuration file is created based on the OGN-receiver.conf file on the /boot partition thus there you should edit this file and then restart the receiver task in order to have an effective change.

You can verify if your changes took effect but examining the 8080 and 8081 HTTP status pages, which list actual values of most parameters.

How can I judge sensitivity of my OGN receiver ?

Check the traffic and distances to the received aircrafts on the 8081 HTTP page.
Check the sensitivity measure expressed as SNR at 10km distance on the same page.
Good receivers scores about 20dB@10km sensitivity, with an LNA it is normally 23-26dB@10km.
This measure is fairly heuristic and the error can be especially large when the traffic is low thus don't jump to conclusions too soon.

What are the spectrograms ?

Spectrogram represents one reception timeslot, a period of time 850ms long. The time is the vertical axis of the JPEG image you get when you ask for spectrogram: start is on top and end is at the bottom,.
Horizontal axis is frequency: left is lower frequency, right is higher frequency, the center corresponds to the center RF frequency. The width corresponds to the chosen RF bandwidth thus 2MHz is most setups.

At 1 MHz SampleRate the spectogram files are 2048x831 and 512x3321 pixels, at 2 MHz SampleRate they are 4096x831 and 1024x3321 pixels. Dividing the first number (width) into the SampleRate gives the portion of the bandwidth represented by each horizontal pixel, for example 1000000 MHz/2048 pixels = 488.281 Hz per pixel. The second number (height) represents 1.0 ms per pixel for the spectrogram that is 831 pixels high, or 0.25 ms per pixel for the 3321 pixel one.

For example a centered vertical line on such spectrogram corresponds to a carrier at 868.8MHz or whatever center frequency has been chosen from the bandplan. The name of the file contains the center frequency.
Another example: a horizontal line corresponds to a short pulse or an interference burst. The reason is it horizontal is that pulses are wideband. Actually anything which is short is wideband.

Whatever signal you can see on the spectrogram, you can quickly just how long in time it is (see its vertical size) and how wide in frequency it is (see the horizontal size).

The pixel size on the 8080 port spectrograms is 1.95kHz x 0.25ms and on the 8081 port it is 0.49kHz x 1.0ms.
For example an OGN packet is 5ms long thus takes 20 pixels vertically on the 8080 port spectrogram. OGN packet is at same time 250kHz wide in bandwidth thus it takes 120 pixels horizontally on the same spectrogram.

How do signals look on spectrograms ?

Open questions

If you have a question which is not on the list, put it here, and it should be answered at some point.
Remember this is Wiki: anybody from the OGN group can edit this page.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License