I've recently stumbled upon the radiosonde_auto_rx project. I've always been interested in tracking radiosondes, and even watched a radiosonde launch in Inuvik, NWT a few years back. Worldwide, there are over 800 launches every twelve hours of every day, and this data feeds into weather forecast models.
The radiosonde_auto_rx project is built around decoding many different types of radiosondes with a software-defined receiver. The preferred receiver is a RTL-SDR Blog v3, and I already had an extra one of those (because they are so inexpensive!).
Most radiosondes worldwide use 400-406 MHz as their downlink, but the United States also uses some frequencies around 1680 MHz. Reading the documentation on which frequencies are in use, it appeared that 1680 MHz was being used at Oakland, but they were transitioning over to 400 MHz "sometime in 2020." So first step was to install the software, then find what frequency band the radiosondes were on.
The radiosonde_auto_rx program is designed for Raspbian/Debian systems. I use a crappy laptop with Ubuntu for my APRS balloon tracking, so I decided to use that computer. They have directions on building a Docker container, so I decided to go this way.
The configuration file is very self-explanatory, and you don't really need to change anything in it besides your lat/long. Within 30 minutes I had it up and running.
The top section shows telemetry from the radiosondes, either ones you are currently receiving, or older ones. The map plots balloon position and track. The frequency display shows you the frequency span you are scanning. If you specify a whitelisted frequency, nothing will show up here. The Logs section tells you everything that is going on. Very helpful to watch this section to verify that everything is working.
Now that the software was installed, I formed a plan: I already had a 2m/70cm dual-band amateur radio mag mount antenna that would work for 400 MHz. I decided to build a 1680 MHz antenna, head to the launch site, and see what I could find.
Building a 1/4 wave is pretty easy, only an RF connector, some copper wire, and a hot soldering iron are required. There are many antenna calculators online, and I had one soldered up in less than an hour. I used an N female connector as the base.
As with building any antenna, you always want to leave the elements a bit long, and cut them short to tune the antenna to the right frequency. The calculator said the main element should be about 1.7 inches long (with the "ground plane" about 10% longer), so I cut it for 2.33 inches long. Then I put the antenna on a network analyzer to see the s11 return loss, watching the resonant frequency rise from ~1300 MHz up to ~1700 MHz as I physically cut the elements shorter and shorter. The final result is a 13 dB return loss, which is about equal to an SWR of 1.5:1. Not bad!
Then I was off to the airport. I wasn't sure where the radiosonde launched from, so I just hung out at the cell phone waiting area, watching the (few) uber drivers on their smoke breaks. I had a splitter from the antenna to the RTL-SDR and the FieldFox spectrum analyzer. Lots of signal peaks seen, but nothing decoded.
I tried 400 MHz as well as 1680 MHz, switching antennas, changing bandwidths on the spectrum analyzer, changing the whitelist and min/max frequency sweeps on radiosonde_auto_rx, but I received nothing.
After getting home, I did some more research, and found the lat/long from NOAA of where the launch sites were, so the next weekend I took a trip out to the launch site, located just off of Doolittle Drive (although the google imagery/3D is several years old).
I saw the 2300z launch, but still nothing heard from a radiosonde. I wandered around and took some pics of the Vaisala Autosonde AS41 automatic launcher.
From all the "Danger: Hydrogen Gas" signs around, I'm guessing they use hydrogen as their lift gas. Unlike Inuvik, it looks like their gas is delivered. The balloons I have launched take about 1 K-size tank each, and it looks like only 24 tanks are hooked up. I guess they get a delivery every 12 days or so.
Here's a cool video of how these autolaunchers work, from the Met office.
A few weekends later, I had some more free time and headed out to the airport, with just the goal of find what frequency the radiosondes transmit on. After playing with the two different frequency bands, just before launch I received the radiosonde! It was transmitting at 404.0 MHz, and the telemetry was coming in strong. I watched the launch, then modified the configuration file to upload telemetry to Sondehub.
After watching the packets flow for a few minutes, I realized that Sondehub thinks that the balloon will land in Cupertino. I briefly thought of friends down there I could call and let them know the sky is falling, but then I realized that Cupertino is less than an hours drive. I could recover it myself!
Ian KO6YQ lives on the way, and I've done a bunch of previous launches with him, and after a quick phone call he was game to help me find the radiosonde. I jumped on the highway and headed south.
After picking up Ian, we continued along, noting that the balloon had burst early at 25,681 meters (84k feet), and watched the predicted landing spot move slightly around. As we got close the lower level winds were pushing the balloon around. These are the same lower-level winds that cause the balloon to make a few quick turns just after launch. The red dot is the actual landing site of the balloon, so the final prediction from 1,300 meters altitude was about 500m off.
Stopped at a traffic light on Foothill Expressway, Ian looked out the window and saw the balloon falling! It was a half mile away or so, and you could clearly see the latex streaming. Click thru to see the original picture, although it looked much bigger in real life.
So we knew we were close! I guess we already knew that because the radiosonde is beaconing where it is. We kept driving towards it, and parked as close as we could. Knocking on a few doors and talking with some neighbors, we finally got access to the creek behind the homes. Even though there were very tall trees all around, we immediately spotted the broken latex balloon on the ground.
Following the string up and over a few tall trees, the radiosonde was lying on the ground 50 ft away. With the heavy tree cover, it was amazing that both pieces were on the ground.
Thanks to Cheryl, David, and Charlotte for letting us wander around their backyards. After pulling the string out of the trees and marveling at how both pieces were on the ground, we thanked the neighbors and grabbed a socially-distant outdoor dinner.
Once I got home, I set up all the equipment using my external antenna. After a few false starts, I succeeded in reliably receiving the radiosondes from across the bay. The antenna I'm using is a Diamond X-50NA 5/8 wave dual-band amateur radio antenna, so the radiation pattern is close to the ground. It's also not cut for 400 MHz, further reducing efficiency. And there's 80 ft of LMR-400, which adds about 3dB of coax loss. So not perfect for low power radiosondes, but it works and the maximum reception range is about 30 miles before the SNR drop too much to decode.
Here's what the Sondehub output looks like. The green circle is where the balloon is greater than 5 degrees elevation for a ground observer. The target shows the predicted landing is in the Santa Cruz mountains. I guess the station next to the coast isn't working, as it's not receiving this radiosonde.
For future work, I'm going to build a 400 MHz antenna, investigate 404 MHz filters, and maybe add a preamp.
Interesting links about radiosondes, if you want to fall down a rabbit hole:
- NWS Upper Air radiosonde page
- NWS Jetstream radiosonde page
- NWS Weather Balloon page
- NOAA ESRL Software for balloon predictions, telemetry decoding, and SDR
- NOAA Integrated Global Radiosonde Archive (IGRA)
- History of radiosonde launches
- European Radiosonde APRS tracking