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 navigation 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 RTL-SDR with 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. Recently there has also been talk about the R820T2 tuner, which seems to have slightly better performance too. See the Buy RTL-SDR dongles page for more information on where to purchase.

We also now note that recently new higher end SDR’s like the $199 Airspy have developed very good ADS-B receivers that are several times more sensitive that 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.

In this video hamradioscience shows the rtl1090 decoder in action.

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 or R820T2 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 location 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.

ADS-B Antennas

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 or this may help with signal loss particularly if you have a long run of coax 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.

If you simply want to buy a ready to go antenna and filter then we recommend the FlightAware collinear antenna and their 1090 MHz filter. See our review of these products here.

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 collinear 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. Note that a coax collinear with 4-6 elements is probably enough, too many elements and the radiation pattern becomes too flat causing even worse reception.

Collinear Wire Antenna

The 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 given 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 ADS-B 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 ADS-B 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.

The stock antenna that comes with the dongle can be turned into a ADS-B tuned quarter wave ground plane fairly easily. Simply cut the antenna down to around 6.5 cm in length and then place it on a metallic surface such as a large can lid that has a radius of around 6.5 cm. If you have a telescopic stock antenna, fully collapse it down to its shortest length of around 9.5 cm and do not place it on a metallic surface. Basically, you can compensate for lack of a large ground plane by making the antenna longer which is why 9.5 cm with no ground plane works well for 1090 MHz. Note that unless it’s an improved version, the coax cable on the stock antenna is bad and you will loose several dB’s of signal due to it.

ADSB Groundplane Antenna

J-Pole Antenna

Another antenna which is easily constructed out of a bit of wire is an 1090 MHz 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 required 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.

ADS-B Preselectors

Many people have reported getting much improved reception after applying a 1090 MHz band pass filter to their setup. For example, see this post here where the experimenter was able to massively increase the number of ADS-B messages received with the band pass filter attached.

One good band pass filter design is this PCB based hairpin filter. Another good option is a 1090 MHz SAW filter component which can be cheaply purchased from Ebay for around $10. These components are small and require decent soldering skills. See this image for an example of one wired up. A ready to go plug-in ADS-B filter can also be purchased, but these cost much more.

ADS-B 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# (Now unavailable)

NOTE: ADSB# has recently been removed from SDR# and can no longer be downloaded. The developer has stated that it is old and the other alternatives shown below are much more useful. The most similar GUI based software is RTL1090.

ADSB# is a windows based ADS-B decoder developed by the programmers of the SDRSharp software. It has a simple graphic user interface and is probably the easiest decoder to use. ADSB# is downloaded as part of the SDR# install procedure.

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



RTL1090 is another windows based ADS-B 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. Use the RTL1090 IMU installer as this will help download all the files needed to make this software run. RTL1090 seems to have slightly better performance compared to ADSB#.

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/Max/Windows based command line ADS-B decoder. It is very useful for Linux based devices such as the Raspberry Pi, but it also works just as well on desktop PCs and laptops. With dump1090 you could set up a Raspberry Pi decoder that feeds data to a online webserver which shows a map. Dump1090 can be downloaded from its most updated Git repository here. To download dump1090 for Windows simply go to the Git repository and download the dump1090 zip file.

NOTE: There is currently a bug with the Windows version that can cause the dump1090 web server to not display any map or settings in a browser. This is because there are differences in the way that Windows and Linux handle line breaks in text files. In the javascript files that dump1090 uses the line break character must be in the Linux format for dump1090 to work properly. For some reason when we extract the files onto a Windows system, Windows automatically changes the line break character to the Windows one.

Fixing this bug requires a little work, but it is easy to do. First download Notepad++. Now go to the dump1090 folder and open the public_html folder. Open the first .js file with Notepad++. Go to View->Show Symbol->Show All Characters. You may notice that the line break characters are shown in the Windows format as “CRLF”. Now go to Edit->EOL Conversion->UNIX/OSX Format. Notice that the line break characters change to “LF”. Save the file and repeat this process with every file in the public_html folder, including the .css and .html files. Also perform the same steps to the .js files in the coolclock folder.

Dump1090 is reported to probably have the best ADS-B decoding performance out of all the software. Another advantage to dump1090 is that extra mapping software is not required as it can generate a Google Map webserver which shows the aircraft.

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



ModesDeco is a Windows/ Linux /OSX/ Rpi command line based decoder. It can receive Mode S and Mode A/ C data simultaneously. Download the latest version from the last page on this forum post.


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 Git site can be found here. Note that gr-air-modes may not have been updated to use the newer GNU Radio 3.7 version yet.

Graphical ADS-B 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.

You can also search in Google using the string inurl:”VirtualRadar/GoogleMap.htm” to find 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 ADS-B 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


The adsbSCOPE software is another free ADS-B radar program 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 linked 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 and flightaware.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.

flightaware.com is another similar service. They have software for the Raspberry Pi which will allow you to feed their servers.

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 or 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 and the R820T2 may work even better.

If you enjoyed this tutorial you may like our ebook available on Amazon.

The Hobbyist’s Guide to the RTL-SDR: Really Cheap Software Defined radio.


  1. Feng

    Is anyone who has the idea how to track a specific aircraft with certain flight number instead of tracking all the aircraft?

  2. C. Morrison

    Nice article but one comment. Your collinear and wire dipole look horizontally mounted, but UHF is vertically polarized. I suspect you may have showed the photo in that orientation due to space constraints, but it’s confusing, especially for those who don’t understand these systems.

  3. Mathieu

    I installed Cocoa1090 on my Macbook Pro. Works fine!
    But I should like to know if there is Display Software for it, to make the planes visible.
    Until now, I could not find this.
    Somebody to help me?

    Thanks in advance!

  4. lars

    Hello, I mounted my antenna on the roof, but it is a little obstructed in some directions. I am getting 9700 frames/sec very consistently, but I have captured 0 planes. Any ideas? I left it running for two days but still no aircraft 🙁

    • admin

      What is your antenna and are you able to try another software, like RTL1090? ADS-B# might be giving false positives if you set the confidence too low.

  5. AF5OI

    Air Traffic Controllers Pick the Wrong Week to Quit Using Radar

    Well written Wired article on how Automated Dependent Surveillance-Broadcast can easily be spoofed. Apparently, the authorities are over-relying on ADS-B. Anyone broadcasting a valid (well formed) signal on 1090 mHz can cause mayhem. Might be up to SDR users to help locate a rogue transmitter.

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

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

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

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=""> <s> <strike> <strong>