RTL-SDR for Marine GMDSS/DSC on RaspberryPi4


In my last post I looked at using the RTL-SDR for receiving Marine GMDSS/DSC signals on HF/VHF (Ref.1). Reception was done using Multipsk on Windows 10. In this post I examine using the RTL-SDR as a stand alone Marine VHF DSC receiver operating on the RaspberryPi4B. The RaspberryPi4B is configured for remote operation off a Lithium Battery and LAN connection or WiFi Hot Spot.

Reception Block Diagram

Fig.1 Reception Block Diagram

Figure 1 shows the reception block diagram. A VHF marine antenna feeds the RTL-SDR which is connected into the RaspberryPi4B. An adapter may be required to mate the antenna and the RTL. The RPi4 is powered by a portable Lithium battery with USB 5VDC power output. Reception can be accomplished either using Gqrx in NBFM mode or GNU Radio in NBFM mode. Presently I have not been able to locate a GMDSS/DSC VHF decoder that works on Linux. Using GNU Radio, you can build a decoder or add a module if it becomes available. So at the moment the output of Gqrx/GNU Radio is a NBFM demodulate audio WAV file. This can run all the time or be activated by squelch so that it records when a carrier exceeds a given level. The RPi4 is configured either for LAN connection or as an AutoHotSpot (Ref.3). The WAV files can be uploaded to a Win10 laptop as required using Putty.

RaspberryPi4B Configuration

Fig.2 RPi OS Version bullseye 11
Fig.3 Install GNU Radio
Fig.4 Install Gqrx

I am using the latest version of the Raspbian Operating System “Bullseye” which I downloaded from the official site and then burned on an 32GByte SD card using RaspberryPi Imager (Ref.2). I then installed GNU Radio Companion and Gqrx from the Add/Remove software menu as in Figures 3 & 4. I use VNC Viewer & Putty to connect to the RPi from my Windows 10 laptop either over a LAN or WiFil HotSpot (Ref.3).

RTL-SDR Reception Gqrx

Fig.5 Gqrx Rx Marine Wx 162.4MHz
Fig.6 Gqrx VHF CH70 DSC Squelch On

Figure 5 shows Gqrx in NBFM mode tuned to the local Toronto Marine Weather Channel. You can use a known signal to set the RTL-SDR ppm, which should be very low +/- 0 or 1ppm if you are using version 2 or later. If you don’t want to capture a wide bandwidth, you can reduce the normal sampling rate of 2.4Msps to a lower value. Figure 6 shows reception on the VHF CH70 DSC channel. The squelch has been adjusted to be just above the noise level, so if a carrier is present it is audible. The audio ouput can be saved to a WAV file. This can be transferred over the LAN or WiFi via Putty for decoding in Multipsk or another Windows GMDSS decoder.

RTL-SDR Reception with GNU Radio

Fig.7 GNU Radio Rx Marine Wx 162.4MHz
Fig.8 GNU Radio BB & RF Scopes
Fig.9 GNU Radio VHF CH70 DSC

Figure 7 shows reception of Toronto Marine weather on 162.4MHz with GNU Radio. Figure 8 shows the scope displays at the RTL ouput and audio output. A WAV file sink can be used to store the audio as with Gqrx.

Fig.10 YouTube Video RTL-SDR for Marine GMDSS/DSC on RaspberryPi4

Please send your comments, questions and suggestions to:

YouTube Channel
YouTube Channel


#1. – “RTL-SDR for Marine GMDSS/DSC on Multipsk”

#2. – “Raspberry Pi Official Website”

#3. – “Raspberry Pi Hotspot”

By Jeremy Clark

Jeremy Clark is a Senior Telecommunications Engineer and Advanced Amateur Radio Operator VE3PKC. He is the author of E-Books on Telecommunications, Navigation & Electronics.