RTL-SDR Tutorial: Cheap ADS-B Aircraft RADAR

The RTL-SDR can be used as a super cheap real time air radar. Modern planes use something called an ADS-B (Automatic Dependent Surveillance-Broadcast) Mode-S transponder, which periodically broadcasts location and altitude information to air traffic controllers. The RTL-SDR can be used to listen to these ADS-B signals, which can then be used to create your very own home aircraft radar system. Compared to dedicated commercial ADS-B receivers which can go for between $200 – $1000, the $20 RTL-SDR is very attractive for the hobbyist in terms of price. However, note that the RTL-SDR probably shouldn’t be used for ADS-B in a real aircraft for safety reasons.

ADS-B broadcasts at a frequency of 1090 MHz. It has been discovered by the RTL-SDR community, that the R820T tuner has the best sensitivity at this frequency. The E4000 and other tuners perform poorly in comparison. So it is recommended that you obtain an R820T tuner if you want to set up ADS-B decoding with the RTL-SDR.

Examples of RTL-SDR used as an ADS-B air radar

In this video, YouTube user Superphish shows a timelapse of air traffic over New Zealand using RTL-SDR, ADSB# and Virtual Radar Server.

ADSB Virtual Air RADAR with RTL SDR (RTL2832), ADSB Sharp and Virtual Radar Server

In this video hamradioscience shows the rtl1090 decoder in action.

RTL1090 ADS-B Decoder for Windows Demo

Requirements for setting up RTL-SDR as an ADS-B air radar

To set up an ADSB air radar you will need four things.

  1. A working RTL-SDR dongle. The R820T tuner is recommended for best performance at 1090 MHz.
  2. A vertically polarized antenna tuned to 1090 MHz.
  3. Software for listening and decoding ADS-B.
  4. Software to graphically display the received aircraft data.

We will assume you have the RTL-SDR dongle set up and working already. If you have not bought a dongle yet, see the Buy RTL-SDR page for information, and the check out the Quickstart Guide for an easy setup routine.


The stock antenna that comes with the dongle may already be able to pick up ADS-B signals, depending on how far away you are from the aircraft and what your local RF interference is like. However a properly tuned antenna is required to get decent range. There are of course commercial ADS-B antennas you can buy, but the best option for keeping in the cheap spirit of RTL-SDR is to build your own. ADS-B uses a vertically polarized signal, so only certain types of antennas will work.

Since ADS-B signals are generally quite strong, and have good line of sight opportunities, most vertically polarized antennas tuned for 1090MHz will work well. Using a poorly tuned or poorly made antenna will result in a lack of range for your air radar.

Also, ensure your coax feed line (the length of coaxial cable between the antenna and dongle) is high quality and as short as possible. At gigahertz frequencies long runs of cheap coax tend to reduce signal strength significantly. Use coax cable intended for satellite installations, such as RG-6, as these cables are designed for gigahertz frequencies. A low noise amplifier (LNA) such as this may help with signal loss particularly if you have a long run of feed line. Using a powered USB extension cable and placing the dongle close to the antenna may be an option to consider. Some people have even placed a raspberry pi running RTL-SDR at the antenna, and used WiFi or an ethernet cable to send data to a PC.

Collinear Coax Antenna

A very simple and cheap antenna for ADS-B can be built out of coax cable. The collinear antenna has very high omnidirectional gain directed towards the horizon. This means it will receive signals best from sources that are far away on the horizon. As most planes will likely be towards the horizon and not directly above you, this is an excellent antenna for ADS-B.

A collinear coax antenna is basically a length of multiple short coax cables, where the coax outer conductor is connected to the inner conductor in an alternating fashion.Colinear Antenna Design

This page has an excellent write up on the design and construction of a colinear coax cable for adsb. Even without the antenna matching modifications, this antenna can perform very well. This video shown here shows a comparison of a Discone vs. a Collinear antenna for ADS-B.

Collinear Wire Antenna

This write up shown here shows a collinear antenna made from copper wire which is intended to be used with WiFi signals. To use with ADS-B, the antenna lengths can be recalculated for 1090MHz using the equations on that page.

Wire Colinear

Wine Cork Dipole Antenna

A super easy antenna to build is Antirez’s wine cork antenna. A write up of his antenna can be found here. Antirez’s antenna is essentially a dipole antenna tuned for 1090MHz. Note that ADSB is vertically polarized, so the dipole should be mounted vertically.

Wine cork dipole antenna

 Quarter Wave Ground Plane Antenna

A small compact antenna that works well with ADS-B is the quarter wave ground plane. A good tutorial on constructing a quarter wave ground plane antenna for ADSB recetpion can be found in this pdf file courtesy of atouk. Another pdf tutorial on quarter wave ground planes can be found here. A ground plane antenna can also be made using this calculator, and this design. Some people have even reported success with using a coffee can tin lid as the ground plane.

ADSB Groundplane Antenna

J-Pole Antenna

Another antenna which is easily constructed out of a bit of wire is an 1090MHz sized J-Pole. This page shows one such project. It is essentially a wire bent into the shape of a ‘J’, with a balun for matching. Slim-Jim type J-pole antennas should also work well. It is also possible to build J-Poles out of common twin lead wire, just adjust the lengths using a J-Pole calculator for 1090 MHz.


PCB Antenna

There is also this interesting PCB based antenna design made for ADS-B reception, and also a PCB based strip line antenna.

ADSB Listening and Decoding Software

Currently, there are multiple software options available for listening and decoding ADS-B signals with the RTL-SDR. All software is free.


ADSB# is a windows based adsb decoder developed by the SDRSharp creators. It has a simple graphic user interface and is probably the easiest decoder to use. Also, ADSB# reportedly gets more decodes compared to rtl1090 (below), currently we recommend using this decoder. ADSB# can be downloaded from here.

An excellent tutorial on getting up and running with ADSB# can be found in this pdf file file written by Henry Forte.



Another windows based adsb decoder with graphical user interface. Has more options than ADSB# and a spectrum viewer, but is reported to not be as good a decoder as ADSB#. RTL1090 can be downloaded from here. Make sure you read the installation instructions carefully, as it involves downloading extra .dll files not provided in the RTL1090 download.

Recently the RTL1090 series 2 beta has been released. It promises to eventually have improved ADS-B decoding, so keep an eye out. The latest beta version now also includes a simple built in scope for visualizing aircraft positions.



This is a Linux based command line ADS-B decoder. Very useful for Linux based devices such as the raspberry pi. With dump1090 you could set up a raspberry pi decoder that feeds data to a webserver. dump1090 can be downloaded from a git repository here. An example of a public dump1090 webserver is here (Not guaranteed to be always online).

An interesting project and tutorial on using the Raspberry Pi with dump1090 can be found here.



This is a ADS-B decoder written for Mac OS X. It can be downloaded from here. It requires rtl_tcp to be installed.



A plugin used in GNU Radio for decoding ADS-B. The gr-air-modes project website can be found here.

Graphical RADAR Display Software

The decoders mentioned above all send the decoded ADS-B data through a local (or public if desired) network connection. There are a few software options available for receiving this network data and displaying it. Here we show four of the most popular, three are free, and one is paid with a trial option.

Virtual Radar Server

Virtual radar server is free software which displays plane positions in a browser window using Google maps. The map can then be shared with other people over the internet if desired. The ADSB# tutorial in this pdf file file written by Henry Forte explains how to set up Virtual Radar Server with ADSB# easily. Virtual radar server can be downloaded from here.

A live example of a public virtual radar server of french air traffic can be found here (note that this link may not always work). You can also search in Google using the string inurl:”VirtualRadar/GoogleMap.htm” to find more public Virtual Radar Servers.

Virtual Radar Server


PlanePlotter is a sophisticated commercial software with a 21 day trial period. After the trial period a licence can be purchased for 25 euros. PlanePlotter is also able to combine ACARS and ADS-B information together if you have two RTL-SDR sticks and can also be used to share data with the popular online adsb aggregator flightradar24.com.

One big advantage to using PlanePlotter is that it has a multilateration option which can be unlocked either by regularly contributing ADS-B data to their servers, or by paying 12 euros a year. Multilateration is a method which is used to estimate positions of planes that are broadcasting ADS-B signals without position data. PlanePlotter can be downloaded from here.

Plane Plotter Example


adsbSCOPE is another free ADS-B radar program but with network sharing options. You can download ADS-B data which is shared by other adsbSCOPE users to augment your own local radar setup. This allows you to have a global air radar. adsbSCOPE can be downloaded from the bottom of this page.

The tutorial pdf file file written by Henry Forte also shows how to set up adsbSCOPE with ADSB#, but is also applicable to rtl1090. Another good tutorial on setting up ADSBScope can be found here.

ADSBScope Screenshot


A lightweight radar viewer intended to be used with RTL1090. A tutorial on setting up Globe-S with RTL1090 can be found here, and Globe-S itself can be downloaded from this page.


Feeding Data to flightradar24.com

flightradar24.com is a service which collects adsb flight information from numerous sources around the world, and shares them on their website. You can use your RTL-SDR ADS-B radar set up to contribute to this service by either using PlanePlotter, or downloading the software from their website. If you are a contributor, you will be rewarded with access to flightradar24′s premium features.

Some Tips

  • ADS-B signals are line of sight. So that means the antenna should not be obstructed by things like trees or buildings. Put the antenna up as high as possible.
  • Check what tuner gain settings give the best reception at 1090 MHz in SDRSharp first.
  • Use high quality coax cable for your feed line between antenna and tv dongle. At high frequencies such as 1090 MHz, cheap coax can lose signal easily. RG-6 or better coax is recommended.
  • If possible, place the dongle close to the antenna, and use a powered USB cable to reach the computer.
  • An LNA such as this may improve performance.
  • If you have out of band interference at 1090 MHz, check out this ADS-B filter design.
  • The R820T is the best RTL-SDR tuner to use at 1090 MHz.


  1. Pingback: Échanger et collaborer, les points clés de l'aéronautique du XXIè siècle | AERTEC Solutions
  2. Pingback: Sharing and collaborating, the keys to 21st century aeronautics | AERTEC Solutions
  3. Pingback: Compartir y colaborar, claves para la aeronáutica del siglo XXI | AERTEC Solutions
  4. Javier Bará

    For those worrying about a good antenna: with the rtl-sdr Terratec stock antenna I can track in-flight airplanes at 250 km, that is, 136 nm. How? I live in a 15th floor level, at a height of 72 m over sea level and have an unobstructed view of the sea around SSW. The farthest point was well past east the island of Majorca. But I have no views of planes at Majorca airport. A question of line of sight rather than antenna quality.

  5. Pingback: Notable on the InterWebs Newsletter 2 | CoderZen
  6. Pingback: RTL SDR – la clé à l’écoute | Internet of everything
  7. Pingback: Belgaum news | About Belgaum | Belgaum information | Belgaum district | Belgaum city | Belgaum Hotels | Belgaum People | Belgaum tourism | Belgaum entertainment | Belgaum students | Inside facebook | Hack | make use of | technical news | | Build a Cheap A
  8. Pingback: Build a Cheap Airplane ADS-B Radio Receiving Tracking Station | Hack The Planet
  9. Pingback: Build a Cheap Airplane ADS-B Radio Receiving Tracking Station
  10. Pingback: ADS-B Virtual Radar RTL-SDR Tutorial by the ARRL - rtl-sdr.com
  11. duchmol

    tout ce que vous décrivez est magnifique, mais il y à un mais ….. vous jouez avec des données de la sécurité aérienne. Et vous allez me trouver parano, mais je suis sur que d’autres doivent chercher activement comment ils pourront détourner un avion, et vous les aidez bien en cela. Cela arrivera un jour soyez en sur.
    si vous etes dans un de ces avions détournés , peut etre vous rapelerez vous de ce que je viens d’écrire.
    je vous vois en train de vous tordre de rire et penser que je suis un vieux con. Oui , oui, continuez.

  12. Pingback: RTL Spectrum anylyzer / sofware defined radio & ADS-B | kiloOhm.com
  13. Pingback: ADSB# - Windows ADSB Decoder for use with a RTL-SDR « | RTLSDR.com
  14. w3sz

    RTL1090 Beta 102 [29-Jun-2013] running on XP SP3 here will lock up computer every 1.5 – 3 days.

    This continues even after wiping of hard drive, followed by fresh install of XP, with all MS updates done, but NO software installed except for RTL1090 and FlightRadar24.com feeder [not running] and Meinberg NTP.

    Running with just Meinberg NTP service and without RTL1090 Beta 102, no lockups are occurring.

  15. Pingback: Sõnumid lahinguväljalt » Blog Archive » Teeme ise IFF mode S vastuvõtja
  16. Pingback: Software | Pearltrees
  17. Pingback: Anonymous

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>