RTL-SDR Tutorial: Receiving Airplane Data with ACARS

What is ACARS?

ACARS is an acronym for Aircraft Communications Addressing and Reporting System which is a digital communications system that aircraft use to send and receive short messages to and from ground stations.

Standard ACARS transmits at a frequency of 131.550 MHz, which is in the receivable range of the RTL-SDR. The RTL-SDR software radio can be used as a radio scanner for listening to these digital messages, and with the help of some decoding software, can be used to decode and display the messages. The messages you can receive will be from nearby aircraft and ground stations. Most messages will be unreadable data intended for computers, but you can find out what is flying near you by decoding the flight number and aircraft registration details sent with every message.

There is also HF ACARS, which is used for long distance communications. In this article the focus will be on VHF ACARS, as receiving HF ACARS is a little different.

Examples of the RTL-SDR being used to decode ACARS

YouTube user Superphish shows a timelapse over 5 hours of ACARS traffic and decoding using SDR# and decoding program acarsd. He used a J-Pole antenna. (2021 Update: please see note regarding acarsd no longer working as expected below in the tutorial)

ACARS Decoding with RTL SDR (RTL2832), SDR Sharp and ACARSD

YouTube user moonfestmadness shows another RTL-SDR video also with SDR# and decoding program acarsd. You can also hear what ACARS sounds like in this video.

In this video, hamradioscience uses multiple RTL-SDR dongles to combine ADS-B and ACARS decoding in PlanePlotter.

Adding ADS-B, ACARS, and ATC Reception to PlanePlotter

Tutorial - Decoding ACARS using SDRSharp and RTL-SDR

We will assume you have bought and set up RTL-SDR with SDRSharp. If you have not bought an RTL-SDR yet, see the buy RTL-SDR page and then the quickstart guide.

We also assume you have some sort of decent antenna set up that is tuned to the air band frequencies (118 MHz - 138 MHz). An air band bandpass filter may help to receive stronger ACARS signals by removing out of band interference.

You will also need to have an audio piping method set up. Either first set up windows stereo mix, or download and install Virtual Audio Cable (paid with trial) or the free VB-Cable. Ensure the audio method you use in SDRSharp is set to the default audio device in the Windows recording devices audio settings.

If you are unfamiliar with ACARS signals, an example of the waterfall produced by ACARS signals is shown below and an audio example is also provided below.

ACARS Packets

Before decoding ACARS we will try to receive ACARS messages in SDR# first to confirm if we are receiving them.

  1. Open SDRSharp and tune to an appropriate ACARS frequency for your country such as the standard frequency of 131.500 MHz.
     
  2. Adjust the RTL-SDR RF gain in SDRSharp for best reception.
     
  3. Adjust the tuned bandwidth of your receiver to around 5-10 kHz, so that the bandwidth just covers the entire ACARS signal.
     
  4. Set the receiver mode to AM, turn off squelch and turn off any noise reduction filters. If decoding with PlanePlotter or ACARSD (described below) experiment with turning the audio AGC and Filter Audio settings on or off.

There are many software packages that can be used to decode the received ACARS packets. Currently the software that we most recommend using is the free Acarsdeco2PlanePlotter is another good decoding program. It has a trial period of 21 days after which you must purchase a licence for 25 euros. Acarsd is a free decoding program that also works well.

Using Acarsdeco2 to Decode ACARS

Acarsdeco2 is a Windows, Linux, Raspberry Pi and OSX compatible command line based multi channel ACARS decoder that directly interfaces with the RTL-SDR. Here we use the Windows version, but use of the Linux, OSX and Raspberry Pi versions should be very similar. Acarsdeco2 is probably the best decoder for ACARS available as it has good decoding performance, is capable of decoding up to 3 ACARS channels simultaneously. Also, while Acarsdeco2 is a command line program it also has a nice web interface that can be used to browse the received ACARS messages.

  1. First, using SDR# or another program discover your dongles PPM frequency offset and best gain settings appropriate for receiving ACARS signals. Adjust the gain settings until ACARS signals are received strongly without any interference. Record the dongles PPM offset and optimal gain, then close SDR#.
     
  2. Next, download the latest Windows version of Acarsdeco2 from xdeco.org. Unzip the files into a folder on your PC.
     
  3. Using Notepad open the file “ad2.bat”
     
  4. Edit the line by entering your optimal gain and PPM frequency correction settings that you found while viewing the signal in SDR# after the appropriate flags --gain and --freq-correction. (Note there is a bug where --freq-correction cannot be set to zero). Also be sure to set the --freq frequencies to the actual active frequencies used at your location. The default code in ad2.bat is shown below:
     
    cmd /c acarsdeco2.exe --device-serial 1 --gain 38.6 --freq-correction 1 --vrs-url http://192.168.64.135 --db C:\data\basestation.sqb --frdb C:\data\flightroute.sqb --silhouettes C:\data\silhouettes --pictures C:\data\pictures --banners c:\data\logos --outServer sbs:30008 --outServer ad2:31008 --freq 131550000 --freq 131725000 --outConnectUdp pp:192.168.64.135:9742
      
    You should set all the flag values (the words with the double dashes before them) appropriately. Most flags apart from --gain, --freq-correction and --freq can be ignored for simple operation unless you wish to use those features which are explained in the flags description below.
     
    --gain - the optimal gain setting you found in step 1
    --freq-correction - the PPM offset of your dongle (very important, must be set accurately)
    --freq - you can add up to three ACARS frequencies by specifying more than one --freq flag
    --vrs-url - if you are running the software known as “Virtual Radar Server” at the same time for ADS-B decoding then set this flag to the VRS web interface IP address so that you can get the images of the aircraft to show up in the Acarsdeco web interface (flag not required if not using Virtual Radar Server)
    --db, --frdb, --silhouettes --pictures, --banners - Folders where appropriate plane images are stored.
    --outServer, --outConnectUdp - Output server for SBS/AD2/Plane Plotter interfaces.
     
  5. Save and close notepad, then run the modified ad2.bat file by double clicking on it.
     
  6. Now with acarsdeco2 running, open a web browser and open http://127.0.0.1:8080. Here you should be able to see your ACARS messages being received in real time.

Using PlanePlotter to Decode ACARS

Go to the PlanePlotter website, scroll down and download and install the latest PlanePlotter version.

  1. First open SDR# and tune to an ACARS frequency. Set the receive mode to AM, and turn off any noise reduction filters. Set SDR# to output to your chosen audio piping device such as stereo mix, VB Cable or Virtual Audio Cable.
     
  2. Open PlanePlotter. Click on the "I/O Settings" icon that looks like a spanner with an 'i' to its left. You can see the icon name by hovering over it with your mouse.
     
  3. Ensure that the option "ACARS reception from audio input is checked". Push OK.

PlanePlotter Settings

  1. Go to Options->Audio->ACARS->Source. Ensure that the audio source that SDRSharp is outputting to is selected.
     
  2. Press the "Start" button which is the green circle icon. This will start the decoding.
     
  3. Press the "Signal" icon which is the icon to the right of the start button. This shows a graph of signal volume. Ensure the signal is not too loud. This image shows an appropriate volume level for the static in between data packets. You will know the volume is too loud if the graph begins clipping/saturating (signal will look squarish) when ACARS packets are received.

Plane Plotter Raw Signal

  1. Now you can look at either the "Message View" or "Aircraft View" which are the two icons next to the Signal icon to see the decoded information.
     
  2. Right clicking on an entry in the Aircraft View tab will bring up an internet browser window with information about that particular aircraft.

Plane Plotter Planes Window

Using ACARSD to Decode ACARS

2021 UPDATE: Unfortunately ACARSD appears to be abandonware and no longer operates as expected in terms of downloading aircraft images and data from the internet. It can however still decode ACARS packets.

ACARSD is a free ACARS decoding program. If you would like to try this software, follow the instructions below.

Go to the acarsd website and download and install acarsd. Make sure to follow the instructions on the website for installing.

  1. First open SDR# and tune to an ACARS frequency. Set the receive mode to AM, and turn off any noise reduction filters. Set SDR# to output to your chosen audio piping device such as stereo mix, VB Cable or Virtual Audio Cable.
     
  2. Ensure your default audio device is set correctly in windows sound recording properties. Acarsd will use the first default audio device found. You may need to set your sound card to use 44100 Hz sampling and check this setting in the acarsd set up as well.
     
  3. Run acarsd.exe in your acarsd folder to open acarsd.
     
  4. Adjust the volume in SDRSharp or Windows so that the volume reading in the bottom right corner of the acarsd window is at around 0-10 for static. If the volume is too loud, acarsd will not decode the ACARS message.
     
  5. Decoded ACARS packets should begin to show up.

acarsd

The number of decoder passes can be changed in Windows->acarsdgui settings. Setting it higher may improve decode performance.

If you need a ACARS decoder for Linux, you may be able to try rtl_acars or acarsdec for Linux, but these are harder to set up. Acarsdec is probably the best Linux ACARS decoder as it allows for the simultaneous monitoring of multiple ACARS channels.

Some ACARS Tips

  • You will need a decent outside antenna to get good signal strength. A discone, j-pole or colinear antenna placed up high and tuned to the airband frequencies may be good options to research.
     
  • A bandpass filter for airband frequencies will generally significantly improve ACARS reception if you have strong interfering signals nearby.
     
  • ACARS packets usually do not contain location information. If you are interested in tracking aircraft like a radar using RTL-SDR, see ADSB decoding.
     
  • Most of the actual ACARS messages will be displayed as gibberish. These messages are intended for the on board avionics computers and ground telemetry.
     
  • Note that receiving ACARS in some countries may be illegal. Please decode responsibly.
     
  • If you prefer to decode using SDR# and PlanePlotter or Acarsd instead of with Acarsdeco2 then you might want to try out the Multi-VFO plugin, or SDR-Radio V2. This plusing/program let you listen to multiple channels simultaneously. You can then send the audio to multiple audio pipes and decoder instances, or just send the audio all to the same audio pipe with squelch on, and hope two channels don't transmit at the same time.

ACARS Frequencies

Most ACARS packets will be on the primary 131.550 MHz frequency. But around the world, various other frequencies are also used.

FREQUENCY REGION / COUNTRY
131.550 Primary Channel worldwide
129.125 Additional channel for USA & Canada
130.025 Secondary channel for USA and Canada
130.425 Additional channel for USA
130.450 Additional channel for USA & Canada
131.125 Additional channel for USA
131.450 Primary channel for Japan
131.475 Air Canada company channel
131.525 European secondary
131.725 Primary channel in Europe
136.700 Additional channel for USA
136.750 Additional channel for USA
136.800 Additional channel for USA
136.900 European secondary
136.850 SITA North American Frequency
136.750 New European frequency
131.850 New European frequency

Table Source: Acarsd

Other Decoding Software

General purpose ham software like MultiPSK and pager decoding software PDW can also decode ACARS packets. However, these generally do not decode that well and also do not link to an aircraft spotting website for photos and aircraft information.

There are also the Linux based command line based programs such as rtl_acars and acarsed. Acarsed


If you enjoyed this tutorial you may like our available on Amazon. Available in eBook and physical formats.

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

Subscribe
Notify of
guest

13 Comments
Inline Feedbacks
View all comments
sdm

Sorcerer works for ACARS as well as HFDL (HF ACARS)

Dave

Doesn’t work for me.Used virtual audio cable with SDR Sharp.
Blank , no signals.

Please give better setup instructions !

Steven Buehler

Tampa Int’l Airport uses 131.550 and 131.725, that I’ve found so far.

rbw

Thanks! That’s precisely the info I was looking for.

Anonymous

Hello,

For Step #6 under “Using Acarsdeco2 to Decode ACARS”, the URL should be http://127.0.0.1:8080 rather than http://127.0.0.1:8090 . The default port is 8080, so if you use http://127.0.0.1:8090, it won’t work (unless you opt to change it to 8090 with a command line argument).

Vinicius Rocha

The system can receive and translate AMDAR (Aircraft Meteorological DAta Relay) messages too?

An Acars Researcher

Has anyone ever seen the bitstream of an acars signal after demodulation
it does not have the header it claims.
Do you have any suggestion ?
for answering please come to the following page:
http://www.sigidwiki.com/wiki/Talk:Aircraft_Communications_Addressing_and_Reporting_System_(ACARS)

john

Im having the same problem…route missing from my acars decode…even though im decoding ASCARD 99% of the time…must be missing a file somewhere..any help would be appreciated !!!

Henry Leupp

I have been searching for the airport/airline that uses 6.660 and 6.560 MHz Upper Side Band for ACARS data. I am not particularly interested in reading the data.

K0AMT

Jean-Marc

Worth reminding MultiPSK sends the plane coordinates to Google Earth in real time, and join with a line the coordinates of the same plane when updated providing some kind of flight path

les norton

Shame it doesn’t run in windows 10

Mark

Also WACARS Version 0.7 is a very good acars decoder and it has a map which you can set the co-ordinates of and then it overlays a planes postion on it.

Frank

thank you so much for the tutorial and MUCH thanks to the gurus who make it possible!
vy 73 de Frank K2NCC in Oregon

http://www.youtube.com/watch?v=RW9XsOk9AOQ