ADS-B Decoding with RTL-SDR, ADSBSharp, and Virtual Radar Server

Browser configuration


In the second pane, you will see the RTL-SDR receiver just added.  It should have a status of “Connected.”  If ADSBSharp is receiving frames, “Total Messages” will increase.  “Aircraft Tracked” is the number of planes for which data is currently being revived by your antenna and ADSBSharp.

Click link.


Your default browser will open.  The initial location will be in England.  Click Options near the top-center of the browser.


Under Current Location, check Set current location.

Uncheck Use GPS location.

Uncheck Show current location.

Click the X on the Options bar.

A pin will drop on the map to be used to set your location.  Zoom out and drag the marker to your relative location.  Zoom in, keeping the marker visible on screen, click and drag the marker closer to your location.  Repeat this until the marker is close to your actual location.


Once your location is accurately marked, click Options again near the top-center of the browser.


Under Data feed, for Receiver, select RTL-SDR.

Under Current Location, uncheck Set current location.

Check Show current location.


You will now see some data and aircraft on screen!

Clicking on an aircraft on the map or in the information windows will bring up as much information that is known from the ADS-B data or aircraft databases.  It will show the flight path as picked up by your RTL-SDR dongle!

Since all aircraft do not have ADS-B fully implemented (especially in the U.S.), not all data will be filled in.  For example, in the title bar it says (24). This is the number of aircraft being heard by the receiver broadcasting some-sort of ADS-B information.  You will notice there are not 24 aircraft on screen, meaning only 8 are reporting position data. Not all aircraft are broadcasting their call sign so it is unknown what kind of plane it is… and so on.

The aircraft highlighted in yellow has a weird looking path.  It just took off from Cleveland Hopkins Airport (KCLE).

More bits

To start this setup again, open the ADSBSharp application, click Start.  It’s working if it is decoding frames.

Start Virtual Radar Server.  It will automatically re-connect to ADSBSharp and start seeing messages and aircraft tracked.

Click link.  Your browser will open.  If you have cookies and JavaScript enabled, it will return to your previous settings.

Download the route data every couple days or so to keep them updated.


Virtual Radar Server doesn’t care where the data comes from, ADSBSharp could be swapped out for a Raspberry Pi running Dump1090 (the Linux equivalent to ADSBSharp) at a remote location.

Port forwarding and data sharing

ADSBSharp (47806), Dump1090 (30003), and Virtual Radar Server (80) are all applications that can be port forwarded so others can access your receivers’ data or web interface.  Like a mesh network of RTL-SDR receivers.

The data from ADSBSharp or Dump1090 requires MUCH less bandwidth than forwarding raw signal data using rtl_tcp.

ADSBSharp has a option to forward the received data (without port forwarding), check the box that says Share with ADSBHub and click Start.


As an example of shared data, add another receiver in Virtual Radar Server with the settings shown.  Test. Select the SDRSharp receiver in the browser window.

You will see alot of aircraft in Europe and a number in the U.S. (check near Washington D.C.).

Check ADSBHub for other receivers.  As of this writing, the website has been inaccessible for over a week.