Tag Archives: ADSBSharp

Dongle Bits: ADSB Radar and $60 Police Scanner

This article appeared in the The Lake Erie Amateur Radio Association newsletter The Spirit of ’76 and ’88 February 2015 edition and The Wood County Amateur Radio Club newsletter CQ Chatter March 2015 edition.

Read the rest of the series in the Dongle Bits articles category.


The holidays were a busy time at the K8JTK laboratories with a couple RTL-SDR projects. The RTL-SDR is the European TV tuner dongle that was turned into a software defined radio receiver.

Thanksgiving is one of the busiest travel seasons and I wanted to decode ADS-B data to see how many aircraft were flying around. ADS-B stands for Automatic Dependent Surveillance – Broadcast allowing aircraft to be tracked by ground stations and provide situational awareness to nearby aircraft. This is part of the FAA’s NextGen project and mandated by agencies across the globe.

I saw this project in the January 2014 edition of QST written by Robert – W9RAN. He covered building a Collinear Array for the ADS-B frequency of 1090 MHz. I used one of my ham antennas. The RF signal received by the dongle is turned into data packets by a program called ADSB# (included in the SDR# download). VirtualRadar receives those packets, decodes the data, and plots aircraft on Google Maps. This setup can work with a Raspberry Pi and I hope to try this in the future.

adsb-07_browser-06_thanksgiving_travel_and_take_off
Thanksgiving travel in Cleveland, Ohio.

Over the Thanksgiving holiday, I saw 25 aircraft flying around Cleveland on average. I think the most I saw was 48 at once. Not all aircraft have full ADS-B implementations. For example: I would see a call sign but no position data. My receive range (depending on aircraft altitude) was east of Toledo to the PA border and south to Canton. Visit my write-up on this project: ADS-B Decoding with ADSBSharp and VirtualRadar Server.

The second project is a little more complicated but it helped me understand how trunked radio systems work. With the FCC narrowbanding mandate in certain RF spectrum, many public service agencies have decided to “go digital.” In my area the MARCS-IP system and the Greater Cleveland Radio Communications Network are most popular. Both are P25 trunked digital systems. P25 is a specification for voice and data transmission. Trunked radio systems operate by having a radio send data to the control channel requesting communication on a talkgroup. The control channel directs all users of that talkgroup to a specified channel. When the user is done transmitting, all radios switch back to monitoring the control channel for further instructions. This is done seamlessly and allows many users (agencies) to use a small set of radio frequencies. Users only hear the conversations on their assigned talkgroup and not other users on the same system.

dongle-bits-06-p25_trunked_decoding-single_voice_decoder
P25 trunked decoding with a single voice decoder.

Scanners that receive these systems run $500 and go up from there. Using two RTL-SDR dongles and software (mostly free), I’ve been able to receive P25 trunked systems for about $65. One dongle monitors only the control channel and other dongle(s) jump frequencies to receive the digital voice modulation with a program decoding the audio. I can have as many voice receivers as I want whereas a scanner cannot be expanded. Most I’ve heard of is eight. There are some drawbacks like portability. Find out my experiences in my P25 Trunked Tracking post.

Fresh Baked Pi

Raspberry Pi foundation released new models over the last couple months. The biggest news coming at the beginning of February: the Raspberry Pi 2. This model comes with a quad-core CPU and 1GB RAM offering a six times speed improvement, still at $35. Initial reports are it is a lot faster!

Raspberry Pi 2

Along with the new Pi2 came a new version of the Raspbian operating system with optimizations and a new look. In the near future, Microsoft will be releasing a version of Windows 10 Embedded for the Raspberry Pi 2 FREE OF CHARGE! (see the Raspberry Pi 2 link above.)

That’s A Wrap

A goal behind this series has been to expose many hams to newer technologies and younger people to ham radio. These technologies are getting young people interested in experimenting, programming, and even Ham Radio. On podcasts I watch, I’ve heard “I want to get my Ham Radio license” by 20 and 30 year olds like I’ve never heard before. These are young people interested in experimenting, making things, building things, and hacking things — all of which are the foundation of Amateur Radio. Making has evolved into writing software, sending a chip a set of commands and analyzing what is returned, or analyzing packets. Then figuring out “what can I do with this?”

I saw a great technology round-table over the holidays and they talked about getting kids into technology. Many of the methods apply to Ham Radio. As a builder, you build something and presume what will happen. Then something different happens and now you have a mystery to solve. “Why did X happen and not Y?” A new theory develops and sucks you in. This is exactly how the Raspberry Pi, RTL-SDR, and every project surrounding them came to be. It is my opinion that we, as the Amateur Radio community, need to encourage, capitalize, and focus efforts on younger makers and hackers to get them licensed.

As this is my last planned article, I would like to take time and thank the newsletter editors for thinking this series was worth publishing and recreating all the links I included. Thank you to those who told others about this series. I got a ton of feedback and couldn’t be happier that others have found this interesting and sparked them to start experimenting. Most of all, thank you for reading.

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

Update: ADSBSharp (ADSB#) is no longer available and has been deprecated.  Copies can be found by doing some searching.  It is not available from the authors site as described in this post for the RTL-SDR. A program like RTL1090 or Dump1090 (or any of its forks) can be substituted.  The author is focusing on AirSpy devices and ADSBSpy is available from the same site as SDR#.


An interesting project I came across using the RTL-SDR dongle is to decode ADS-B data.  ADS-B stands for Automatic dependent surveillance – broadcast allowing aircraft to be tracked by ground stations and provide situational awareness to nearby aircraft.  It is part of the FAA’s NextGen project and mandated by agencies across the globe.  ADS-B uses a frequency of 1090 MHz.

Thanks goes out to Robert Nickels – W9RAN and his article in the January 2014 edition of QST which covers this project and how to make a Collinear Array for 1090.  HAK5 also did a couple episodes showing how to make an antenna and configure Virtual Radar Server.

adsb-hub-diagram
Block diagram of the ADS-B Hub setup. From: QST, January 2014.

Program versions

I used a Windows 7 64 bit PC.  Applications and versions used in this writeup…

SDRSharp: 1.0.0.1330
ADSBSharp: 1.0.11.1
Zadig: 2.1.0.658
Virtual Radar Server: 2.0.2
SBS Resources: 6.7

Parts list

Listed below are all the parts needed to get this project working.

Antenna with receive coverage of 1090 MHz.
RTL-SDR dongle.

I had a ham radio antenna that I used.  It is the MP Antenna 08-ANT-0860 Ultra Mobile Antenna if you’re interested.  To build an antenna, see the QST article above.  The one that comes with the dongle will work but at short range.