Latest Posts

More on Single Board Computers


Mike Richards G4WNC continues his explanation of how to run data modes software


Mike Richards G4WNC continues his explanation of how to run data modes software on any one of three popular single board computers.



This month I’m continuing my look at SBCs (Single Board Computers) for data modes by covering the fastest of them all, the Odroid XU4. I’ll also show you how to add CAT control to your SBC-based data modes system.


WSJT-X on the Odroid XU4

You will have seen from last month that the Odroid XU4 is a very powerful SBC featuring twin quad-core processors with fast memory and GPU. The combination provides two USB 3.0 ports along with full Gigabit ethernet, making it one of the fastest SBCs around. The manufacturer’s support for this board is also good and I found that their Ubuntu Mate 16.04.4 LTS distribution worked well with data modes software. I did try the later Ubuntu 18.04 but ran into several tricky dependency problems so decided to stick with v16.04. You can find the latest OS distributions via their Wiki at:

  1. From the Wiki download URL, select Linux, then the Upstream Release and choose the most recent full release (avoid the minimal options). You will be presented with a long list of OS image files that are ordered by date with the oldest at the bottom. Scroll down to the bottom and you’re looking for mate-odroid-ux4 in the name and you want the file ending in img.xz (not img.xz.md5sum).
  2. Once you have the file downloaded on your PC, use Etcher (URL below) to burn an 8GB or 16GB class 10 microSD card. NB: You don’t need to unzip the file because Etcher does that for you behind the scenes.

  1. When the microSD card has been written and verified by Etcher, you can install it in your Odroid XU4. The card location is a bit tricky but be sure to insert it with the contacts down towards the PCB, Fig. 1.
  2. Connect a monitor, keyboard, mouse and power up the XU4.
  3. You will see a logon screen and it will shut-down. Press the reset button to reboot and when the login screen appears again, sign in with odroid/odroid.
  4. When you are logged in, the first job is to get the latest updates. Go to the Applications menu and select System Tools – MATE Terminal and enter the following command:

sudo apt  update && sudo apt -y upgrade

If you get a lock error, just reboot the XU4 and try again.

  1. This will take a while and may complete with a warning that boot.ini has changed – just press Enter to confirm and the upgrade will conclude.
  2. At this point it’s worth running a few of the pre-installed programs to make sure everything’s working correctly.

Installing WSJT-X is now very simple as follows:

  1. Begin by entering the following into a terminal session to install the WSJT-X prerequisites:
    1. sudo apt install libqt5multimedia5-plugins libqt5serialport5 libfftw3-single3
  2. Next, download the WSJT-X ARM v6 binary file from the bottom of this page:

  1. When the download completes, change to the Downloads directory by entering:
    1. cd ~/Downloads
  2.  To install WSJT-X enter the following:
    1. sudo dpkg -i wsjtx_1.9.1_armhf.deb (NB: Change the revision number to match the downloaded version)
  3. On completion, you will find WSJT-X in the Applications menu under Sound & Video.
  4. Connect your USB soundcard and open WSJT-X.
  5. Go to the File menu – Settings – General tab and enter your callsign/locator.
  6. Go to the Audio tab and select the entries that begin: alsa_input.usb and alsa_output.usb, Fig. 2.
  7. You will need to be able to control the input and output levels and the simplest method is to put a link to the alsa sound controls on the desktop. To create the link, go to the menu System – Control Centre, find the Sound icon and left click/hold and drag the icon to the desktop and release the mouse. Now you can use this shortcut to quickly access the audio levels.
  8. To configure the sound in the volume control, click the Input tab and select USB Audio Device Analog Mono. Move to the Output tab and select USB Audio Device Analog Stereo, Fig. 3.

That completes WSJT-X installation for the Odroid XU-4 SBC and, once the audio levels are set and you’ve entered your personal details, you should be able to get on the air. Please remember that the WSJT modes are primarily weak signal modes so you should always use the minimum power necessary to make the contact. I normally operate at 5W into my Butternut HF9V multiband vertical antenna.

Content continues after advertisements


Adding Computer Aided Transceiver (CAT) Support

While it’s quite possible to operate many data modes using only audio in/out connections and VOX, linking your computer to the rig brings some useful benefits. The most obvious comes from linking the frequency setting in the data modes software with the rig’s tuning. This enables you to control your operating frequency from your data modes software. Most systems also allow simultaneous frequency setting on both the rig and the data modes software. I find this particularly useful because you can do most of the frequency selection in software but still use the rig’s rotary control for fine tuning. The CAT control software regularly polls the receiver to keep the rig and software settings in sync. Another important benefit from CAT control is that any associated logging program automatically receives the correct operating frequency.


Making the Connection

The first step in CAT control is making the communication link between your rig and the computer and the simplest solution is to use a commercial USB rig interface unit. There are plenty of these on the market and the RIGblaster range is a popular choice. Some rigs, notably the Elad FDM-DUO, have a dedicated USB port for CAT control. In that case, you only need a standard USB cable to connect the CAT port to the SBC’s USB port. However, it’s quite easy to make your own interface because most rigs employ a simple serial interface with just three lines: transmit and receive data plus ground. The communications link is loosely based on the old RS-232 serial communications standard. The main variations are in the voltage levels and format of the transmitted data. As a result, you need an interface that’s specific to your rig model.

In addition to providing the appropriate plugs for connecting to your rig, the interface unit or cable usually needs some form of level translation circuitry and a USB chip to format the data for transmission over USB. Once in the computer we want the USB data from the rig to look like a standard serial COM port. This conversion is done using a dedicated USB interface chip, which is often mounted inside the USB plug and takes its power from the USB socket. The FTDI manufactured chipset is by far the most common and uses standard Windows and Linux drivers that are automatically loaded when the interface is plugged in.

It’s perfectly feasible to make your own CAT cable and a good starting point is one of the many ready-made USB-to-serial adapter cables that are available from most component suppliers for around £15. These come in many formats, some with a standard D connector or just wire ends but those using the FTDI chipset are the easiest to interface. You will also find that some provide extra control lines but, for a simple interface, you only need the Txd (Transmit Data), Rxd (Receive data) and ground connections. The original RS-232 standard used signalling voltages of up to ±25V, although the highest signalling voltage you are likely to see from your rig is the 13.8V supply. Choosing the right lead is simply a case of knowing the signal levels used by your rig.

The FTDI USB to serial cables are available in three basic formats: RS232 to USB, TTL-232 to USB and 3.3v-232 to USB. As you can probably guess by the names, the working voltage is the main difference between the models. The RS232 to USB model is the more expensive because it can handle full RS-232 signalling voltages of ±25V, whereas the other two models are limited to 5V (TTL) and 3.3V respectively. When using an FTDI cable, the interface can be as simple as wiring the USB cable to the appropriate pin on your rig’s connector but it’s worth Googling CAT control for your rig so you can see what others have done.

The most common modification from the basic lead I’ve described is to add electrical isolation between the rig and the SBC to reduce the transfer of computer noise. To see the full benefit of isolation you will also need to isolate the audio lines. The simplest way to do this is with miniature line transformers. A good example is the SM-LP-5001E device from Bourns because it has a flat response from 200Hz to 4kHz, 2dB insertion loss and costs around £2 each in small quantities. Isolating the data connection is slightly more complex and often done using an opto-isolator device such as the 4N25. These opto-isolators have an IR photo diode on the input side and an IR sensitive photo-transistor on the output, Fig. 4. I’ve shown a typical circuit for isolating a data line in Fig. 5. The 4N25 in this circuit is good for baud rates up to 38,400 but at higher speeds, the distortion increases rapidly, Fig. 6. If you want to control the PTT line of your rig, you will need a serial converter cable that includes the RTS and DTR lines. An example of this can be seen in RS Components part No. 741-7076.


Configuring Data Modes Software for CAT

All three of the SBCs I’ve covered in this article use Linux as the OS (Operating System), so the configuration is similar. When a serial-to-USB converter is plugged into the SBC, the device is automatically enumerated as a tty (serial) device. To set up your data modes software for CAT control, you need to enter the tty device name. That name is easily found by entering the following command in a terminal session: ls /dev/ttyUSB*. If you have a single USB serial device connected, the result will be: /dev/ttyUSB0. For WXJT-X, setting up the CAT interface is simple because the Hamlib control software is installed automatically. To set the CAT control, first plug in the serial cable before you open WSJT-X. This is necessary because the software reads the list of available devices during start-up and doesn’t refresh the list if a device is added later.

  1. Open File – Settings – Radio and select your rig, Fig. 7.
  2. In the CAT control section under Serial Port, select your serial port, for example /dev/ttyUSB0
  3. Set the baud rate, data bits, stop bits, handshake and control lines to match the requirements of your rig.
  4. Press the Test CAT button. This tests the communication link and will turn green if all is well.

That completes the configuration and you should find that you have control of your rig from within WSJT-X. If you want to include hardware PTT switching you will need to use a serial lead that gives access to the DTR and RTS line. You will also need to configure their action in the Settings – Radio section of WSJT-X.


This article was featured in the September 2018 issue of Practical Wireless