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.

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.

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. AirNav ACARS is another paid decoding program, but is a little pricer than PlanePlotter.

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 “acarsdeco2_example.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. Also be sure to set the frequency to the actual active frequencies used at your location. An example is shown below:
     
    cmd /c acarsdeco2.exe –gain 38.6 –freq-correction 65 –freq 131550000 –freq 131725000 –http-port 8080 –vrs-url http://192.168.64.85:80 –net 30008
      
    You should set all the flag values (the words with the double dashes before them) appropriately. The last three flags (–vrs-url, –udp and –net) can be omitted for simple operation unless you wish to use those features 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
    –http-port – the http port to be used for the Acarsdeco2 web interface
    –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)
    –udp – set the UDP port for transmitting Acarsdeco2 data to PlanePlotter (not required if not using PlanePlotter)
    –net – set the TCP port for transmitting Acarsdeco2 data to SBS Basestation (not required if not using BaseStation)
     
  5. Save and close notepad, then run the modified acarsdeco2_example.bat file by double clicking on it.
     
  6. Now with acarsdeco2 running, open a web browser and open http://127.0.0.1:8090. 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

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.

FREQUENCYREGION / COUNTRY
131.550Primary Channel worldwide
129.125Additional channel for USA & Canada
130.025Secondary channel for USA and Canada
130.425Additional channel for USA
130.450Additional channel for USA & Canada
131.125Additional channel for USA
131.450Primary channel for Japan
131.475Air Canada company channel
131.525European secondary
131.725Primary channel in Europe
136.700Additional channel for USA
136.750Additional channel for USA
136.800Additional channel for USA
136.900European secondary
136.850SITA North American Frequency
136.750New European frequency
131.850New 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.

8 comments

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

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

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

  4. Pingback: Rtl-sdr | Pearltrees

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>