Thursday 2 November 2023

Tracking Radiosondes for under $100

A really quick primer on Radiosondes, then how to track them for under $100.

What are they? 

They are a meteorological instrument which collects data on the earth’s atmosphere and transmits it back to the ground via a radio link. It is usually hanging below a latex balloon filled with helium. They are launched daily around the world by meteorological organizations to measure the weather and assist with forecasts. So the common name is a "weather balloon", as that incorporates the balloon and the instrument.

The data that they transmit depends on the brand and model, but in general, they transmit temperature, humidity and their GPS coordinates and speed, so wind speed and direction and altitude can be measured.

And, according to others that track these things, zero of these meteorological organizations try to retrieve the devices once the balloon bursts and the radiosonde drops back to the ground. So they're just disposed of. Anyone who comes across them is welcome to keep them (check local laws!)

The most common one used here in Perth, Australia by the Bureau of Meteorology is the Vaisala RS41 - also called "the STM32 development board that literally falls from the sky!"

All the radiosonde's released from Perth transmit on 401.5 Mhz using FSK modulation and a data rate of 4800 baud. 

How to track a Radiosonde.

There are several ways to receive the radio transmissions from a radiosonde. The most common in recent times is using a suitable antenna, an SDR(with TCXO) and a small Linux computer (eg. Raspberry Pi). The software package Auto-RX by Mark Jessop - VK5QI runs on the Pi and uploads the received beacons to Sondehub.org . 

The Auto-RX software is actually really easy to install by following the instructions on the project GitHub wiki. I had initially tried to run the Auto-RX software on an old Orange-Pi Lite that I had lying around. This did take a while as I for some reason had to compile the SDR software from source. Unfortunately, this didn't work and kept reporting that it wouldn't get any signal from the SDR. This was possibly due to the cheap clone SDR failing and then taking out the USB port power supply.....(nothing was working via that port)

I tried again using an Orange Pi Zero (with Allwinner H2+ processor) using an Armbian Bullseye OS image, then installed Auto-RX using the Docker method. I used an older Nooelec SDR this time round. It did work briefly, but then stopped after a day or two. I think this was due to something overheating, but when I removed the SDR and rebooted the Orange Pi, it wouldn't connect to the wireless network at all. Rather than troubleshoot and buy another replacement SDR, I decided it's time for a different approach.

Enter the TTGO/LilyGo T-Beam V1.1 , This is a small module based on the ESP32 WiFi/Bluetooth Microcontroller. The module includes a 433Mhz ISM transceiver that is based on the Semtech SX1278 IC. It also has a GPS receiver, a 18650 li-ion battery holder and associated charging circuitry, and optionally, a small 0.96" OLED screen. 

The trick here is the firmware developed by DL9RDZ (and others) - "rdzTTGOsonde". Rather than having an SDR that is a universal radio receiver, the SX1278 RF module onboard the T-Beam is controlled by the firmware on the ESP32, which incorporates a limited set of decoders for common Radiosonde models - including the Vaisala RS41 that is used locally. As the module has Wifi onboard, any detected and decoded beacons are automatically uploaded to a variety of web-based services, including Sondehub.org. The firmware supports a number of ESP32-based boards, including the T-Beam and the cheaper and more common TTGO LoRa32 2.1_1.6 board (with no GPS onboard)

The easiest way to install the firmware was to first download the precompiled .bin file from the projects github pag, then download the Espressif ESP32 Flash Download Tool. Following the instructions from the link in the wiki, the firmware was uploaded with minimal issues. The screenshots in the link do need updating to match the current version (3.9.5) of the tool. 

Once the firmware was loaded and the board reset, I connected to the SoftAP of the device, entered my local wifi settings, then rebooted again. I could now access it via my local network. I logged into the web page onboard the T-Beam and added the required configuration settings, such as the frequency of the local Radiosondes, turned on the upload to Sondehub.org and set my Amateur Radio callsign.

For some reason, I didn't receive any beacons during the next Radiosonde Launch. This was checked using the SondeHub website. The local airport releases 2 balloons per day on a fairly consistent schedule. The station was shown to be online, but no Radio signal????

I then tried out the OTA firmware update feature. I selected the Development branch this time round. After the device automatically rebooted, I logged back in and check all the settings were still there. Yes! Now to wait for the next balloon release. Finally, I had success!!! The station was receiving the beacons with a simple magnetic monopole antenna on the roof of my patio!

In hindsight, if I'd read the release notes for the Development Branch firmware, I would have discovered earlier that the T-Beam V1.1 (not V1.0) had a different power management chip (AXP2101), and the release on Aug 28, 2023 was the first one that contained the required code to support this chip and therefore power up the radio transceiver properly. 

The T-Beam V1.1 (available in regular or Meshtastic pre-loaded firmware) currently costs between $55 and $65 AUD. The antenna is a Dual Band VHF/UHF monopole antenna - UT-106UV, and costs under $9AUD. So for $74AUD (currently approx $47USD), and a USB power supply, you too can track the STM32 Dev boards that fall from the sky!

Note - Cheaper still is the Lora32 at $33AUD. Same performance for under $50AUD! (but no chase car functionality if you're trying to track down a radiosonde.)