Decoding POCSAG on Ubuntu with a RTL-SDR dongle

POCSAG is an asynchronous protocol used to transmit data to pagers.
The family of POCSAG protocols can operate at three speeds, 512 bits per second (the original specification speed) is the base standard.

1. Hardware

– One computer running Ubuntu
– 1 DVB-T USB receiver (usually used to receive HD TV on computers)

2. Software

– OS : Ubuntu 16.04.1 LTS
– Driver : Rtl-sdr
– Software defined radio receiver (SDR) : Gqrx
– Decoder : Multimon-ng

3. Installation

3.1 Preparation

Let’s install first all the tools that we’ll need :

3.2 Driver : Rtl-sdr

Clone it from git, compile and install :

3.3 Software defined radio receiver (SDR) : Gqrx

On Ubuntu, it’s really easy to install Gqrx :

3.4 Decoder : Multimon-ng

Clone it from git, compile and install :

4. Gqrx

You can start Gqrx and then :
– Start DSP processing (in red)
– Adjust frequency to a POCSAG frequency (in blue)
– Start UDP streaming (in green)
– Adjust parameters as below (in pink)
The short burst of data are POCSAG data. Let’s decode it !

4. Multimon-ng

Here is the command to decode the POCSAG messages :

Then, when you’ll hear a POCSAG data, you should be able to read the decoded data in the terminal :

2 thoughts on “Decoding POCSAG on Ubuntu with a RTL-SDR dongle”

  1. This doesn’t work. When the command is run, a blank screen pops up and nothing is decoded in the terminal. Any ideas?

    1. The standard UDP port has moved at least in the Ubuntu 18.04 GQRX ppa to 65535. If you change the port number it will work.

Leave a Reply

Your email address will not be published. Required fields are marked *