Cheap AIS Ship Tracking

Large ships and passenger boats are required to broadcast an identification signal containing position, course, speed, destination, and vessel dimension information to help prevent sea collisions. This system is known as the “Automatic Identification System” or AIS for short. AIS can be decoded with an RTL-SDR dongle and right software.

Read more

Following Trunked Radio with Unitrunker

Follow trunked radio conversations with your RTL-SDR and a program called Unitrunker. Also decode digital communications like P25 and DMR using the Digital Speech Decoder (DSD+) software.

Read more

Listening to TETRA Radio

Use your RTL-SDR in Linux to listen to TETRA, a digital trunked radio communications system that stands for “Terrestrial Trunked Radio”.

Read more

Decoding Inmarsat STD-C EGC Messages

With an RTL-SDR dongle, a cheap $10 modified GPS antenna or 1-2 LNA’s and a patch, dish or helix antenna you can listen to Inmarsat satellite signals, and decode the STD-C NCS channel which contains information such as search and rescue (SAR) and coast guard messages as well as news, weather and incident reports.

Read more

Decoding Digital Voice (P25, DMR, NXDN, D-STAR) with DSD+

Learn how to decode digital voice communications like APCO P25, DMR MotoTRBO, NXDN and D-STAR with DSD+ and an RTL-SDR dongle.

Read more

Decoding Meteor-M2 Weather Satellite Images in Real-Time

It is now possible to decode the Meteor M2 weather satellite images in real time on Windows using an RTL-SDR and a plugin for SDR#.

Read more

Measuring filter characteristics and antenna VSWR with an RTL-SDR and noise source

By using an RTL-SDR dongle together with a low cost noise source it is possible to measure the response of an RF filter. Also, with an additional piece of hardware called a directional coupler the standing wave ratio (SWR) of antennas can also be measured.

Read more

Receiving NOAA Weather Satellite Images

Everyday multiple NOAA weather satellites pass above you. Each NOAA weather satellite broadcasts an Automatic Picture Transmission (APT) signal, which contains a live weather image of your area. The RTL-SDR dongle combined with a good antenna, SDRSharp and a decoding program can be used to download and display these live images several times a day.

Read more

Receiving ACARS Airplane Data

ACARS is an acronym for Aircraft Communications Addressing and Reporting System and is a digital communications system that aircraft use to send and receive short messages to and from ground stations. With an RTL-SDR these messages can be decoded.

Read more

Review: Airspy vs. SDRplay RSP vs. HackRF

When people consider upgrading from the RTL-SDR, there are three mid priced software defined radios that come to most peoples minds: The Airspy, the SDRplay RSP and the HackRF.  These three are all in the price range of $150 to $300 USD. In this post we will review the three units and compare them against each other on various tests.


Read more

How to Calibrate RTL-SDR using Kalibrate-RTL on Linux

YouTube user NeedSec has posted a good tutorial video showing how to use Kalibriate-RTL, a program used to determine the frequency offset error of your RTL-SDR dongle. Every RTL-SDR dongle will have a small frequency error as it is cheaply mass produced and not tested for accuracy.  This frequency error is linear across the spectrum, and can be adjusted in most SDR programs by entering a PPM (parts per million) offset value.

Kalibrate is a Linux program that uses GSM mobile cell phone base stations to determine the PPM offset, by using the GSM signals own frequency correction bursts. See the tutorial video below.


  1. Ralph

    Hi, can anybody help me?
    If i run “make” i’ll get an error: “make: *** No targets specified and no makefile found. Stop.”
    Doesn’t matter if i’m in the kalibrate-rtl or in the kalibrate-rtl/src folder.

  2. Scott

    Worth mentioning: If you’re in the USA/Canada (or most any other country in the Americas), you’re going to be using GSM-850, and *not* GSM-900 (so use “-s GSM850″)

  3. Pingback: ARFCN tool, Kalibrate tool and others – setup | [ADS-B aeronautical radar - Initial page] & [GSM cracking] (RTL-SDR concept)!!!
  4. Pingback: The big GSM write-up – how to capture, analyze and crack GSM? – 4. | Going on my way…
  5. Pingback: The big GSM write-up – how to capture, analyze and crack GSM? – 2. | Going on my way…
  6. arbartz

    So after some trial and error I got Kalibrate to build and install on my RaspberryPi. But when ever I try to do anything with kalibrate I get the following error:

    pi@raspberrypi ~/kalibrate-rtl $ kal -s 900
    shmat: Invalid argument
    terminate called after throwing an instance of 'std::runtime_error'
    what(): circular_buffer: shmat
    pi@raspberrypi ~/kalibrate-rtl $

    Any help would be much appreciated.

    • Travis

      When you build the code, use the following commands:

      git clone
      git checkout arm_memory
      cd kalibrate-rtl
      sudo make install

      This will check out a branch specific for the ARM processor used on the Rapsberry Pi.

      • Josh

        after cloning, your next command (git checkout arm_memory) results in
        fatal: Not a git repository (or any of the parent directories): .git

      • Josh

        So to fix the ARM shared memory error, you have to cd into the kalibrate folder that was previously cloned BEFORE issuing

        git checkout arm_memory

  7. Gethin


    kal requires fftw3 and version 3.2 or higher of libusrp. kal also requires a USRP and daughterboards appropriate for the desired GSM frequency band. An external clock is not required; kal can also calculate the offset of the built-in USRP clock.

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=""> <strike> <strong>