Getting Started with Ham Radio on Raspberry Pi
Ham radio lets you explore wireless communication by listening to broadcasts, tracking aircraft, and decoding signals. However, traditional ham radio setups can be expensive and bulky, making them less accessible. I will show you how a Raspberry Pi offers an affordable way to get into ham radio.
With a Raspberry Pi and hardware like an RTL-SDR or HackRF, you can receive signals, track aircraft and ships, decode transmissions, and even transmit with proper hardware and licensing.
This guide will show you how to set up your Raspberry Pi for ham radio, from choosing the proper hardware to installing essential software. By the end, you’ll have a fully functional system ready to explore the airwaves!
If you’re new to Raspberry Pi or Linux, I’ve got something that can help you right away!
Download my free Linux commands cheat sheet – it’s a quick reference guide with all the essential commands you’ll need to get things done on your Raspberry Pi. Click here to get it for free!
What is HAM Radio?
HAM or amateur radio refers to any radio station used by non-professionals. It is a popular hobby, and many tech enthusiasts work on their radio stations for various reasons. For example, some like to track flights or ships, some want to listen to the FM radio spectrum, or some prefer to use it for simple radio communication.
A few HAM radio devices are famous among tech enthusiasts, e.g., RTL-SDR and HackRF. These are Software-Defined Radio (SDR) devices. This means that these are complete radios, whose characteristics like center frequency and bandwidth can be varied in run-time using software commands, making them versatile.
Ham radio on Raspberry Pi is a lesser-known project that you can actually build. Due to its portability, the Raspberry Pi is the ideal device to pair with SDR devices. These devices usually connect through the Raspberry Pi’s USB port with well-documented driver setup.
Things Needed to Get Started with HAM Radio
Before starting your HAM Radio setup, consider key things, such as choosing the correct SDR device and installing the requisite drivers.
If you’re new to Raspberry Pis, I created a 30-day challenge to help you go from beginner to expert. You may want to start with it before moving on to more advanced projects like HAM Radio. Take a look here.
Choose the Correct SDR for You
There are different SDRs available on the market. While they come in various shapes and sizes, they can broadly be divided into two main categories:
You can get answers from real experts in minutes.
Get help with your setup
RTL-SDRs
- These are generic SDRs available in many variants.
- They can only be used for reception (they cannot transmit).
- They have a limited bandwidth of approximately 2.4 MHz (some newer devices have bandwidths of up to 3.2 MHz).
- Due to the many variants, there are also many fake SDRs available, which do not perform as well as advertised (due to poor thermal performance).
- I recommend the Nooelec SDR V5, available on Amazon.

HackRF
- HackRF devices are much more specialized devices.
- These can be used for both reception and transmission. Transmission requires specific licenses based on your location/country’s regulatory authorities.
- These offer a much wider bandwidth of up to 20MHz.
- However, HackRF devices are relatively costly compared to RTL SDR devices.
- I recommend this HackRF One device from Nooelec, available on Amazon.

Besides RTL-SDR and HackRF, several specialized HAM Radios are available, e.g., LimeSDR, Adalm-Pluto, and AirSpy. However, for most use cases, RTL-SDR is sufficient, and if you need to transmit as well as receive or are looking for a larger bandwidth for your project, HackRF can be used.
Setting Up Your Raspberry Pi to Connect with RTL SDR
Having bought your SDR device, you can begin by installing the requisite drivers and connecting the SDR to the Raspberry Pi. To install the RTL SDR device with your Raspberry Pi, follow these steps:
- Set up your Raspberry Pi with the latest Raspberry Pi OS image (You can use this guide).
- Make sure your device is up-to-date using the command:
sudo apt update && sudo apt full-upgrade
- Install RTL SDR drivers using the package manager:
sudo apt install rtl-sdr
- Connect your RTL SDR dongle to your Raspberry Pi.
- Verify the connection using the command:
rtl_test
And that is it; setting up your Raspberry Pi with RTL SDR is as simple as that. If you are using HackRF One instead of an RTL SDR, you can use this command to install your device:sudo apt install hackrf
You can then use commands from their official documentation page to verify and test your device.
Tip: Command lines can be a pain to memorize. I put the essential Linux commands on a printable cheat sheet so you don't have to keep googling them. You can grab the PDF here if you want to save some time.
Something not working? Don't waste hours going in circles. Ask in the RaspberryTips Community and get help from people who've already figured it out. Get unstuck now.
Cool Ideas to Try with HAM Radio on Raspberry Pi
After you have set up your HAM Radio, let’s see some cool projects you can try with our portable Radio.
GQRX: Analyze the Complete Spectrum
GQRX is open-source GNU Radio and QT SDK-based SDR Receiver software. It can analyze the complete RF spectrum, including normal FM, as well as other frequencies within the range of your SDR device.
GQRX can be easily installed on Raspberry Pi OS.
Just go to the main menu > Preferences > Add/ Remove Software and search for it.
Bonus tip: If the terminal still feels confusing, I made a simple cheat sheet with 74 commands explained in plain English. You can grab it here for free..
If you want a clearer path than jumping from tutorial to tutorial, my book gives you a step-by-step roadmap to really understand your Raspberry Pi.
Check the book hereOnce installed, it can be launched from the main menu > Sound & Video > Gqrx.
Once you’ve selected your device and settings, you’ll be greeted with GQRX’s main interface.
GQRX’s main display shows the frequency spectrum and the waterfall. The menu on the right allows you to configure settings like center frequency, gain, squelch, and audio output.
GQRX is straightforward, intuitive, and powerful. It can analyze WBFM, NBFM, AM, or Raw IQ using a connected device or previously saved Raw Spectrum Data. The output can be listened to locally using headphones or speakers, saved as recordings, or streamed via UDP.
It is a great software and it’s highly recommended for anyone trying to learn HAM Radio and familiarize themselves with the RF Spectrum.
Flight Radar 24: Track Flight Data
FlightRadar24 is a global flight tracking system. It is composed of people with their own ADS-B receivers connected to the network. You can turn your Raspberry Pi and HAM Radio into an ADS-B receiver and connect to the FlightRadar24 network as well to monitor the commercial airline data.
The simplest way to get started with FlightRadar24 is by using the pre-built image file from their website.
Alternatively, you can install FlightRadar24 software on your existing Raspberry Pi Image by creating your FlightRadar24 ID on their website and then running this code in your terminal:sudo bash -c "$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"
You can then confirm that your ADS-B receiver is connected to the FlightRadar24 network using the command:fr24feed-status
You can then go to the FlightRadar24 website and log in using your ID to track all commercial aircraft in your vicinity.
You might also like: 7 Hidden Raspberry Pi Features You Should Be Using
You can also access the FlightRadar24 dashboard locally on any computer connected to the same network by navigating to this web address:http://<Raspberry Pi IP ADDRESS or HOST NAME>:8754
Here, you can check what commercial flights are being tracked by your own ADS-B receiver and being shared with the global FlightRadar24 network:
If you are an avid aviation enthusiast, tracking commercial flight data using your Raspberry Pi and HAM Radio is an easy-to-set-up project.
If you are looking for a more local ADS-B receiver without sharing information over FlightRadar24’s global network, you can also try the dump1090 program on their GitHub page.
Tip: Command lines can be a pain to memorize. I put the essential Linux commands on a printable cheat sheet so you don't have to keep googling them. You can grab the PDF here if you want to save some time.
RTL AIS: Track Ships in Your Surroundings
AIS (Automatic Identification System) is a communication protocol used by ships to identify each other at sea. If you live near a harbor or coastline, with a Raspberry Pi and a HAM Radio, we can also receive the AIS packets being transmitted.
To do so, we need two software programs. First, we need software to catch and decode the AIS packets. This can be done using the RTL AIS software. It is open-source software, and details, including the installation procedure, can be found on their official GitHub page.
Once installed, it can be run simply by running this command in the terminal:./rtl_ais
Now, we will need plotting software to display the information received. You can use OpenCPN for this. It is freeware software that can be downloaded from their website.
Once installed, you can connect your OpenCPN to receive data via the UDP port 10110, and you should be able to see all marine traffic in your vicinity being captured by your HAM Radio.
An AIS receiver using a HAM Radio and a Raspberry Pi can be an effective and economic alternative to the costly AIS Receivers available for seafarers.
Even if you are not a seafarer, playing around with the RTL AIS library can be a fun hobby if you live in an area with a lot of sea traffic.
OpenWebRx: Share Your HAM Radio Over Network
OpenWebRx is another spectrum analyzer like GQRX. It offers all the functionality of GQRX; however, instead of running locally, it runs on a web page on any computer connected to the network.
Bonus tip: If the terminal still feels confusing, I made a simple cheat sheet with 74 commands explained in plain English. You can grab it here for free..
This makes this software very convenient and maximizes the portability of the Raspberry Pi and SDR.
Check this: 7 Surprising Uses for a Raspberry Pi
You can get the images from their site and install them using Raspberry Pi Imager.
Alternatively, you can install it on your existing Raspberry Pi OS using the Debian packages. For this, you can run these commands in your terminal (execute each command one by one):
sudo su
wget -O /usr/share/keyrings/openwebrx.gpg https://repo.openwebrx.de/openwebrx.gpg
echo "deb [signed-by=/usr/share/keyrings/openwebrx.gpg] https://repo.openwebrx.de/debian/ experimental main" > /etc/apt/sources.list.d/openwebrx-experimental.list
apt-get update
apt-get install openwebrx
su <User Name>
You can verify if openwebrx has been installed and is running successfully using the systemctl command:sudo systemctl status openwebrx
Once installed, you can run the OpenWebRX interface through any of the PC on the same network as your Raspberry Pi by navigating to the following link in a web browser:http://<Raspberry Pi IP ADDRESS or HOST NAME>:8073![]()
OpenWebRx’s interface is very similar to GQRX and other SDR Receiver software. It features a waterfall-based spectrogram and radio control options at the bottom right.
You can access more advanced settings and modify the receiver parameters using the “Settings” menu at the top right (gear icon).
OpenWebRx provides functionality very similar to GQRX. The key difference is that OpenWebRx offers you the flexibility of using your HAM Radio remotely over the network (GQRX can be configured to work similarly over the network, but it is not the default method of operation).
Check this: 15 Easy Projects for Raspberry Pi Beginners
GNU Radio: Design Your Radio
GNU Radio is a free Software Development Kit (SDK) that can be used to design signal processing flow graphs. It can incorporate your RTL SDR or HackRF device in its flow graphs as an input source to develop your own HAM Radio algorithm.
The installation of GNU Radio is straightforward. It can be installed from the official repositories using the command:sudo apt install gnuradio
You can then open it by navigating to the main menu > Programming > GNU Radio Companion.
Within the GNU Radio Companion, you can design your flow graphs to develop an algorithm to receive any data on your RTL SDR or HackRF device. For example, in the image below, we have developed a simple FM radio receiver that can tune into any broadcast FM channel, demodulate, and play the audio to your speakers.
When you play this flow graph, GNU Radio will create your own QT-based GUI application FM radio receiver.
GNU Radio can be a bit difficult to begin with. However, there are several great tutorials available on their wiki and on open source to help you get started.
Once you get the hang of it, GNU Radio is a great tool for playing with your Raspberry Pi and HAM Radio setup. It can also be a great learning tool. Most of the applications mentioned in this article use the GNU Radio libraries; e.g., GQRX was built using the GNU Radio SDK.
Read next: Make Passive Income with Raspberry Pi
As you can see, your HAM Radio can be used in many creative ways. An RTL SDR or HackRF is a must-have device for all electronics enthusiasts, and a Raspberry Pi is the ideal companion.
Not getting the same result?
Even when you follow every step, small differences in OS version, hardware or config can change the outcome. Instead of wasting time guessing, get help from people who have already fixed the same kind of issue.
- Get help on your exact issue
- Access step-by-step videos for tricky setups
- Browse the website without ads
