Saturday, 7 July 2018

GPredict - Radio Control FT991A (via RigCtld)

G'Day Guys,

Since getting hooked on monitoring ARISS and other satellites (aka "birds") I quickly discovered several bits of software for predicting the satellite pass and ability to control your radio to account for doppler shift in both the uplink and downlink frequencies.

The bit of software I've quickly come to enjoy is called GPredict for the following reasons:
  • Easy to Use
  • Available for multiple platforms
  • Computes and visualises multiple satellites passes
  • Ability to control radio to account for doppler shift
  • Ability to control antenna azimuth and elevation for controlling the antenna beam direction and tracking the satellite as we go from AOS to LOS
I downloaded the binary for windows and within a few minutes I had downloaded the latest  TLE and Transponder data from the internet. Out of the box it comes with a simple module with a few satellites that amateur operators can monitor and make contact through.

Next was to have GPredict control the radio uplink and downlink to account for doppler shift.  GPredict can be configured to update the TX/RX frequencies of the rig via sending "Rig Control" commands to a "Rig Control Daemon". By heading over to Rigctld you will find instruction on Downloading and compiling the Rigctrld code. However I took the easy path and downloaded the latest Windows Platform binaries.   There is further good information found at the "Hamlib Rigctld FAQ"

After downloading the binaries and installing (making sure the PATH was pointing to the bin folder) I was ready to start up an instance of RigCtld using the following command with the appropriate serial settings that suit my setup:

rigctld.exe -vvvvv -r \\.\com11 -m 135 -s 38400 -t 4532 -C "serial_speed=38400,stop_bits=2,rts_state=ON,dtr_state=OFF,serial_handshake=None"

!! Important Note!! when using COM PORTs above COM9 you can no longer use the syntax "-r COM10" but instead to "-r \\.\com11" as you can see I did. 

To test the ability to control the rig we can use the "rigclt" command line tool. The following example will query the rig to determine what "MODE" VFO A is in:

rigctl.exe -m 2 -r localhost:4532 m

Before we move on, one of the little limitation / feature lack of GPredict is when you select the different "transponder" to monitor and have GPredict track it only tracks the up and downlink frequencies. It DOES NOT automatically select / change the rig modes for both RX and TX.

To overcome this I created 3 simple commands which I run as needed to changes the modes quickly:

# For Voice
rigctl.exe -m 2 -r localhost:4532 M USB 0 X LSB 0
rigctl.exe -m 2 -r localhost:4532 M FM 0 X FM 0
rigctl.exe -m 2 -r localhost:4532 M USB 0 X USB 0

# For Digital Mode (ie APRS, etc)
rigctl.exe -m 2 -r localhost:4532 M PKTUSB 0 X PKTLSB 0
rigctl.exe -m 2 -r localhost:4532 M PKTFM 0 X PKTFM 0
rigctl.exe -m 2 -r localhost:4532 M PKTUSB 0 X PKTUSB 0

You will need to research the transponder for the requires mode on both up/downlink. But for the 1st command you can see I set the uplink to LSB and downlink to USB. This is for those linear transponders that each you to operation in this mode.

With RigCtrld now configured and running, we can now add a Interface to integrate with this Rigctrld instance.
  1. GPredict via Edit->Preferences->Interface add new interface and give it appropriate name (ie "FT991A")  
  2. Once saved then via Module "Down Down" Select Radio Control, Select the satellite and the transponder you wish to track.
  3. Then Click on "Track" and "Engage"
  4. You should see the frequencies start to adjust up / down accounting for doppler and be sent to the radio.

That's All Folks!!!!

de VK4TMZ (Mark)


  1. I'm a little confused here, did you create batch files for these commands and just run off your desktop?

    1. I did batch files for starting daemon, changing mode, working fine

  2. Did you try hamlib 4.0, mode change isnt working correct. also CTCSS, even it should work doenst work

  3. Hi Mark, great info, tnx. Just a question, I have replicated your configuration with my FT991A but it doesn't update the VFO b Fequency (my Uplink) with doppler correction. Only VFO A is updated (Downlink). I am using hamlib 64bit version 3.4. What version of hamlib are you using ? Fabio

  4. What interface cable did you use from the 991a to the computer?
    USB to USB or USB to serial DB9?