Digital Modes, To Go
In the last two years, when I was off doing a MOTA or SOTA Activation, the frustration starts to build as the bands are not cooperating and the contacts are hard to make. Especially when your not running 100 Watts or more and your using a portable antenna. I have not learned CW yet but I am working on it and the band conditions have been a motivator. In the mean time, I am thinking about the advantages of Digital Modes when I have less than idea conditions. “Wouldn’t it be nice to be sitting next to this Old Mine, enjoying the view and making digital contacts at -16db?” These are the thoughts I have while I call CQ for the 65th time with only one contact made.
It does sound like a great use case for digital modes. Especially the new FT-8 which I am really enjoying. However, lugging a laptop out into the field, at least the one I have, is not ideal.
- Limited battery life.
- Requires 20V @ 4.5A if I want to keep going after the battery dies.
- Weighs more than my radio.
- To large to be hiking with.
I could buy a new laptop but even the cheaper models, $300-$400, are a little more than I want to spend. Besides, I am an Amateur Radio Geek. If I can make something that meets my specific needs and costs 1/2 as much, my Geek Creds go way up!
I had been thinking that the Raspberry Pi 3, running Raspbian Linux, would be a good choice. It is cheap, has some decent computing power, has low power and low voltage requirements and there are versions of WSJT-X and Fldigi available. However, I thought finding a low voltage display, power supply and packaging it up to make it workable would be a lot of work and maybe unreliable. Turns out, I was wrong!
A couple of months after I started thinking about this, Cale Nelson over at HamRadio 360 posted a Tweet about a collection of items, a Kit, that he had put together for just this purpose. They call them Kits over at Kit.com but it is basically a collection of web links to places where you can buy the needed parts. Cale’s Kit pointed out that there was an official Raspberry Pi 7″ Touch Display that ran off of 5V, there were small 12V to 5V DC power converters readily and cheaply available and cases were already on the market to combine your Pi and Screen into one nice package. Adding up the basic parts required, around $180. I’m in!
So I started ordering parts. Everything I needed was on Amazon. Living an hour from the nearest town with more than just a gas station, Amazon is one of my best friends. Cale’s kit has multiple options for some parts so I decided to make a Kit of my own with the exact items I am using. Digital Modes To Go – Kit (If you have issues viewing Cale’s kit or my kit, all of the parts are listed at the bottom of the article.) Assembly of this computer is pretty easy. I will go over the basics of the assembly and refer to other links for loading the Raspbian operating system (OS) and such. There is no need for me to rehash what someone else has already done an excellent job of describing. Just pulling it all together in one spot is a big help.
The Raspberry Pi website is an excellent reference for anything to do with this motherboard. Bookmark it for future reference.
The first thing to do is to load the Raspbian Linux operating system onto your SD Card. This SD Card needs to be installed on the motherboard before you can start building the computer. Follow the instructions on the Pi website for Installing Raspbian with NOOBS. It requires you to download a utility to format the SD card. Then you download the OS, unzip the file and copy its contents onto the SD card. It is a pretty straight forward process and does not take long. However, if you really want to skip this process, you can buy an SD card with the NOOBS installer already loaded. I chose to buy a blank SD card because it was 1/2 the cost and I knew the process was pretty easy. The choice is up to you. I do recommend you buy the card linked above if you want NOOBS pre-installed because it is a Class 10 card which will give you the best performance. The other cards did not list their speed and I want it to run as quick as possible. A name brand card is also better since the card will get a lot of use.
Once the OS is loaded on the SD card, you need to install the card in the Micro SD card slot on the bottom of the motherboard. The card should slide into the slot with only a little resistance. The words/logo on the SD card should be facing up.
Now let’s get this thing put together. Get all the parts out of their boxes and find a nice clean spot on your work bench. A small philips screwdriver is all you need for assembly. There is an excellent, short, video on YouTube that takes you through installing the screen and the motherboard into the case. The one thing I would note is that they show installing the video card onto the back of the screen. When I got my screen, the video card was already attached.
Hopefully everything went together smoothly and you are ready to fire it up. For that you need power. In my case I want to use this machine when I am out doing portable ops. So I will either be running it off of the same battery I am running my radio from, via a PowerPole distribution block or from it’s own battery. Using the 12v battery for your radio you will need a DC converter to knock that down to 5v. I chose the DROK USB Voltage Converter because it puts out a full 5 amps, 2.4 amps on each USB port and it can convert anything from 9v to 36v down to the 5v needed. The DROK is a very simple kit but it comes with no instructions in the box. I am sure they have something on their web site but there is not much to it.
Attach the tall posts to the board using the smaller post screws. Now remove the brown paper covering the clear plastic semi-enclosure parts. Add the bottom clear plastic piece using four of the screws. Don’t over tighten them. The plastic will crack. Then put the upper plastic on with the remaining screws.
Very simple, quick build and small enough to fit anywhere. Since I am using PowerPoles on my rigs, I took one of the 2.1mm DC plugs I had purchased and attached power poles to the other end.
With power connected to the converter, the red power indicator came on. When you assembled the computer/screen case you saw that it came with a nice power splitter so you only need one USB power cable instead of two. One thing to note here is that you need to make sure you have a good USB Micro power cable that is capable of the full 2.4 amps of power. I started off with a thinner USB cable that was from another device and the screen kept warning me of not enough power (yellow lightning bolt on top right part of screen). I think the cable was not rated for 2.4A as the wire was thinner. So if you do not have a nice USB cable, get a couple, like the ones in my list, that specifically state they can handle the full 2.4 amps that USB is rated for. Another note on the yellow lightning bolt on the screen. It kept popping up from time to time but eventually it settled down and I only see it once in a while. I am not sure but it might be looking at average power over time. So the long it runs, the less it complains!
Your other power option is to use one of the nice portable power banks they sell for recharging your cell phone or other devices while on the road. I have always had good luck with the Anker brand and something like this Anker PowerCore 13000 could probably run your Portable Pi Computer all day. Note that what ever you buy, it should say that it can output 2.4A continuous. This Anker says it can put out up to 3A continuous.
There is no on/off switch for the Pi. When it is plugged into power, it will start to boot. Follow the on screen prompts. Depending on how you loaded the OS, you might have to select Raspbian from the list presented and then install the OS. This will take a few minutes for it to write all the needed files and then reboot. Either way, the Pi will boot up and auto login to the desktop screen. For your records, the default user name is: pi The default password is: raspberry
Since I am allowing the Pi to store a couple of my website passwords, like QRZ.COM, I went into preferences, changed that password and unchecked the box to auto login. So now it prompts for the username and password. This is totally up to you.
From here on, you need to have your new Pi connected to the Internet via Wifi or an ethernet cable. Make sure you run an Update and an Upgrade so that you know everything is the current version before we load WSJT-X and Fldigi. As before, the Raspberry Pi website has nice simple instructions. Updating and Upgrading your SD Card.
Lets get the latest version of WSJT-X installed. I am going to assume your not an expert in Raspberry Pi or computers in general, so if any of this is common knowledge for you, just skim over it. We need to download the latest build of WSJT-X for Raspbian. There are multiple versions of the software, not only based on the OS (Windows, Mac, Linux) but also on the type of hardware. So just downloading the version for Linux is not going to work. You need the version of software made to run on ARM chips as opposed to the x86 type processors found in your laptop/desktop.
Go to the WSJT-X website and download the Raspbian Jessie version. This is the last one in the list. As seen in the thumb nail image here. Now click on the download for the Raspbian Jessie version. It will save it to the Downloads folder on the Pi.
Installation instructions are in the user manual at this link. Installation Instructions. Bookmark this web page for reference on how to use the software. On this web page, scroll down to the section that says “64-bit: wsjtx_1.8.0_armhf.deb“. The version number will change over time but you should be getting the 64-bit version that has the word “arm” in it since the Pi has an Arm processor. It shows these instructions:
This is where I had to do a little digging. Note at the bottom it says “You may also need to execute the following command in a terminal“. You do have to run this command. However, when I ran it, it stated what I was missing “libqt5multimedia5“. Below is what commands I had to run and in what order. Open a Terminal window. The same way you did for Updating and Upgrading your SD Card earlier. You need to make sure you are in the Downloads directory or the last command will not run. In the Terminal window you will run the first command to change to the Downloads directory. The next two commands load supporting software and the last command runs the WSJT-X installer that you downloaded earlier.
- cd ~/Downloads
- sudo apt install libqt5multimedia5
- sudo apt install libqt5multimedia5-plugins libqt5serialport5 libfftw3-single3
- sudo dpkg -i wsjtx_1.8.0_armhf.deb
This should install WSJT-X and get you going. I did notice that it put the WSJT-X icon in the Sound & Video menu folder. So if you can’t find it, go to the start/menu icon in the corner and then go to Sound & Video.
I am using a SignaLink USB device to interface my Yaesu FT-891 to the Raspberry Pi project. It is super easy to get going. I did notice that I needed the SignaLink device connected, via USB, to the Pi before I powered the Pi on. Also make sure the Red Power button on the SignaLink is depressed. It is apparently installing the device drivers when it boots. I have not done a bunch of testing on this. However, I make it a habit to plug in the SignaLink before I power the Pi.
You need to do all the normal setup on WSJT-X. Like setting your call sign, Grid and other preferences. The main setting to get WSJT-X decoding was the Audio. My SignaLink showed up as the soundcard: plughw:CARD=CODEC,DEV=0
Once I selected that for Input and Output, WSJT-X started decoding.
The only issue I had using WSJT-X was the limited screen space. The WSJT-X windows will only go so small, which leaves a small portion that is off the screen. To quickly move left-right/up-down, you can hold the CTRL & ALT keys down at the same time and then use the arrow keys to move the screen. However, there is still a small part you cannot see. This is only really a problem when you are setting the different preferences. To move the window to any position, hold down the ALT key and single press the space bar. This will pop up the window Menu Bar. Now press the “M” key. You can now use the arrow keys to move the window in any way you want. When you are done moving the window, press “Enter” to get out of the Move process. Once I figured that out, it was pretty easy to get around and I really only needed it for setting preferences. The CTRL/ALT and arrow keys worked for pretty much anything else I needed. If you are not using a SignaLink USB box, you will need to rely on your past experience connecting your radio or start doing Google searches. I don’t have any experience with non-SignaLink setups. Sorry.
Once I put in my credentials and set the preferences I like, WSJT-X was off and running.
If you have an FT-891, these are my settings for Rig Control. I connected my FT-891 via USB cable to the Pi. Then under the Radio tab I selected Yaesu FT-891 for the Rig. After some messing around I found the Serial Port was: /dev/ttyUSB0 I believe all the other settings were done automatically when I picked the Rig from the pull down menu. See the screen shot on the right of these settings.
I made a couple of contacts on FT-8 and was really happy with the results. You can tell it takes an extra second for the Pi to decode but it made no difference in my operations. I did go ahead and close the waterfall window that always starts with the software. I have no need to see it and it is using some of the Pi’s processor power. Just like on a Windows machine, you can use the ATL-TAB keys to swap between windows. I also pull up QRZ.com and let it run in the back ground so I can look up call signs. The Raspbian OS has the Chromium web browser already loaded for getting on the Internet.
Ok, lets move on to Fldigi.
If you want the latest version of Fldigi, you will have to download the code from SourceForge, compile it, deal with dependencies and so on. That’s more than I want to deal with. I could do it but life is too short and I am more interested in running my radios then learning how to compile code. So I took the easy way out. If you don’t mind being a version behind, you can just download the pre-compiled package directly through your Portable Pi.
On Linux there is a program repository where people put their programs and you can easily load them from there. Go to your Start icon, select Preferences and then select Add/Remove Software.
Now in the top left corner, type in fldigi and hit Enter. You will see a list of related programs. Check the box for fldigi. I also checked the boxes for flrig and flwrap. I think it automatically checked the box for libflxmlrpc because the other programs are dependent on it being loaded. Click the Apply button in the bottom right corner and it will start downloading the packages and installing the software. When it has completed, you can close this window.
Fldigi should now be installed. If you click the start icon, you will now see an item called Hamradio. In there you will find the Fldigi programs. You will also note that it added the WSJT-X program to this menu as well.
Now you can get into the settings and get the Audio and Rig setup. Again, I am using the SignaLink USB and the FT-891. So I will show settings for that. You settings may be different.
For the SignaLink USB, my audio device showed up as “USB Audio CODEC – (hw:1.0)“. For the Rig, this version of Fldigi did not list my FT-891. So I selected the FT-991 and then used the settings from WSJT-X to make some adjustments. I set the Baud rate to 4800 and Stop Bits to 2. When I clicked Initialize, everything started working.
With Fldigi up and running I set it to PSK31 on 20m and a few conversations popped right up. I have not made any contacts yet since I need to setup some of the Macros and make a few more settings changes.
One last thing I would like to touch on is having the correct time. As you know, some of the digital modes can be very particular about having the correct time. It appears to me that every time the Pi boots it is do a time update. However, it is nice to be able to force a Time Sync on demand. I only have a minimum of experience with Linux and I am sure there are other or better ways to do this. Next is how I sync my time on demand.
When searching online I was referred to a number of different terminal commands to update the time but none of them seemed to work. This is highly dependent on what version of Linux you are running and what software you have installed. To get this to work I needed to load the NTP program. We can get that from the Add/Remove Software program, just like we loaded Fldigi. This time you will search for NTP. Check the box for Network Time Protocol daemon and utilities program, then click Apply. When finished you can close that window. NTP should be installed. Open a Terminal Window like we did earlier when we installed WSJT-X. Run the command “sudo /etc/init.d/ntp restart”. This will stop the NTP program and restart it. When that happens it will check for the correct time over the Internet.
That is about it. I am really happy with this project and looking forward to getting on the air with digital modes when I am out doing remote MOTA or SOTA activations. This thing is so much smaller than my laptop and with it running on the same battery as my radio, it is a winner for me.
Thanks to Cale from HamRadio 360 for some of his recommendations on hardware. I hope this was a big help and a motivator for other hams out there. A great winter project and a lot of fun. If you have a questions or comments, please let me know.
Below is a list of all the parts I used in my project:
- Raspberry Pi 3 Model B
- SanDisk Ultra 32GB microSDHC Card
- Raspberry Pi 7″ Touchscreen Display
- Smarticase Case for Official Raspberry Pi 7″ Display
- DROK USB Voltage Converter
- Aonsen Micro USB Cable – 3 Pack
- Generic Sinddy DC Power Pigtail
- Plugable Full-size Bluetooth Folding Keyboard
- DS3231 Real Time Clock Module