A while ago, I found an interesting project on GitHub called the Ra, a tiny portable radiosonde receiver. Lacking a good portable receiver, I decided to build one myself.
Why Ra?
There are other receiver projects available, such as MySondyGO and rdzTTGOsonde, each with their own strengths and weaknesses. Both of these use a 433 MHz LoRa development board and, with some magic, are set up to receive and decode 400 MHz radiosonde signals. Because they are designed for LoRa, these cannot decode a few types of radiosondes. One of these is the iMet sondes, which are released every night in Belgium. The Ra, on the other hand, is designed to receive and decode a lot more types of radiosondes, including the iMet sondes, without the limitations of a LoRa receiver.
Not only is it capable of receiving a wide range of radiosondes, but it’s also very small and portable (70mm long!) compared to other receivers. It’s perfect for outdoor use and can be easily carried around. Powered by two AAA NiMH batteries, it can sit idle for a few months without draining the batteries (if you’re using the battery-saving script).

My frustrations
Over the course of building the Ra, I encountered a few issues and frustrations. I’ll be discussing them here so you can learn from my mistakes.
-
Make sure to use a 12.8 MHz oscillator.
The software configuration clearly allowed for the use of a different frequency, but I found out (the hard way) that the software fails to decode any frames on a 10 MHz VCTCXO I used and configured. I’m not that hardware savvy, so here is Rolf’s (the developer of Ra) comment on this issue.
A closer look at the Ra showed that for instance the 12.8 MHz reference, when using a fixed ADF7021 DEMOD_CLK divider of four, cannot be set to 1200 bit/s, but only to 1204.8 bit/s. Doesn’t seem much of an issue, but with long unmodulated gaps in the signal this becomes significant! And for the MTS-01 this meant that sampling was off by a bit or more when modulation restarted after the gap. The solution was that the DEMOD_CLK divider must be adapted based on reference frequency and chosen baud rate (in this case a divider of three allows Ra to be set to 1201.2 bit/s). This can be set in the config page of Ra, but I hopefully also managed to set this for receivers already in the field, where changing the config page seem impractical… This was the reason I was not 100% sure there would be no issue with 10 MHz, but honestly I was convinced it would work…
Eventually, after swapping my old 10 MHz VCTCXO with a 12.8 MHz one (thanks Frank), it instantly worked and started decoding frames properly.

-
Modify the case properly and adequately.
Due to the bigger footprint of components on the bottom side of the PCB, you’ll need to modify the case to accommodate their height. I used a cheap dremel tool to puncture a few holes in the bottom to fit the thermistor, a few capacitors, and a large inductor. I broke about 4 inductors to figure out that it was getting crushed when screwing down the case.

-
Test everything without soldering the battery terminals.
If for some reason a component on the backside is not working or badly seated, you’ll have to desolder the terminals just to view the backside of the PCB. Verify everything works fine with a previous sonde you’ve caught before or wait until one flies by. The whole setup should work without any batteries as long as you have the micro USB cable connected. Also make sure the antenna and its cable is not positioned over the SWD pins (J6) as these can cut through the cable and short the board.

Should I build one?
Do you have a lot of spare time, money, and patience? If so, yes, go for it. Most of your time is spent waiting for the components to arrive. Sadly, the latest PCB revision is a few years old and a small amount of its components aren’t that readily available. The filters, preamp, and oscillator aren’t being produced anymore so you’ll have to find alternatives or source them from a site that still has stock.
How do I build one?
If you’re interested in building one, feel free to contact me and I’ll be happy to help you out. I’ve got a pretty updated BOM with a few minor changes, but it’s not perfect. I won’t bite.
You’ll most likely want to work with either a reflow oven or a hot-air rework station. A multimeter is a must-have tool for checking potential shorts or open circuits.
-
Of course, order the required parts.
This is probably the most time-consuming part of the build process. You’ll need to find a mix of components spread across (mostly) Mouser and Digikey to get the components you need. You can also try other online retailers like Farnell or RS Components although they usually have a long lead time. As mentioned above, the filters, preamp, and oscillator aren’t being produced anymore so you’ll have to find alternatives or source them from a site that still has stock. If you’re lucky, you might find them on eBay or other fellow enthusiasts (thanks again, Frank).
-
Assemble and solder the PCB.
If you’re using a hot-air rework station, make sure to use low-temperature soldering paste so as not to damage the fragile components. Flux, flux, flux, use flux. Especially when soldering the microcontroller, receiver or Bluetooth module, use flux to remove any excess solder and clean the pads.
If you’re as clumsy as me, you might want to consider wearing long pants while soldering as to not drop the paper-thin aluminum stencil on your leg, causing it to cut your leg and require stitches. Cough, cough, that totally didn’t happen to me.
-
Flash the loader, firmware, and configuration.
This was, at least to me, by far the easiest part. Since I bought an MCU Link debugger, I used LinkFlash (included in LinkServer) to flash the loader software as well as configuration. Enjoy navigating that nightmare of a website to download it. I had a full breakdown trying to even download the software but that surely is fixed by now, right? :)
Just write the loader using the debugger and open the app to flash the firmware through BLE. The configuration can be flashed using the same method as the loader, just offsetting the address to
0x38000. The low energy consumption script can be uploaded through some proprietary program via UART after bridging a test pad on the board. -
Test your new receiver and assemble the chassis.
As stated before, make sure to test the receiver before assembling the chassis. This will end up saving you a lot of time and frustration. I’ll state it again: it should run perfectly fine just running on micro USB power so test before assembling the rest. Test it with a previously caught sonde or a currently transmitting one. After that, assemble the chassis and you’re ready to go!

Conclusion
First of all, I’d like to thank Rolf Meeser (DF9DQ) for creating and maintaining the Ra project, along with all the support he’s provided. I also would like to thank Frank Ruijs (PE1MIU) for his help and support, it would’ve taken me a lot longer to get it working without his help. Another big thanks to the Ra Support Group telegram channel for their support and feedback.
I might make a fully in-depth guide in the future on how to build a Ra from scratch.
If you’re interested in buying a Ra, I’ll be selling the excess well-tested units in private, just contact me.