The Raspberry Pi and Ham Radio
Earlier this year the Raspberry Pi Foundation released a small inexpensive computer called the Raspberry Pi. The Raspberry Pi is about the size of a credit card, but yet is a fully functional computer. It has a HDMI monitor output, 2 USB ports, a network interface (optional), SD card slot, audio output jack (no input, but does work with external usb audio interfaces for input). The Pi also has a GPIO interface (General Purpose Input Output), which should be of great interest to hams, because it can be used to interface to external hardware such as relays. All this for a whopping $25 dollars without the network interface (Model A) and $35 with the network interface (Model B). The Pi uses a 700 MHz ARM processor with a Videocore 4 graphics processor capable of Blu-ray playback. The system runs of 5 volts using a USB power supply that connects via a Micro USB jack.
The eagerly awaited Pi launched in February of this year and the demand was overwhelming. The companies that was distributing the Pis server were completely overwhelmed for about two days. Then the manufacturing process ran into issues with parts and compliance testing. The units are now gradually trickling out to early adopters. The Pi at this point is a highly experimental device and is not comparable to your quadcore desktop PC, not even close. So, why should hams be excited about the Pi. Due to it’s small size and low power it makes an ideal embed-able computer to be used as a controller. The GPIO makes it ideal for interfacing to hardware like relays or knobs. Maybe interesting for Antenna controllers, repeater controllers, APRS repeaters, D-star hotspot controllers, etc. The implications for SDR use are also interesting. You could potentially couple a Softrock RXTX, Pi, 12v / 5V power supply, usb wifi dongle, and a usb audio dongle in a small case. You could then stick a cheap used Android phone on the front as a color display. The phone could get video via WiFi using VNC and audio out using Skype. So. for less than $200, you could have a self contained SDR radio in a small case with a touchscreen. Stick a PSK31 program on the Pi and then us would have a small portable QRP rig for digital. No if you really wanted to get fancy, you could also attach some rotary encoders ti the front. Of course the SDR software would have to be modified to work with the encoders. Technically, this could be done today with the exception of one large caveat, that I will get to later.
I ordered a Pi in February from Farnell / Element 14 and it arrived at the first of June. The Pi is still in heavy demand and hard to get a hold of. It looks like that Farnell is going to open ordering again on July 5, so if your interested in getting one, you better go ahead and get in line. I have spent about 20 hours or so messing with the Pi and I thought I would share my thoughts and impressions.
First of all it is surprising as to how small the Pi actually is when you see it in person. This is a low powered computer that can be tucked
away about anywhere. The Pi currently runs Linux as it’s operating system. Now, if your idea of Linux is something like Ubuntu, you will be a bit disappointed. The current Linux distributions range from very basic to some that come with a Graphical User Interface installed with some basic applications installed. You will need at least a 4 GB SD card to create a Linux boot disk for your Pi. I started with a Class 6 SD card and had some trouble getting it to work reliably with the Pi. I then picked up an AmazonBasics 16GB Class 10 SD and it has worked great with the Pi and is faster to boot the system than the Class 6 SD card. Building the boot disk is easy, but it will require access to another PC or Mac with a SD card reader. Just download a Linux distribution you would like to try and follow these instructions to get going. You can even have different SD cards with different Linux distributions on them if you want to swap them in and out for experimentation purposes. You will have to learn how to use the Terminal program under Linux to do certain tasks like install software. We have all gotten pretty spoiled using GUI in Windows and OSX to do most every thing. However issuing Terminal commands like sudo apt-get install fldigi is sort of satisfying in a geeky kind of way. Keep in mind that since the Pi is just creeping into developers hands, that these Linux distributions are continuously being debugged and optimized for the Pi. Right now these OS distributions are in the very early stages of development. So you may run into bugs or programs that just don’t work, but this should get better over time.
The very first issue I ran into with the Pi was getting the display to work. I had a small monitor I wanted to use , but it only had a DVI interface. The Pi needs a HDMI interface. No problem, I happened to have a DVI to HDMI converter cable that worked fine with this monitor in other hardware applications. For some reason it just refused to work with the Pi. After some research it seems that this configuration was not a big problem for other Pi users. No matter what I tried the Pi refused to drive the monitor. So, I had another monitor with a HDMI connection. After connecting the monitor with the HDMI port to the Pi via a HDMI cable it worked. Go figure. Another problem I ran into was not being able to connect more that two USB devices without losing connectivity to network port or connectivity to the third USB device. This appears to be a bug in the Linux distribution I was using. This all goes to show that the Pi is still pretty experimental yet and you should expect some of this weirdness for awhile.
As far as the Linux distributions go, I found that the Debian Squeeze version was the most reliable for running the programs included in the Debian Squeeze Repository. There is another distribution based on Debian Wheezy that is currently in beta, that seemed to run faster and had a useful setup utility that would you very easily partition your SD card so the Pi could use all the available space. However, it does not have as many programs as Squeeze and some of the Wheezy programs just would not work on the Pi.
Now to the caveat I mentioned earlier. The Pi is just plain out slow at this time. The graphics processor is pretty powerful, but remember you are dealing with a CPU that can only run at 700MHz.Some programs run very well on the Pi, but others that require more CPU cycles struggle. Just try browsing a graphics heavy web page and you will have flashbacks to the early 90s when putting to many gif files on a web page was not a good thing to do. Thats the bad news. The good news is that it may not always be this way. First of all, the OS distributions need to be debugged and streamlined. Second, the programs themselves were typically written to run on x86 processors. The current applications need to be rewritten or streamlined for ARM processors. For example if an Android OS comes along, then the Pi would perform very well since most of Androids programs are written to be used on ARM processors. I suspect a version of Android for Pi will show up in the not too distant future. With that being said, SDR programs that use a lot of CPU cycles would have a had time running on the Pi in its’ current state.
The other good news (sorta), is that I connected the Pi to my SignaLink USB audio interface and the Pi saw it with no problem. I was able to download and install Fldigi for Debian Squeeze and it actually ran fine. The waterfall sort of jerked slowly down the screen and showed PSK31 signals. However no signals were decoded because the processor simply just could not keep up. So there is some hope yet for the Pi.
One interesting thing due to the huge success of the Pi concept is that other Pi like computers are beginning to show up. There is one from Via that is supposed to ship in July called the APC. The APC looks very interesting at $49 running android. Will I be getting one of these to test out? You Betcha!