Each year I help out with UW’s rocketry and high altitude balloon classes. In the past, we’ve been using custom telemetry systems using radios in the 70cm band, transmitting RTTY telemetry down. This has been working well for us, but there are a couple of issues we run into, which is that RTTY can be pretty slow especially if we’re working with decent amounts of data. Secondly, unless there’s a pretty strong signal, it’s easy to get extra, missing or incorrect characters while decoding RTTY. A little while back, we were looking at ways to resolve these issues, and through some chats with my collaborators, we decided that looking into packet might be a good option.
I did some looking into the matter, and looked into two primary options.
One is to generate the 1200Hz and 2200Hz tones in software on the microcontroller in the telemetry system. This is how we’ve been doing the RTTY signals, but packet requires very accurate timing and that the two tones while switching must remain phase accurate. This is certainly not an impossible task, people have done and continue to implement this. The downsides to this are that it’s very processor intensive, and that extra components must be added to clean up the square waves from the microcontroller into a smooth sine wave.
The other option are several IC components that implement Bell 202 signaling. Bell 202 implements the two tones we need, and we just tell the chip which tone we want at a given time. The advantage here is that we offload tone generation to this external chip, which frees a LOT of processor resources, and the tones that come out of the IC are very clean, and remain in phase. The downside is we need to add a separate IC and all of it’s supporting components.
In the end, I ended up grabbing a few of the Bell 202 modem ICs to experiment with. The particular part I got was the MX614DW.
Anyway, point is that I got this IC all hooked up, and attached it to a test system with a gps and microcontroller with an output to my handheld. It ended up taking a little work to implement the AX.25 protocol, but after getting it all set up, I now have a working packet radio transmitter, and have successfully tested it with APRS and the local digipeaters. See the photos below!
Also, here’s some sample code. Most of it is my own work, a bit is inspired by the trackuino project, and other bits are based on work from various people from around the internet and on the arduino forums.