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.
- A working RTL-SDR dongle. The R820T or R820T2 tuner is recommended for best performance at 1090 MHz.
- A vertically polarized antenna tuned to 1090 MHz.
- Software for listening and decoding ADS-B.
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
- 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.