Tutorial on using RS to Decode and Plot Radiosondes

A radiosonde is a small weather sensor package that is typically attached to a weather balloon. As it rises into the atmosphere it measures parameters such as temperature, humidity, pressure, GPS location etc, and transmits this data back down to a receiver base station using a radio signal.

Zilog's RS is a free open source radiosonde decoder for Linux and it supports a wide range of radiosonde protocols. Together with an RTL-SDR it is possible to receive radiosonde signals, and decode them using RS.

Over on his website, happysat has recently uploaded a tutorial that shows how to use RS with an RTL-SDR, CubicSDR or GQRX, and FoxtrotGPS, a GPS plotting program for visualizing the location of the radiosonde. The tutorial covers some tricky points like setting up audio piping in Linux, and getting the GPS data into a virtual COM port to use with FoxtrotGPS.

Alternatively, there are also Windows GUI based sonde decoders that can be used with the RTL-SDR such as SondeMonitor which costs 25 Euros, but also covers a wide range of sonde protocols, and RS41 Decoder which is a GUI for the RS41 sonde protocol only. If you are interested we have a tutorial on setting up radiosonde decoding in Windows with SondeMonitor available here.

Plotting the Sonde Location with an RTL-SDR, GQRX, RS and FoxtrotGPS.
Plotting the Sonde Location with an RTL-SDR, GQRX, RS and FoxtrotGPS.


  1. Happysat

    Auto-rx only uses dfm and rs41 binary the rest is not supported/compiled, also e.g. when 2 active freqs are found it will only decode 1..
    Outout is horrible when not using Habhub, local APRS is not useable.
    DxlAPRS does a better job with multi freqs but same story only DFM and RS is supported.
    Both are fine for home monitoring stations.
    YMMV 😉

    • Mark Jessop

      Auto-RX only supports DFMs and RS92/RS41s because it’s all we’ve been able to test with! I’d love to add support for other models of sondes, but it’s *really* hard to test detection and tracking without hardware!
      (For instance, rs_detect seems to give quite a few spurious M10 detections)

      As for multiple sondes – if you add more RTLSDRs it’ll track as many sondes as you have SDRs! I know there was a request for a ‘hopping’ mode which is in the pipeline still… All of us working on auto_rx do have full-time jobs, so things progress slowly.

      What do you by local APRS? There is no local APRS output… what do you need in this regard? Remember, it’s open source and on github – raise an issue describing your problem, or submit a pull request with a solution to it!

      For chasing sondes in the field, I’ve had a mapping solution (windows only) for ages – OziPlotter (https://github.com/projecthorus/oziplotter). The use of OziExplorer as the mapping application was mainly because all the topo maps for my area are in ECW format, and it’s a pain to read that in other applications…

      Since I really want to get away from a windows-only solution, I’ve been working on a browser-based balloon chase mapping system: https://github.com/projecthorus/chasemapper/
      That’ll take data from auto_rx, plots it, and also give you live flight path predictions, which makes getting to the landing site to watch the sonde landing much much easier!

      • Happysat

        DxlAPRS can decode multiple sonde’s with a single dongle in the same 2MHz range (RTL-SDR).
        Its kinda inconvenient to add a dongle for every sonde..especially on device’s like Raspberries in the field..

        With Local APRS i mean connection to my local APRS server on not connected to internet.
        AutoRX send’s a data string and disconnects , connecting again and then not sending any data at all, other clients didnt have a problem.

        Oziplotter is a nice solution for windows only indeed, the chasemapper looks promising!
        Looking forward to it 😉

        • Mark Jessop

          Oh yep, the APRS output is definitely a bit of a hack. Not sure why it doesn’t send data on further connections, as it definitely is able to push data into APRS-IS…
          Anyway, I’ve got an issue open (https://github.com/projecthorus/radiosonde_auto_rx/issues/77) for that one so I can get around to fixing it… This will also make it compatible with the radiosondy.info tracking system too.

          I see the point with being able to decode all signals within a RTL’s passband, that will require significant changes to the decoder backend unfortunately. I’ve had a look into how dxlAPRS’s decoder works, but it’s incompatible with how I scan the radiosonde band for sonde signals.
          Here in Australia the sonde launch locations are spaced far enough apart that you *usually* only see one sonde in the air at a time so it hasn’t been a huge issue for us.

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.