Showing posts sorted by relevance for query ADS-B. Sort by date Show all posts
Showing posts sorted by relevance for query ADS-B. Sort by date Show all posts

Thursday, May 28, 2026

ADS-B flight tracking with Raspberry Pi, FlightAware, and ChatGPT

Friends of mine and readers of The Cubical Ruins will know that one of my interests is using software defined radio (SDR) to scan radio frequencies, connect to satellites and track flights. Back in the spring of 2024, I documented my first flight tracking system, which used an RTL-SDR Blog V4 dongle to collect Automatic Dependent Surveillance Broadcast (ADS-B) data from aircraft overhead. It was a simple set-up that used RTL1090, PlanePlotter and Virtual Radar Server to show flight data, and an air traffic control (ATC) map on whichever laptop I had connected to my SDR dongle and antenna. It was a fun experiment in SDR applications and flight tracking, and I even took my system airborne, tracking flights on my ThinkPad when I traveled to Europe last spring. 

Flight Tracking at Charles de Gaulle Airport
However, that setup left a bit to be desired. For one, I only had one SDR dongle that could receive the radio data from 1090 MHz, so I could only run flight tracking on one device at a time. Additionally, that device only pulled data when powered on and the appropriate applications were running. This made it difficult to use my laptop for other things, since the tracking software always needed to run continuously in the background. Since, I typically power my device down while not in use, this pretty much made it impossible to to be an ADS-B client for FlightAware, FlightRadar24 or any other crowd-sourced flight tracking organizations, as my laptop was only actively tracking whenever I decided to open the laptop and look at it. 

What I needed was a stand-alone computer, SDR dongle and antenna that could be dedicated to flight tracking 24/7. Enter the Raspberry Pi 3B+, a tiny, inexpensive single-board computer that can run a variety Debian-Linux based operating systems on 32 and 64 bit architectures. To go with the Raspberry Pi, I also purchased a FlightAware Pro-Stick Plus, which is similar to the RTL-SDR Blog V4 dongle, except it is specifically designed to collect flight data, instead of all-purpose SDR data. Those two pieces of hardware, along with an antenna, power and USB cables, are really the only pieces of hardware necessary to set-up a stand-alone ADS-B client that works in perpetuity, rather than only when my laptop is in-use. With this setup, I could use any computer on my local network to retrieve the flight data, and view flights on a map by connecting to my Raspberry Pi's IP address. I even went a step further by adding two LCD displays, so I could check out overhead air traffic anytime at my desk or at the kitchen table.  

Raspberry Pi 3B+ running PiAware
In 2024, when I started my flight tracking hobby, I used The Hobbyist's Guide to the RTL-SDR as well as online tutorials for set-up instructions, and GitHub to download and edit source code for applications like Dump1090 and RTL1090. This time, I would take advantage of Artificial Intelligence (AI) to create and edit the code for my Raspberry Pi-based flight tracker. 

At first I wasn't sure my AI assistant, ChatGPT, GPT model 5.5, was up to the task. I typed "How do I setup ADS-B flight tracking on my Raspberry Pi 3B+?", and got fairly straight-forward step-by-step instructions for installing and running Dump1090, a popular data translator for ADS-B radio signals. I followed the instructions, but ultimately kept hitting various snags. However, I consistently reported each issue I ran into, and ChatGPT continued to troubleshoot. Our ultimate conclusion was the Raspberry Pi's newest 64 bit "Trixie" operating system was interfering with Dump1090 in some way. ChatGPT determined this by indexing web results and finding that other users had the same problem with Trixie. What ultimately solved the issue was re-flashing the Pi with the older, simpler 32-bit "Bookworm" operating system. This solved the main issue, and Dump1090 began running successfully bringing in raw flight data and displaying it in the SSH (secure shell) terminal.  


Still, each time I ran Dump1090, a new issue surfaced. It was mostly due to driver issues related to using the RTL-SDR Blog V4 as well as missing directory files. Ultimately data stopped coming through Dump 1090 entirely, and I only found out after using an alternate RTL-SDR V3 that my V4 had probably broken at some point during installation and testing. So, I ended up purchasing both a general purpose Nooelec "Nesdr Smart" SDR dongle as well as the FlightAware Pro-Stick Plus. In my experience both the Nooelec and FlightAware sticks worked more easily than the RTL-SDR Blog V4, and I no longer had to worry about updating or installing drivers and directory files to get them to work. Once Dump1090 was installed successfully on the Pi, the Nooelec and FlightAware sticks were plug-and-play! 

SDR sticks I used

The final step was to set-up a flight map to display on my household LCD screens, so I could look at my local overhead flights anytime I wanted. I used one Chinese-made iPistBit 7 inch LCD screen and connected it to my Raspberry Pi board with an HDMI cable. Once the operating system was visible on the LCD screen, I used an iPazzPort Bluetooth Keyboard and Trackpad to navigate to the Chromium browser, and connect to the PiAware URL provided by FlightAware to see my data converted to a map with images of all planes flying overhead in real time. I then cloned the same operating system, applications and settings onto a second Pi and connected it to the other LCD screen so I could have two displays, one for upstairs and downstairs. Additionally, any browser on any device connected to my home Wifi network will be able to pull up my PiAware URL and display the same maps and data. I included more comprehensive step-by-step instructions below, so you can follow my process, If you'd like... 

Building an ADS-B Flight Tracker with a Raspberry Pi 3B+ on Debian Bookworm

I recently built a working ADS-B aircraft tracker using a Raspberry Pi 3B+, a USB RTL-SDR receiver, and FlightAware’s PiAware software. After a few false starts with outdated repository links, I got the setup working on Raspberry Pi OS / Debian Bookworm.

This guide walks through the successful setup.

Hardware Used

For this project I used:

  • Raspberry Pi 3B+

  • MicroSD card with Raspberry Pi OS / Debian Bookworm

  • RTL-SDR USB dongle

  • 1090 MHz ADS-B antenna

  • Internet connection

  • SSH access or a keyboard and monitor connected to the Pi

Step 1: Confirm the OS Version

On the Raspberry Pi, open a terminal and run:

cat /etc/os-release

The successful setup was done on Bookworm. You should see something similar to:

PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)"

Step 2: Update the Raspberry Pi

Before installing anything, update the system:

sudo apt update
sudo apt full-upgrade -y
sudo reboot

After the reboot, reconnect by SSH or open the terminal again.

Step 3: Install the FlightAware Repository

Download the current FlightAware APT repository package:

wget https://www.flightaware.com/adsb/piaware/files/
packages/pool/piaware/f/flightaware-apt-repository/
flightaware-apt-repository_1.3_all.deb

Install it:

sudo dpkg -i flightaware-apt-repository_1.3_all.deb

Then refresh the package list:

sudo apt update

This step is important. Earlier attempts using older package names failed with 404 errors or “file not found” messages. The key was using the current FlightAware repository package.

Step 4: Install PiAware

Install PiAware:

sudo apt install piaware -y

Then enable automatic and manual updates:

sudo piaware-config allow-auto-updates yes
sudo piaware-config allow-manual-updates yes

Step 5: Install dump1090-fa

PiAware sends data to FlightAware, but dump1090-fa is the software that actually receives and decodes 1090 MHz ADS-B signals from aircraft.

Install it with:

sudo apt install dump1090-fa -y

Then reboot:

sudo reboot

Step 6: Check That the RTL-SDR Dongle Is Detected

After rebooting, plug in the RTL-SDR dongle and run:

lsusb

You should see a device related to RTL-SDR, RTL2832U, Nooelec, or RTLSDR Blog, depending on your dongle.

You can also test with:

rtl_test

If you see a “device busy” error, that may actually mean dump1090-fa is already using the dongle, which is good. Only one program can use the SDR at a time.

Step 7: Check the Services

Run:

sudo systemctl status piaware
sudo systemctl status dump1090-fa

Both should show as active or running.

If needed, restart them:

sudo systemctl restart piaware
sudo systemctl restart dump1090-fa

Step 8: Open the Local SkyAware Map

Find your Raspberry Pi’s IP address:

hostname -I

Then open this in a browser on the same network:

http://YOUR-PI-IP/skyaware/

For example:

http://XXX.XXX.X.XXX/skyaware/

If everything is working, the SkyAware map should load. Aircraft will appear when your antenna receives ADS-B messages from nearby planes.

Step 9: Claim the Receiver on FlightAware

After PiAware has been running for a few minutes, go to FlightAware’s ADS-B stats page and claim the receiver while logged into your FlightAware account.

Once claimed, FlightAware will associate your Raspberry Pi receiver with your account and begin showing site statistics.

Troubleshooting Notes

Problem: Old repository package gives a 404 error

If a command tries to download an older package such as:

piaware-repo_10_all.deb
piaware-repository_10_all.deb
piaware-repo_9.0_all.deb

and it fails, use the current flightaware-apt-repository_1.3_all.deb package instead.

Problem: “Unable to locate package piaware”

This usually means the FlightAware repository was not installed correctly, or sudo apt update was not run after installing it.

Fix:

sudo dpkg -i flightaware-apt-repository_1.3_all.deb
sudo apt update
sudo apt install piaware -y

Problem: “Device or resource busy”

This can happen when another service is already using the SDR dongle. Stop competing services if needed:

sudo systemctl stop fr24feed
sudo systemctl stop readsb
sudo systemctl stop piaware
sudo systemctl stop dump1090-fa

Then test the dongle again, or restart the FlightAware services:

sudo systemctl restart dump1090-fa
sudo systemctl restart piaware

Problem: Map loads but no aircraft appear

This can happen if:

  • No aircraft are nearby

  • The antenna is indoors or poorly placed

  • The SDR is not connected properly

  • The antenna is not tuned for 1090 MHz

  • dump1090-fa is not running

Check with:

sudo systemctl status dump1090-fa

Final Result

Once everything was installed correctly, the SkyAware map loaded and aircraft appeared on the local map. The Raspberry Pi 3B+ was successfully receiving ADS-B data through the RTL-SDR dongle and feeding the data to FlightAware through PiAware.

This turned the Raspberry Pi into a small, low-cost aircraft tracking station.

One of the most helpful steps ChatGPT included was the command code lines "sudo systemctl status dump1090-fa", which tested the Dump1090 software to make sure it was running, and "sudo systemctl restart dump1090-fa" which would re-start tracking in case the process was stopped. 

Once my system was up and running, and I had my own personal ADS-B flight tracking system. I set-up a FlightAware account and linked my feed. So, now I am officially an ADS-B client for FlightAware, meaning my data is being used to fill in up-to-date flight data for thousands of users who use flight tracking apps worldwide. So, if you're ever tracking a flight over Northeast Ohio, it might be my system that is collecting information from that plane! 

If you're interested in reading more, check out my March 2024 article, "RTL-SDR: Home-Made Air Traffic Control" about my early ADS-B systems, and how I set them up. Additionally, check out The Cubical Ruins' new-and-improved "What's Up There?" flight tracking widget on the right. This will give you a live feed of the airplanes my system tracks daily. Just click any plane for it's callsign, avionics and flight data.   

Friday, March 8, 2024

RTL-SDR: Home-made Air Traffic Control

If you've read my previous article, "Flight Tracking: I Guess I'm a Plane Guy Now...", you're well aware of my interest in air traffic control (ATC) and flight tracking. If you look to the right of the Cubicalruins homepage, you'll even see my embedded flight tracking window from FlightRadar24.com, my favorite flight tracking website. But, radio -and specifically SDR- allow me to take my hobby a step further. Rather than depending on web-based flight tracking websites, I'm now able to run my own air traffic control system from home. 

A screenshot of RTL1090 and Virtual Radar Server on my PC

Anyone involved in aviation or flight-tracking will already know this, but air traffic controllers and airport towers used to use radar to identify incoming and outgoing planes. But now they primarily use unique transponder (radio) signals from each individual aircraft to identify and track all flights. The most commonly used transponder system is the Automatic Dependent Surveillance Broadcast (ADS-B) system which broadcasts on 1090 MHz, and some smaller aircraft use a Universal Access Transceiver (UAT) system, which broadcasts on 978 MHz. While radar is still used as a secondary tracking system by both military and civilian air controllers, the ADS-B and UAT systems now allow a hobbyist like myself to pull actual, real-time flight data from the planes, helicopters, blimps and sometimes weather balloons directly to our PCs. Using SDR, we can see everything the FAA air traffic controller sees.       

In my previous article I discussed setting up and testing my RTL-SDR dongle and antenna to pull AM and FM voice radio into my PC. This was a pretty simple initial test. But, getting ATC signals into the PC, decoding them, and plotting the data onto a viewable air-traffic map was considerably more difficult. In the end I was able to run the RTL-SDR with two different ATC/plane-tracking applications, PlanePlotter and Virtual Radar Server. Both provided challenges, but after multiple troubleshooting attempts I got both systems up and running. 

Using Carl Laufer's "The Hobbyists Guide to the RTL-SDR," I started my my home-made air-traffic control project. Page 67 provides a brief intro to plane tracking on the RTL-SDR; page 69 describes how to download and install Dump1090, a primary decoder of ADS-B data from 1090 MHz; page 72 provides instructions on installing RTL1090, another decoder; and page 75 describes how to install and use PlanePlotter, an application for viewing the planes on a map. While the instructions were very useful, I did run into a few hitches along the way, and I'm not sure if these were due to my Windows 11 operating system, outdated versions of the software, or my own lack of knowledge on PC's -normally I use a MAC. However, I'll try to provide some helpful step-by-step guidance at the end of this article for SDR enthusiasts hoping to run Planeplotter or Virtual Radar server.

The F-14 "Tomcat" on display at the MAPS Air Museum in North Canton, Ohio

My first hitch was that the suggested decoding software, Dump1090, simply did not work on my PC. My command console just did not recognize the command "--net-ro-port 30002 --net-beast" when added to the dump1090.bat file necessary to run the decoder. I'm still unsure why. Thankfully, Laufer's book had an alternate suggestion for a decoder, RTL1090, which I downloaded from Jetvision at https://rtl1090.com/. The funny thing is RTL1090 didn't work either until certain dll files such as rtlstr.dll were also installed; and guess which zip file had exactly the dll files I needed? The dump1090 zip! So, regardless of which decoder you use, I'd recommend downloading both RTL1090 and Dump1090, the IMU version and source code, and extract them into the same folder. That way you'll know you have all the dll files needed to run each application. Ultimately, I was able to successfully install and run RTL1090. 

My next challenge was installing a program to visualize the data from RTL1090. I downloaded Planeplotter at https://www.coaa.co.uk/planeplotter.htm as well as Virtual Radar Server at https://www.virtualradarserver.co.uk/. Both were easy to download and install. But, I should mention, PlanePlotter requires a one-time 25 Euro (roughly $30 USD) license fee and software registration if you plan to use it beyond the two-week free trial period. The next step is to set up your new visualization apps to accept the ADS-B data from your antenna and decoder. You must set up your decoder (RTL1090 or Dump1090) as a TCP/IP client in the options menus, using port 30002 for Dump1090, or 31001 for RTL1090. Once the correct port is saved in the options, and you begin running the application, you should see planes flying in your app! 

My home ATC set-up with RTL-SDR dongle and antenna

After all this, the results were well worth the effort. I've always been fascinated by air travel, and the complexities of keeping all those thousands of aircraft above our head safely moving. The ADS-B signals on 1090 MHz is a big reason why this is possible. Plus, I live very close to the Kent State University Airport home to the FedEx Aeronautics and Academic Center; there are always maybe 1 to 6 little KSU aircraft buzzing over our heads at any given moment pinging their data to 1090Mhz. So, there is always something to watch. Additionally, not only am I using a web-based app to see aircraft, but now I'm an actual contributor to these sites, providing my own flight data to help others see planes over my reception area.      

I've done my best to provide quick step-by-step tutorials on each set-up below. 

RTL1090

1.) Go to RTL1090.com and download the IMU version of the software.

2.) Go to https://github.com/MalcolmRobb/dump1090 and download the zip file for the application. Extract all files into the same single folder as the RTL1090 IMU. 

3.) Install and run RTL1090. If any dll files, such as rtlsdr.dll, are missing, search the directory at the url in the previous step for those files and add to your single extracted file for dump and rtl1090. 

4.) Once installed, open RTL1090 and click "start," if your RTL-SDR is plugged in and connected to an antenna you should see numbers scrolling in the List tab. This is the raw ADS-B data coming from 1090Mhz. You're all set!  

5.) [Optional] Download and extract all files for the RTL1090 "Scope" version from RTL1090.com, and run this version if you'd like to see the Scope and Plug-in tabs in the newest "beta" version of the application. 

NOTE: I was unable to connect RTL1090's IMU or standard versions with Planeplotter. For some reason, the RTL1090 "Scope" version worked. Plus the Scope version has it's own small visual aid with planes and headings as well.

RTL1090 + Virtual Radar Server 

1.) Follow steps one through five above. 

2.) Download Virtual Radar Server at https://www.virtualradarserver.co.uk/Download.aspx

3.) Open Virtual Radar Server, then go to Tools > Options. Click Receivers, and click the plus (+) icon to add a receiver. Name the new receiver RTL-SDR (or whatever you choose). 

4.) Make the data source "AVR or Beast Raw Feed."

5.) Keep the IP address 127.0.0.1. Make the Port: 31001 for RTL-SDR. (It should be 31001 even if your RTL1090 window says 31011.)

6.) Click start on RTL1090 and have it running in a different window. Then click the http://127.0.0.1:8081/VirtualRadar link in the middle of the Virtual Radar Server window. In the browser, you should see planes within receiving range of your antenna. You're all set!

7.) [OPTIONAL] In Tools > Options you can click on Receiver Location and enter your coordinates to save your current location. The next time you open your browser map, it will automatically center on your location. 

RTL1090 + Planeplotter

1.) Follow steps one through five under the RTL1090 instructions above. 

2.) Download and install Planeplotter at https://www.coaa.co.uk/planeplotter.htm, and open the application. 

3.) [OPTIONAL] When prompted, you can register your download and pay for a lifetime license through PlanePlotter's payment service. Once the payment is made, you'll get an email at the registered email address with the registration confirmation code which is good forever. Otherwise, skip this step and simply use the free trail. 

4.) [OPTIONAL] When prompted, enter your current coordinates to set your location on the map.

5.)  In PlanePlotter, go to Options > Mode-S Receiver > AVR Receiver > TCP/IP Client. Make the address and port 127:0.0.1:31001. (Again, even if your RTL1090 window shows the port as 31011). 

6.) Go to Options > I/O Settings and check MODE-S/ADS-B. Then, click AVR Receiver TCP and OK. This will set your RTL-SDR up as a TCP/IP client. 

7.) In the main window, click the green circle and make sure RTL1090 is running in another window. You should see planes on your map. You're all set! 

8.) [OPTIONAL] Obtain a MapQuest API key at https://developer.mapquest.com/documentation/ by clicking "Grab the key." You may need to create an account with developer.mapquest, but the API key is free. 

If you enter the Mapquest API key in Options > Charts under the Mapquest option, and save, you can download a more detailed map to view beneath your planes by holding the right Shift key and clicking the globe or "MAP" buttons in the toolbar of the main PlanePlotter window. The stock map is very, very, basic. 

NOTE: For some reason, I could only get the Mapquest chart to work by holding the Shift key and then clicking the MAP button. 

"The Hobbyist's Guide to the RTL-SDR: Really Cheap Software Defined Radio." Fourth Edition. (2024), Carl Laufer.

Tuesday, March 5, 2024

RTL-SDR: Decoding Radio Signals on your PC

"They have the radio on computers now?" That was my first thought when I learned about Software Defined Radio (SDR) after I started studying for my HAM radio license exam. It was one of the more interesting tidbits I passed over while hitting the main question pool info such as antenna set-up, band plans, basic circuitry etc. But, it intrigued me. It was one area where HAM radio has taken a leap forward, providing inexpensive access to digital signal decoding to learners and hobbyists.

My PC showing SDR# software
Home SDR for hobbyists got a big boost in 2012 when Realtek launched the RTL-SDR dongle; it's a USB plug-in about as big as a "fun"-sized Halloween candy. One end plugs into your PC's USB port, and the other side has a coaxial connection that can be fixed to an antenna, or antenna system. Once the RTL-SDR is installed with all the drivers, and attached to an antenna, it will immediately begin feeding radio signals from the air to your PC. 

The big difference between SDR and most PC radio applications is that sound is not simply being streamed through your internet service provider, it's actually being picked up from the airwaves flying around you every second of everyday. You can un-plug your Wifi or data connection, and the RTL-SDR will still pick up those radio frequencies. It can even listen for, and decode, signals no normal PC or radio would ever get such as the amateur radio bands, nautical communications between boats and ships, and ADS-B and UAT transponder data from all aircraft both large and small. None of these signals are encrypted, and it's perfectly legal for hobbyists to listen in, provided they do not transmit on these frequencies in a way that could disrupt normal communications. 

The RTL-SDR dongle & antenna 

When I first unpacked my RTL-SDR and antenna set, which I ordered at RTL-SDR.com for roughly $60 USD including all components and shipping, I didn't quite know where to start. So, I also ordered The Hobbyist's Guide to The RTL-SDR by Carl Laufer as my starter guide. The book is a well-indexed set of step-by-step tutorials and trouble shooting techniques combined with general information about SDR and the various signals hobbyists can decode. Page nine discusses the initial installation of the RTL-SDR dongle, its drivers, plug-ins, and port numbers; page 13 provides a step-by-step tutorial on SDR# (or SDR sharp), a basic application for decoding, viewing and listening to signals received by the dongle. 

After a few read-through's, I was ready to test my new set-up. For my first test, I decided to get the daily weather. I tuned my SDR# app to 162.400 MHz, the frequency for NOAA Weather Radio for Akron and inland northeast Ohio, and it worked! I used my RTL-SDR to get weather (in possibly the most complex way possible). 

But, the test was a success. I could not only hear the weather report clearly, I could see all of the RF and modulation info-graphics necessary to locate and tune lots of different voice broadcasts and data transmissions. In the video above you can see the graph peaking at exactly 162.400 MHz, the NOAA station for Akron. The smaller peak just to the right is 162.550 MHz, the weather station for Cleveland and the Lake Erie shore. Both are in listening rage of my little antenna, but the higher peak is the closer signal. The digitally decoded graphics, and filtering options offered by RTL-SDR and SDR# are the perfect addition to any HAM radio base station. 

"The Hobbyist's Guide to the RTL-SDR: Really Cheap Software Defined Radio." Fourth Edition. (2024), Carl Laufer.

Wednesday, June 12, 2024

RTL-SDR: Photography from Satellites in Orbit

An image from NOAA 18 on June 11th
Now that I've successfully applied my RTL-SDR device toward aircraft tracking and digital radio reception, my next challenge was tuning in signals from space, like
Jeff Goldblum's charcter in Independence Day. As sophisticated as this sounds to someone unfamiliar with radio, and electromagnetic signals, receiving and sending data to and from space is a pretty mundane thing these days. Use GPS on your phone or in the car? You're connected to a machine floating in space. And, satellite television services have been around for decades. But, I wanted to put my RTL-SDR device and rooftop antenna to use taking advantage of some weather satellites that pass over every populated country on earth at least once per day sending real-time pictures down to anyone who'd like to view them. In a way, I would be using government weather satellites from the United States and Russia to take very, very long-range selfies.    
NOAA 19 before its launch

These satellites, the NOAA 15, 18 and 19 (from the US) and the Meteor M2 3 and 4 (from Russia) are very similar in purpose and function, and orbit at similar distances about 500 miles above Earth. They circle around the globe (sorry flat-Earthers) on a north-south path crossing the north and south poles while the earth spins below them. That way, they're able to pass over and see most parts of the earth below during a given time window -think of painting a sculpture in an up-and-down motion as it spins on a pottery wheel. As the satellites orbit, they continually take photos and measurements, and transmit them back to earth at specific frequencies (137.62 MHz for NOAA 15 and 137.9 MHz for Meteor M2-3, for example). These frequencies are just below the VHF frequencies used for HAM radio in the United States, and can be heard with an SDR device, and a lot of store-bought radios for CB, HAM and other uses. But, you'll need software to de-modulate the APT transmission, otherwise it will simply sound like static or clicking to the naked ear.  

In spite of having an antenna, an SDR receiver and some software experience with air-band radio, and ADS-B airline tracking radio, reaching a satellite proved to be fairly difficult. For one, the satellites are always moving, and you can only retrieve their signal during a ten to fifteen-minute window while they pass sufficiently overhead. Secondly, the software used for amateurs like me to locate, track and decode the satellites' signals are always changing and often out-of-date, as many of these programs are created and supported by amateur enthusiasts, and not large institutions.

NOAA 19 on Satellite Tracker
My previously helpful guidebook, The Hobbyist's Guide to the RTL-SDR proved to be out-of-date with many of its recommendations for software. I tried all of the suggested ways of connecting to NOAA (National Oceanic & Atmospheric Agency) satellites as well as the Meteor M2 (Russian Space Agency, Roscosmos) satellites in the chapter on low earth orbit (LEO) satellites, and while helpful in explaining the general process, it gave some applications and programs that simply do not work well anymore. Certain PC satellite trackers, for example, no longer seemed to provide accurate tracking for my location, and SDR++ (a great software defined radio receiver) had no way to decode the satellite's modulated signals into valuable data or images. I ended up spending a lot of time recording audible fuzz, to demodulate it into visible TV snow, or listening for a satellite that wasn't there.

I finally found some reliable software by browsing the r/RTLSDR Subreddit, a surprisingly active and supportive community of digital radio enthusiasts with a wellspring of info on satellite communication. It was clear, Satdump was the go-to free application for tracking, hearing and demodulating satellite radio signals. Where my book was offering various programs to do each part of the process, Satdump does all three for a variety of different satellites and LEO objects, including the NOAA and Meteor M2 Satellites. Additionally, I used the Satellite Tracker app on my iPhone to track satellites, verify their actual position and path with Satdump, and find out when I needed to be at my computer to record the downlink. 

My initial set-up
I had my first success when I finally timed a NOAA 15 satellite pass correctly, and started recording the correct radio frequency (137.62 MHz) on Satdump when the satellite came into range. De-modulating a signal is a little difficult for a lay-person, but a Redditor had suggested I listen for "ticking" over the airwaves as the satellite passes. Sure enough, once NOAA 15 popped up in the tracking window as a little red dot, I heard a tick-tick-tick, like an old clock, as the mass of chaotic static in the de-modulator widow started to move together in unison. I was synced with the Satellite! Satdump would start downloading images and data from NOAA 15 onto my desktop. I was using a little handheld antenna indoors, and the satellite's pass was not perfectly overhead. It was just a convenient time for me to run to my computer and set-up, so the first pictures were not great. There was a lot of fuzz where my downlink faded, due to a small antenna with poor reception indoors, but what did come out was unmistakable: swirling clouds and storms over the eastern US and Canada, with the Great Lakes visible. It looks like the Satellite had been well to the east of my receiving range when I caught its signal, but it was clearly a photo of Earth from above!

My rooftop UHF/VHF antenna
Since then, I got a Daiwa coaxial switch for my rooftop antenna, so I could use it for both the RTL-SDR and HAM radio transceiver. Plus, learned a bit more about Satdump's tuning and de-modulating options. Now I'm not only pulling visual images, but data sets with land/sea temperature and precipitation info as well. Plus, I had the opportunity to wait for some very close satellite passes overhead where the signal was the best for the longest period of time. 

Having downloaded numerous images from each of the current NOAA satellites, my next challenge is connecting to the Russian Meteor M2 satellites. There are are only two of them, and one has been either been offline or not functioning for some time. But, I did manage to get a partial image from Meteor M2-3 as of June 11th, 2024 using Satdump, RTL-SDR and my HAM antenna. It's just a mater of waiting for M2-3 to pass-over at closer range. Other challenges will be to build some new antennas specific to this type of satellite communication, as my current set-up is optimized for terrestrial amateur radio, which is likely the cause of some of the static in my images.  

Stay tuned to Cubicalruins.com for an in-depth tutorial on using Satdump to demodulate and image APT signals, as well as updates on connecting to the new generation of NOAA GOES satellites, which are a whopping 22,000 miles away from Earth. Who knows, maybe we can prepare you to save the world one day. 

Image from NOAA 15

Image from NOAA 15 with borders and shorelines colored for reference

A raw NOAA 15 image super-imposed over a flat map of Earth for reference

Popular Items