Using an RTL-SDR on a high powered rocket to capture GPS data

Over on the SDRGPS blog Philip Hahn and fellow aerospace engineer Paul Breed have been working together to try and use an RTL-SDR to help get accurate GPS data for tracking small high powered rockets. They write that their end goal is to be able to “track high power rockets in high acceleration / speed / altitude environments”.

In their latest attempt they launched a rocket with an RTL-SDR on board with it capturing GPS data to be later processed with GNSS-SDR. The goal was to get a GPS fix throughout the flight. Unfortunately they found that a good fix was only obtained while the rocket was on the ground, and not much data was obtained while it was in the air. They write that they suspect that the fault lies in the vibration in the rocket which can affect the frequency stability of the crystal oscillator, or in the GPS satellite tracking loop algorithm.

They still hope to be able to get some usable information from the flight by trying other algorithms on the data, but they are also seeking advice from anyone who might know how to help them, so please contact them if you know anything that may help.

If you are interested in this, then see our previous post about how Philip showed us how to use an RTL-SDR to receive and plot GPS data.

RTL-SDR + GPS antenna plus an Intel NUC computing platform.
RTL-SDR in aluminum case + GPS antenna + an Intel compute stick and IMU.
The rocket carrying the RTL-SDR.
The rocket carrying the RTL-SDR.

Notify of

Inline Feedbacks
View all comments
riky electronicmarine

hello, you can try to use the ublox modules like the automotive serries that have temperature compensated crystals oscillators and they are sommehow not suffernig from the vibrations, You can also use the nmea (serial rs232) data to transmit it directly with a small trasmitter… there are ublox gps recievers that work at 50Hz… not sure about the hight limit or speed limit…


Might do well to record the entire RAW bandwidth during a flight for post analysis.

Philip Hahn

Correct, I’m capturing 2 MHz bandwidth of raw I/Q centered at 1575.42 MHz and post-processing in gnss-sdr.


It’s my understanding — not mentioned in the blog post but perhaps implied — that many GPS devices shut down when above a certain height (I think it is 18 km) or moving faster than 1000 mph, to prevent them from being weaponized.

It looks like this might be a good work-around for that problem for people who are doing high-altitude ballooning or amateur rocketry — assuming of course that GNSS-SDR doesn’t implement the CoCom restrictions.


This is an article from Wired that discusses home-brewing a GPS receiver to circumvent these limitations.

I would think an SDR and Raspberry Pi (or Compute Stick) is a hair-bit easier to engineer of course.

Philip Hahn

Correct, commercial GPS hardware devices has the so-called CoCom limits. I’m capturing raw RF. gnss-sdr does not have to – nor do they – implement CoCom limits. The issue is likely related to the crystal shifting frequency under vibe/acceleration environment and the tracking loops can’t keep up.