This tutorial has been written to make it easy for someone with little to no knowledge of the Raspberry Pi to set up a radiosonde_auto_rx receive station. The image file used here is also intended to be suitable for advanced users by making the setup process quicker and easier.
The entire process should take less than an hour.
What is Radiosonde_Auto_RX and why do I want it?
Radiosonde_auto_rx, often affectionately known as just Auto_RX is a program written and maintained as part of Project Horus by VK5QI and other members of the AREG radio club (VK5ARG).
You can find the official home of radiosonde_auto_rx on github at https://github.com/projecthorus/radiosonde_auto_rx
In short, Auto_RX is a program which automatically detects the radiosondes attached to nearby weather balloons and decodes the data packets they transmit. These are the same data packets that your local bureau of meteorology is receiving in order to predict the weather. Each packet (or frame) usually consists of information such as temperature, pressure and wind speed as well as GPS location and altitude of the balloon. Auto_RX uses that GPS data to help you plot the path of each radiosonde it hears.
Armed with this GPS data, it can be a great deal of fun to go chasing these radiosondes and recover them from their eventual landing site. In most places, and at least here in Australia, the Bureau of Meteorology doesn’t even want these radiosondes back, so you can reprogram them to use as transmitters for loads of other ameteur radio projects.
I’m sure you’re thinking “Well that sounds great, but why would I want to track weather balloons?” Well, there are a few reasons:
- Chasing radiosondes is a lot of fun! Think geocaching, treasure hunting, or foxhunting… Auto_RX lets us detect where the weather balloon lands and then go out there and attempt to recover it. Depending how close to the ground we decode the signal, and depending on the terrain of the final location, recovery can be either very simple or rather difficult. Depending on your region, the final landing site could be anything from a suburban area to an outback farm, so there is also a good chance you will get to meet new people when asking for access to farms or backyards etc to recover the sonde. This can be a lot of fun and these people are often very curious about the balloons.
- “STM32 development boards are literally falling from the sky”… If you are a programming and experimenting type of radiohead, then you, like us, will love recovering these radiosondes so that you can reprogram them to do what you like…
- Tracking radiosondes is fun and there is a vibrant community! Tracking anything in the HAM world is fun, but radiosondes are particularly cool. Not only are there regular and routine launches in your local area, but they are relaying some very interesting telemetry and weather data. If you are a member of a radio club, there are probably people in your group already tracking weather balloons and maybe even using auto_rx to do it.
What equipment will I need?
- A Raspberry Pi (I recommend a 3B, ZeroW or 4B.) – A case and power supply are a good idea too
- A blank micro SD Card (16GB or larger)
- An RTL-SDR (Other SDR types won’t work, it must be an RTL-SDR – I recommend the RTL-SDR Blog V3)
- An antenna for the SDR (Reasonable results can be achieved with a simple ¼ wave vertical for the 70cm band)
- For this tutorial, a Windows computer with an SD Card reader and Win32DiskImager.
No existing knowledge of Raspberry Pi’s is required.
If you need to purchase the Raspberry Pi, case, power supply and SD card, I recommend Core Electronics.
When it comes to the RTL-SDR Blog V3 there are a lot of imitations on the market, some of which don’t perform as well as the genuine item. In the past I have bought SDRs from South Eastern Communications and they have always been the genuine article.
I have set this image up to be a very simple way of establishing an auto_rx tracking station. In doing that I have had to make some basic decisions which may not be ideal for everyone.
This image is configured to automatically update when a new version is released. This automatic updater is my own script which is not supported by the developers of the radiosonde_auto_rx project. Every day at 16:00 UTC the script will check for a newer version of auto_rx. This image has also been configured to check for a new version every time the Raspberry Pi is powered on. There is a possibility that if certain changes are made by the developers to the auto_rx software at some point in the future, my script may fail to work correctly. In order to use this image, you must accept that risk. Personally I think it is a very acceptable risk to accept in exchange for a system which keeps itself up to date. If you want to install this update script on an existing auto_rx system you can find the project here: https://github.com/Moll1989/auto_rx_auto_update
SD Card Size
This image requires a minimum SD card size of 16GB. Originally I was going to make it smaller but;
- It’s rare to find a card smaller than 16GB for sale these days
- 16GB is actually a good size for auto_rx. The operating system and software occupies about 3GB, and each log file is typically less than 1MB, so with a 16GB card you won’t need to worry about clearing log files for 5 years if you track up to 7 balloons per day (I track 2-3 per day in my local area).
SSH is enabled by default
I have configured the image to enable SSH by default. Some may tout this as a security risk, but unless you set up port forwarding on your router to access the pi from outside your network then the security concerns are limited. I decided to enable SSH so that if any advanced maintenance is required on the pi in future you will not need to plug it in to a keyboard and monitor.
The image has been configured to use UTC as the time zone for the pi. This was done to simplify the automatic updates and reduce the chances of updating during a balloon launch. Please keep this time zone in mind if reviewing log files etc.
How to do I set it up?
Step 1 – Copy the image to SD card
First you will need to download and unzip the prebuilt image from here:
Now, if you don’t already have it, download and install Win32DiskImager from https://sourceforge.net/projects/win32diskimager/files/latest/download. Clicking this link should start the download automatically. Once the download is complete, run the installer and open Win32DiskImager.
Now click ‘Write’. You will be asked for confirmation, as this will wipe the selected device. If you are 100% sure that the selected drive letter matches the SD card then click ‘yes’.
NOTE: After the image finishes writing to SD card, Windows will most likely ask you if you want to format the card. If this happens, make sure you click No! This happens because there are actually two partitions created, and Windows doesn’t recognise the Linux partition for the Raspberry Pi operating system, so Windows thinks it is corrupted. It is not corrupted, it is just a non-windows partition.
Step 2 – Configure Network Settings for Raspberry Pi
Once you have written the image to SD card the next step is to configure your network settings. There are two options for networking, one is to use WiFi, and the other is to use a cabled Ethernet connection. Whilst I recommend cabled ethernet for simplicity, this is not always practical and both connection methods will perform equally for Auto_RX.
To configure the network settings, the first thing you will need to do is open the ‘boot’ partition in windows explorer. In my case this appears as H: You may need to remove and reinsert the SD card for this to appear after copying the image.
Find the wpa_supplicant.conf file:
If you want to use a cabled ethernet connection, you can simply delete this file.
If you want to use a WiFi connection you will need to open this file in notepad and edit it. You can do this by right clicking on the file and clicking ‘open with’ then selecting ‘notepad’.
The contents of the file will look like this:
On the second line you need to enter your two letter country code, which for me happens to be AU.
On the 6th and 7th lines you will need to enter your network SSID and WiFi password. Make sure you click File -> Save when you are finished. Keep in mind that the Raspberry Pi can only connect to a 2.4GHz WiFi Network, so if you have different settings for 2.4GHz and 5GHz make sure you enter your 2.4GHz SSID settings.
Here is an example:
Step 3 – Configure Auto_RX
The next step is to configure the AutoRX software itself. To do this you will again need to open the boot partition and this time open the station.cfg file in notepad.
This is quite an extensive configuration file with many options. There are lots of comments in the file to explain the various configuration options. Feel free to have a read of this file and configure it to suit your requirements. In this article I am just going to guide you through the most essential configuration settings:
Firstly, on lines 72 and 73 in the RADIOSONDE SEARCH SETTINGS section, you need to set the scan frequencies. These are the frequencies which your local weather bureau is transmitting on. The comments in the code give some good suggestions for frequencies in different regions, but since I live in Australia, the default settings are correct for me. Radiosondes here transmit on 400.5MHz to 403MHz.
Secondly, we need to scroll down to the STATION LOCATION section. On lines 101-103 we need to enter our station’s latitude, longitude and altitude. This is important, because our station will appear on the sondehub map and show when we are decoding a particular radiosonde. If you aren’t comfortable with sharing your exact location, you can pick a rough location within your town or area to enter here.
Please keep in mind that if your latitude is in the southern hemisphere, you must include a negative (-) symbol before it, and if you are in the western hemisphere, the same applies to your longitude.
SONDEHUB UPLOAD SETTINGS
In the station.cfg file this section is referred to as SONDEHUB / HABITAT (deprecated) UPLOAD SETTINGS. This is because auto_rx used to upload to Habitat. Habitat is primarily for ametuer balloon launches rather than meteorological weather sondes, so now all uploads are to Sondehub.org.
The main thing to update here is the Uploader_Callsign on line 131. Where this says CHANGEME enter your radio callsign. For example, my station is called VK5CBM_AUTO_RX.
Now save the file.
Step 4 – Plug it in and use Auto_RX
That it! Now let’s get the system running!
- Remove the SD card from your computer, and install it into the microSD card slot in the Raspberry Pi.
- Connect the SDR to one of the USB ports on the Raspberry Pi.
- Connect the antenna to the SDR and place it somewhere it can see the sky. Remember line of sight is best, and these balloons go high up in the sky. As far as 30km high!
- Plug the power adapter into the Raspberry Pi.
It will take a few minutes for the Raspberry Pi to boot. The update script will run automatically and fetch the latest version of auto_rx. Depending on your internet connection, if an update is required it may take up to 20 minutes for the system to finish booting.
ACCESSING THE WEB INTERFACE
Once the update has completed and auto_rx is running you should be able to access your station. To do this, you must connect from another PC, tablet, phone, etc connected to the same network. You can do this by simply opening your web browser and visiting http://auto-rx:5000 or its IP address followed by port :5000.
If you want to find the IP address a good tool for this is Advanced IP Scanner which can be found at https://www.advanced-ip-scanner.com/ This tool can scan your entire network and list the IP of every connected device. Depending on how your router handles hostnames, you should see an entry in the list called either ‘auto-rx’ or ‘raspberry-pi’.
When tracking balloons, I highly recommend using https://tracker.sondehub.org as well as your own stations web interface, as this has the benefit of aggregating the data from other receive stations as well.
Now you are ready to go forth and chase some balloons!
When you do recover one, make sure to head over to sondehub.org and mark it as retrieved, this way others won’t go out looking for the same one you already picked up.
There are some great groups on facebook for radiosonde chasing, such as VK radiosonde chasers which can be found here: https://www.facebook.com/groups/367790020484336
I hope you have found this useful and fun. Feel free to send any feedback or questions on this tutorial/image to me (VK5CBM) at colin.moll @ gmail.com.
Troubleshooting and Information for Advanced Users
ADVANCED PI USERS – SSH Login
By default this image enables SSH on the Raspberry Pi. If you need to log in for any reason the username is ‘pi’ and the password is ‘autorx’.
OPTIONAL – Expand the file system on cards larger than 16GB
If you are using an SD card that is larger than 16GB, you may want to consider logging into the Pi with SSH and using the raspi-config tool to ‘expand the file system’ and make the full card available to the system. There are manyother tutorials on the internet that can explain how to do this.
ADVANCED – PREAMPLIFIERS
One common method of increasing the performance of an Auto_RX station is the addition of a narrowband UHF preamplifier. Several members of our club have had good success with the Minikits amplifier which can be found here: https://www.minikits.com.au/electronic-kits/rf-amplifiers/rf-preamplifiers/70cm-RX-Preamplifier
TROUBLESHOOTING – NOISE SPIKES & FAULTY USB CABLES
Excessive noise spikes can cause problems with decoding packets from radiosondes. Apart from the usual sources of interference a common source of noise can actually be poorly manufactured or faulty USB extension cables. If your station keeps scanning, but doesn’t seem to be decoding you can check for noise by logging into the web interface, open the settings tab and enable “Show Scan Plot”. If you are using a USB extension cable and are seeing noise in the scan plot, then you can confirm whether the cable is responsible by plugging the SDR directly into the Pi.
TROUBLESHOOTING – CALLSIGNS
Make sure that you have no spaces in your callsign. You should only use letters, numbers and underscores.
Win32DiskImager on SourceForge.net: https://sourceforge.net/projects/win32diskimager
The home of the official project: https://github.com/projecthorus/radiosonde_auto_rx
Sondehub, a site for aggregating radiosonde telemetry: https://www.sodehub.org
Habhub, a site for aggregating ametuer balloon telemetry: https://habhub.org
Advanced IP Scanner: https://www.advanced-ip-scanner.com/
AREG write up on their Auto_RX installation: https://www.areg.org.au/archives/209471
- VK5HS for introducing me to balloon chasing and using auto_rx
- VK5QI and the other members of the auto_rx development team for creating and maintaining this software for the community
- All of the members of the VK5BRL & AREG radio clubs for being so inclusive and supportive