Raspberry Pi in Amateur Radio


Overview

This page is based on a presentation I gave to the Rappahannock Valley Amateur Radio Club in March of 2017 (and part 2 demos/Q&A in September 2017). There's a huge amount of information out there on the topic, I only just touch on the topic because I have limited time but I try to touch on the topic enough to explain it regardless of the level of understanding you already have. If you wish to view the slides by themselves, you can download a PDF version of my presentation though it will not include any of the explanations that I include on this page or in the video.

Here is the YouTube video you can watch the entire intro presentation, exactly as it was given at the club meeting.




Here is the YouTube video you can watch the entire demo/Q&A presentation, exactly as it was given at the club meeting.




Slide 1



Welcome to my presentation on using the Raspberry Pi in Amateur Radio...



Slide 2



What is Raspberry Pi in Amateur Radio? No, it's not a snack for working long contests.



Slide 3



Here is a comparison of the Raspberry Pi vs a conventional PC. While they both have a lot of similar features and capabilities they also have several notable differences. The processors are different architecture (think of it as they "talk a different language" for the software telling them what to do) which means you can't run all of the same programs, although many have equivelant or compatible versions. Other differences are in storage, the amount (and upgradability) of RAM, and audio card. Some Raspberry Pis have an audio-output but none of them currently have an audio-input so that requires an add-on card or USB adapter.



Slide 4



Here is a comparison of the Raspberry Pi vs another development board, the Arduino. They have a few things in common but are aimed for significantly different purposes. The Arduino is based on a programmable microcontroller with embedded program memory, RAM, and low speed microprocessor. It's very good at doing a single simple task but doing it very reliably due to the simplicity of it. The Raspberry Pi is more powerful and can perform more takss in parallel, run full software applications, and perform like a normal computer but this complexity means there is more that can go wrong. They are both good but for different uses.



Slide 5



There are several versions of the Raspberry Pi as you can see from this chart. They offer a variety of options depending on what you want to do in different sizes and configurations.



Slide 6



A few uses for this are a small computer, many people use it as a small inexpensive steraming box. But we're here to talk about Amateur Radio.



Slide 7



Here are a few examples of uses for a Raspberry Pi with Amateur Radio. Most if not all of these could be done with a spare computer but the Raspberry Pi brings a much smaller package at much lower cost than most computers for similar tasks.



Slide 8



Here is an example of an Echolink node I built using a Raspberry Pi. The left is my initial prototype using a Pi model B, on the right is a more polished updated version using a Pi 2 and installing everything inside a mini computer case for portability and shielding. This new one is designed to fit in a Pelican 1510 case and meets TSA and FAA rules for carry-on luggage. My updated version also includes a RTL-SDR for an APRS iGate running on the same Raspberry Pi.



Slide 9



This picture is of another project which is a work in progress, an APRS digipeater. I'm also testing a new method of interfacing the radio which I believe is overall easier and more reliable than my previous implementations using GPIO pins.



Slide 10



One of the things you can do is simply connecting a SDR. This is trivial, you just plug it in like any other computer. Do note, it may require drivers to be installed to work.



Slide 11



For connecting to the radio, the hookup is similar to a TNC. You need to connect the audio input/output as well as PTT and if neccesary COS signals. There are two ways to do this, either using a coommercial all in one solution or building an interface yourself.



Slide 12



I won't discuss the commercial solution for a variety of reasons - it's not that exciting (again just plug in the USB cable) and I think they're rather expensive. There may also be a need to find drivers for them.



Slide 13



To connect the audio you will need a soundcard with inputs and outputs. I used a USB soundcard. You also need a way to provide isolation between the signal levels of the radio and soundcard, this can be something like a 1:1 audio transformer (preferred) or simpler componants such as a small capacitor for DC blocking and/or resistors.



Slide 14



For the PTT and COS signals there are a few methods you can use. The simplest way is to use the 3.3 volt GPIO pins on the Raspberry Pi but this requires the application you are using support it. The next easiest way is to use the built in UART serial connection since most software supports using the RTS pin of a serial port for PTT but this requires reconfiguring the OS and setting the "alternate" mode on a couple pins, this is a bit tedious and the pins default to a different mode on bootup or if it crashes which can result in the radio keying up transmit indefinately (or until the radio hits a timeout). A balance of this is what I think is currently best, using a USB serial converter. This allows most software to be used while avoiding the OS configuration issues and also defaults to a safe idle stat during bootup or if it crashes so the radio will "fail safe" and not transmit.



Slide 15



This block diagram shows the interface I am using for the APRS Digipeater I am building. I don't show the COS signal because in this situation I don't need to use it but it would work much the same way as RTS but with arrows in the opposite direction.



Slide 16



This diagram iullistrates what I did to interface the audio. For the speaker I picked one of the speaker channels, note your software may need to select if you're using the left or right channel depending what software you use. For the microphone it seemed to work equally well so I picked the there as well.



Slide 17



Here I'm showing the circuit I use for the PTT interface. I found with the parts I had on hand the easiest thing to do was use an opto-isolator which solved two problems, first I had to invert the signal since RTS goes low when it's "set" and sits "high" when it's idle. My original circuit worked the opposite way. My solution was to simply connect from VCC to RTS instead of RTS to GND so that it "turns on" when RTS goes to 0V and off when they are both at 3.3V. It also works around any voltage incompatibilities with the radio's PTT pin by isolating it completely. I also put a LED in line so I could see if it was requesting PTT by just looking at it.



Slide 18



While I haven't done a COS circuit for my digipeater I think the same circut would work for the serial port. The ground was not neccesary on the radio side because it is already connected on the power supply to a common ground and I was afraid adding a ground pin from the Pi to the radio would introduce ground loops.



Slide 19



These are links to some of the devices I have purchased for use in my projects.



Slide 20



Last but not least, here is a little information about software I have used or heard of to get started. Also I have included what the most common "path" is for the USB serial adapter and USB audio adapter (assuming you only use 1 of each) on a Raspberry Pi since I had difficulty finding it the first time. While it's possible this could very it has not in my experience with the full-size Raspberry Pi boards.



Conclusion

I appologize for the speed I've had to go thru all this information and I hope it has been useful. There is a massive amount of information and I could probably spend an hour on each of the major points I have brought up in this presentation but it is my hope you have enough information from this presentation to be able to research more information or formulate questions that are more specific to your interest and answer a few questions about how to get started.