Getting Started with K1JT modes using Direct Interoperation Between DXLab and WSJT-X
Note: the functionality described below requires WSJT-X version 2.1.2 or later
WSJT-X uses a soundcard connected to your transceiver to implement communication protocols called K1JT modes: FST4, FT4, FT8, JT4, JT9, JT65, JT9, MSK144, Q65, QRA64, and WSPR. These K1JT modes were all designed for making reliable, confirmed QSOs under extreme weak-signal conditions.
SpotCollector can connect to up to 16 instances of WSJT-X, orchestrating the realtime interoperation between those instances of WSJT-X and your DXLab applications by creating and updating Spot Database Entries, directing DXKeeper, DXView, and Pathfinder to perform lookup operations, and routing logged QSOs to DXKeeper.
The instance of WSJT-X running on the same computer as SpotCollector and Commander is referred to as the local WSJT-X instance, and must not be started with a --rig-name parameter.
Additional instances of WSJT-X running on network-connected computers are referred to as network-connected WSJT-X instances, each started with a unique --rig-name parameter and configured to monitor a K1JT mode on one band.
When connected to one or more instances of WSJT-X as a spot source, SpotCollector will create a new Spot Database Entry for station X when, assuming all other Spot Database Entry creation criteria are met, when
WSJT-X decodes station X, and reports its computed Signal-to-Noise Ratio (SNR) - meaning that your instance of WSJT-X is copying station X
WSJT-X decodes station Y calling station X with an SNR - meaning that station Y is copying station X
The new Spot Database Entry's Network field will be set to WSJTX.
When WSJT-X decoding station X results in the creation of a new Spot Database Entry, the new Entry's Source field will be set to your callsign. When WSJT-X decoding station Y calling station X results in the creation of a new Spot Database Entry, the new Entry's Source field will be set to Y.
Three Spot Database Fields are used to record the most recent, lowest, and highest SNR computed and reported by WSJT-X for each station:
Name
Contents
ActualSNR
the most recent SNR reported by WSJT-X for this Entry's station
ActualSNRMin
the lowest SNR reported by WSJT-X for this Entry's station
ActualSNRMax
the highest SNR reported by WSJT-X for this Entry's station
SpotCollector will update existing Spot Database Entries with new SNR and grid square information reported by WSJT-X; Network and Source fields will also be updated. Note that the "WSJT-X decodes station Y calling station X with an SNR" scenario does not update the Spot Database Entry for station X with an SNR, as the reported SNR is computed and reported by station Y, not by your instance of WSJT-X.
When a Spot Database Entry is created with no SNR is available - either the station is operating in a K1JT mode but hasn't yet been decoded by your instance of WSJT-X, or because the station isn't operating in a K1JT mode - ActualSNR, ActualSNRMin, and ActualSNRMax fields are set to -9999, which are shown as blank in the Spot Database Display; this is illustrated by the fourth row of the Spot Database Display in the screenshot below, where WSJT-X decoded a report of HK3UA by CT7AIU, but has not decoded CT7AIU.
Filtering the Spot Database Display
With SpotCollector connected to the local WSJT-X instance, you can filter the Spot Database Display to show only active stations operating in the mode currently selected in that local WSJT-X instance by using the SQL expression
MODE='<WSJTXMODE>'
By default, the Spot Database Display will include all active stations reported by instances of WSJT-X: those it directly decodes, and those reported with an SNR by stations it decodes.
To show only active stations operating in the mode currently selected in the local WSJT-X instance that have been decoded by that instance, use the SQL expression
(MODE='<WSJTXMODE>') and (ACTUALSNR<>-9999)
To show only active stations conforming to the Band, Mode, Continent, Origin, Age, LoTW, and eQSL filters that either aren't operating in the mode currently selected in the local WSJT-X instance, or have been decoded by that instance, use the SQL expression
<STANDARDFILTER> and ((MODE<>'<WSJTXMODE>') or ((MODE='<WSJTXMODE>') and (ACTUALSNR<>-9999)))
To show only active stations with whom a QSO would advance your award progress that to the Band, Mode, Continent, Origin, Age, LoTW, and eQSL filters and that either aren't operating in the mode currently selected in the local WSJT-X instance, or have been decoded by that instance, use the SQL expression
<NEEDFILTER> and ((MODE<>'<WSJTXMODE>') or ((MODE='<WSJTXMODE>') and (ACTUALSNR<>-9999)))
Color-coding Callsigns in the WSJT-X Band Activity Panel
With the same font colors and background colors used in the Spot Database Display, SpotCollector colors the text and backgrounds of callsigns that appear in the WSJT-X Main window's Band Activity panel based to indicate award need (DXCC, IOTA, Leaderboard, Marathon, VUCC, WAS, WAZ, WPX) and eQSL/LoTW participation. You can optionally specify the colors used to display CQs and your callsign in the WSJT-X Main window's Band Activity panel by checking the CQ color and MyCall color boxes respectively in the WSJT-X panel on the Spot Sources tab of SpotCollector's Configuration window; to modify either color, click in the colored rectangle to the right of the checkbox.
Directing DXKeeper, DXView, and Pathfinder to Perform Lookup Operations
When a new DX Call is selected or specified in an instance of WSJT-X,
DXKeeper, if running, can be directed to filter its Log Page Display to contain all previous QSOs with the new DX Call
DXView, if running, can be directed to display location information about the new DX Call
Pathfinder, if running, can be directed to seek QSL information for the new DX Call using the search you have designated as automatic,
All three of the above functions are enabled by checking the Lookup box in the WSJT-X panel on the Configuration window's Spot Sources tab.
Selecting a Spot Database Entry
With SpotCollector connected to at least one instance of WSJT-X and DXKeeper running, double-clicking a Spot Database Entrywhose Mode field is a K1JT mode (FST4, FT4, FT8, JT4, JT9, JT65, JT9, MSK144, Q65, QRA64, and WSPR) for which the sub-band definition file contains an entry for that K1JT mode will do the following:
If SpotCollector is connected to a network-connected WSJT-X instance whose band and K1JT mode match those of the double-clicked Spot Database Entry, the Entry's Callsign and DX Grid information will be conveyed to that instance of of WSJT-X, which will populate its DX Call and DX Grid boxes, and invoke its Generate Std Msgs function
If SpotCollector is not connected to a network-connected WSJT-X instance whose current band and K1JT mode match those of the double-clicked Spot Database Entry,
the Entry's Callsign, K1JT Mode, and DX Grid will be conveyed to the local WSJT-X instance, which will populate its DX Call and DX Grid boxes, switch to the Entry's K1JT mode, and invoke its Generate Std Msgs function
if a sub-band for the Spot Database Entry's band and K1JT mode is defined and the Entry's frequency lies within that sub-band, Commander will be directed to
- set the transceiver's frequency to bottom of that sub-band
set the transceiver's mode to that specified in the Transceiver mode for WSJT-X panel on the Configuration window's General tab
if a sub-band for the Spot Database Entry's band and K1JT mode is defined and the Entry's frequency does not lie within that sub-band, Commander will be directed to
- set the transceiver's frequency to the the Entry's frequency with any fraction of a kilohertz removed
set the transceiver's mode to that specified in the Transceiver mode for WSJT-X panel on the Configuration window's General tab
Logging QSOs to DXKeeper
With SpotCollector connected to one or more instances of WSJT-X, when you direct an instance of WSJT-X to log a QSO, the information captured in that instance's Log QSO window is routed to DXKeeper, which augments it with
Antenna Azimuth and Antenna Path information reported by DXView (or computed as a the great circle short path the station's grid square if DXView isn't running, or isn't controlling an antenna rotator, or hasn't sent a rotate to azimuth directive to the rotator it controls)
Distance, computed from the logged station's grid square and your grid square
SFI, A-index, and K-index, reported by SpotCollector
information from an Override for the callsign
the results of DXKeeper's callbook lookup (if enabled)
- defaults
myQTH ID from the Log Settings panel on the Logtab of DXKeeper's Configuration window
Operator from the Defaults tab of DXKeeper's Configuration window
Owner from the Defaults tab of DXKeeper's Configuration window
Satellite Name from the Defaults tab of DXKeeper's Configuration window
Satellite Mode from the Defaults tab of DXKeeper's Configuration window
Propagation Mode from the Defaults tab of DXKeeper's Configuration window
MS Shower from the Defaults tab of DXKeeper's Configuration window
and then directs DXKeeper to log the QSO, with the option to upload the logged QSO to ClubLog, eQSL, and/or LoTW.
Note: after unsuccessfully pursuing a QSO, strike the ESC or F4 key to ensure that the WSJT-X Log QSOs window proposes an accurate start time for the next QSO.
Installation and Configuration
Computer Clock Synchronization
Operation in the FT4 and FT8 requires your computer clock to be accurate.
- better than ±500 ms for FT4 mode
- better than ±1 s for FT8 mode
See the WSJT-X User Guide for recommended applications that will automatically keep your computer's clock accurate.
Installing and Configuring WSJT-X as the Local WSJT-X Instance
The instance of Commander running on the same computer as SpotCollector is referred to as the local Commander instance.
The instance of WSJT-X running on the same computer as SpotCollector and the local Commander instance is referred to as the local WSJT-X instance. It must not be started with a --rig-name parameter.
The latest WSJT-X installation file is available via https://sourceforge.net/projects/wsjt/
Open the Settings window by selecting the File menu's Settings... tab
On the Settings window's General tab
In the Station Details panel,
Set My Call to your callsign
Set My Grid to your six-character grid square
Select your IARU Region
In the Display panel,
Check the Blank line between decoding periods box
Check the Tx messages to Rx frequency window box
On the Settings window's Radio tab
In the Rig dropdown menu, select DXLab Suite Commander
- This setting enables WSJT-X to control your radio via a TCP connection to Commander, rather than via a serial port, or via a virtual serial port created by a USB connection.
If you leave the the CAT Control panel's Network Server box empty, WSJT-X will assume that Commander is hosted on the same computer and is listening to its default TCP port (52002). If Commander is listening to a TCP port other than 52002, then specify the port TCP Commander is using in the CAT Control panel's Network Server box in one of these three formats:
- hostname:port
- ipv4-address:port
- [ipv6-address]:port
Set the Poll Interval to 1 second
Set the PTT Method panel to CAT (in this context, PTT refers to switching the radio between reception and transmission)
Alternatively, if you have a separate COM port connected to a device with PTT capability triggered by the assertion of the port's DTR or RTS modem control signal, you can configure WSJT-X to use it, as doing so will provide more accurate PTT timing. If you choose this approach, however, don't configure Commander to use the same COM port for PTT, as WSJT-X would then be denied access to the COM port.
If Commander cannot switch your radio between reception and transmission, then consider an alternate selection for PTT method, e.g. VOX.
In the Mode panel, select the transceiver mode that is appropriate for your radio:
If your radio provides a DATA mode, choose Data/Pkt
If your radio doesn't provide a DATA mode, choose USB
if WSJT-X displays the error message Rig failure - DX Lab Suite Commander sent an unrecognized mode, that means your radio doesn't provide a DATA mode, choose USB
In the Split Operation panel, select Rig. If WSJT-X reports a Rig Control Error when attempting to transmit, change this setting to Fake it.
- Test WSJT-X's interaction with Commander (which must be running)
Click the Test CAT button; it should turn green after a few seconds to indicate that WSJT-X is correctly interacting with Commander
Click the Test PTT button and confirm that your radio switches from receiving to transmitting; click the Test PTT button again and confirm that your radio switches back to receiving
On the Settings window's Audio tab
In the Soundcard panel, select the appropriate soundcard Input and Output sections
You may need to adjust levels in Windows audio settings for best operation. The WSJT-X documentation describes how to do this. The best settings may not be optimal for !Winwarbler operation so you may have to find a compromise that works for both.
In the Remember power settings by band panel, check the Transmit and Tune boxes
On the Settings window's Reporting tab
In the Logging panel, check the Prompt me to Log QSO box
In the UDP Server panel
If SpotCollector is hosted on the same computer as WSJT-X, set the UDP Server box to 127.0.0.1; otherwise, set the UDP Server box to the IP address of the computer that is hosting SpotCollector, and configure the firewall on that computer to accept incoming UDP messages on port 2237
Set the UDP Server port number to 2237
Check the Accept UDP requests box
In the Secondary UDP Server (deprecated) panel, uncheck the Enable logged contact ADIF broadcast box
On the Settings window's Frequencies tab,
Set the Frequency Calibration panel's Slope and Intercept to 0
Set the Offset to 0 in any entries in the Station Information panel
In the Settings window's Colors tab's Decode Highlighting panel,
Check the My Call in message box (at the top)
Check the Transmitted message box (at the bottom)
- Uncheck all other boxes
If you're using Windows 10, configure Windows to enable Let apps use my microphone in its Settings window's Privacy section's Microphone sub-section. If this option is disabled, applications will be prevented from using any audio device.
Installing and Configuring Additional WSJT-X Instances
Only one instance of Commander is permitted to run on a computer. Thus you should deploy WSJT-X instances in this order:
Install the first WSJT-X instance on the computer on which SpotCollector and the local Commander instance are running; this is referred to as the local WSJT-X instance instance; it must not be started with a --rig-name parameter.
You can install additional WSJT-X instances on the computer on which SpotCollector and the local Commander instance are running
- these WSJT-X instances must directly control their associated transceivers, as opposed to using Commander for CAT Control:
in step 4a of Installing and Configuring WSJT-X as the Local WSJT-X Instance above, set the Rig selector on the WSJT-X Settings window's Radio tab to your transceiver's model
configure the Serial Port Parameters and PTT Method panels on the WSJT-X Settings window's Radio tab for direct control of the associated transceiver
- these WSJT-X instances must be
started with a unique --rig-name parameter, as described in the WSJT-X User Manual
configured to monitor a K1JT mode on one band.
- these WSJT-X instances must directly control their associated transceivers, as opposed to using Commander for CAT Control:
You can install Commander and a network-connected WSJT-X instance on a computer that is network-connected to the computer on which SpotCollector and the local Commander instance are running that uses Commander for CAT control. Such WSJT-X instances must be
started with a unique --rig-name parameter, as described in the WSJT-X User Manual
configured to monitor a K1JT mode on one band
You can install additional network-connected WSJT-X instances on each computer:
these network-connected WSJT-X instances must directly control their associated transceivers, as opposed to using Commander for CAT Control:
in step 4a of Installing and Configuring WSJT-X as the Local WSJT-X Instance above, set the Rig selector on the WSJT-X Settings window's Radio tab to your transceiver's model
configure the Serial Port Parameters and PTT Method panels on the WSJT-X Settings window's Radio tab for direct control of the associated transceiver
these network-connected WSJT-X instances must be
started with a unique --rig-name parameter, as described in the WSJT-X User Manual
configured to monitor a K1JT mode on one band
Configuring Commander
On the Configuration window's General tab, click the Net Server button on the right edge of the tab to display Commmander's Network Service window.
In Commander's Network Service window, set the TCP Network Service panel's Base Port to the default 52000; if you specify a different Base Port value, update the WSJT-X settings, as described in step 4a of Installing and Configuring WSJT-X as the Local WSJT-X Instance above.
Optimize Commander's responsiveness to directives from WSJT-X by reducing its Command Interval setting to the minimum value that supports accurate tracking of frequency and mode changes made from the transceiver's front panel. 25 ms is an appropriate Command Interval for most modern transceivers connected to your computer via a COM port configured for 9600 baud or faster. Older transceivers may require larger Command Intervals; if Commander does not accurately track of frequency and mode changes made from the transceiver's front panel, double the Command Interval.
Configuring SpotCollector
On the Configuration window's General tab,
set the to Transceiver mode for WSJT-X panel to match your choice of mode in step 4.d of the Configuring WSJT-X section above
select a Sub-band Definition file that defines sub-bands for the K1JT modes you'll be using; the file BandModes 2022-12-06.txt in your SpotCollector folder defines sub-bands for many K1JT modes
in the Network Service panel, set the Base Port to 52000
On the Configuration window's Spot Database tab, set the Combination Criteria panel's Maximum separation in frequency (kHz) to 3
In the Layout panel on the Configuration window's Spot Database Display tab
If you are pursuing awards based on primary administrative subdivisions (e.g. US States, Canadian Provinces, Russian Oblasts), add a column to the Spot Database Display for the Primary field
To see the SNR most recently decoded by WSJT-X, add a column to the Spot Database Display for the ActualSNR field
To see the smallest and largest SNRs decoded by WSJT-X, add columns to the Spot Database Display for the ActualSNRMin and ActualSNRMax fields, respectively
In the WSJT-X panel on the Configuration window's Spot Sources tab
Check the CQ color box. By default, CQs in the WSJT-X window's Band Activity panel will be colored emerald green; to change the color, click in the emerald green box.
Check the MyCall color box. By default, your callsign in the WSJT-X window's Band Activity panel will be colored purple; to change the color, click in the purple box.
Set the Port to 2237
Check the Callbook box if you want DXKeeper to augment the information logged with a QSO to include the results of a Callbook lookup
Check the Lookup box if you want DXKeeper, DXView, and Pathfinder to be directed to perform lookup operations when a new DX Call is selected or specified on the WSJT-X Main window
Check the eQSL, LoTW,ClubLog, and/or QRZ boxes to enable automatic uploading of logged QSOs
Check the Enable box; if WSJT-X is running, the right-most LED-like display in the Spot source status panel at the top of SpotCollector's Main window should change from red to yellow (meaning connecting to WSJT-X) and then to green (meaning connected to WSJT-X)
Configuring DXKeeper Before an Operating Session
On the Defaults tab of DXKeeper's Configuration window,
Specify a default Operator callsign to be logged with the QSOs you are about to make
Specify a default Propagation mode that you expect will be used in most of the QSOs you are about to make
Clear the Satellite name and Satellite mode boxes unless you will be making QSOs via a satellite
Clear the Meteor shower box unless you will be making QSOs via meteor scatter during a specific meteor shower
If desired, specify a Default QSL Message
In the Log Settings panel on the Log tab of DXKeeper's Configuration window, specify the Default myQTH ID to be logged with the QSOs you are about to make
Starting an Instance of WSJT-X
SpotCollector will accept connections from up to 16 instances of WSJT-X. If more than one instance of WSJT-X is running on the same computer, each instance other on that computer other than the local WSJT-X instance must have a distinct ID; this can be accomplished by specifying a unique rig name in a command line used to start WSJT-X, for example:
wsjtx --rig-name=IC7800
The specified ID will appear in the WSJT-X window's caption:
Limitations
JT-Alert and SpotCollector cannot be simultaneously connected to the same instance of WSJT-X via the same UDP address and port; if you wish to use JT-Alert,
uncheck the Enable box in the WSJT-X panel on SpotCollector's Configuration window's Spot Sources tab
- start JT-Alert.
SpotCollector will accept connections from up to 16 instances of WSJT-X
- WSJT-X logs a single frequency for each QSO; it does not record both TX and RX frequencies.
- The contest exchange information logged by WSJT-X is not yet documented; DXKeeper is unlikely to generate correct Cabrillo from QSOs logged by WSJT-X.
With SpotCollector connected to WSJT-X,
double-clicking a Spot Database Entry whose Mode field specifies JT65, JT65A, JT65B, JT65B2, JT65C, or JT65C will not change the mode in WSJT-X, or set the DX Callsign in WSJT-X.
double-clicking a Spot Database Entry for which no sub-band is defined for the Entry's Mode within the Entry's band will result in no change of transceiver frequency or mode.
Additional Topics
Using WSJT-X with Commander and a Flex-6000 Series Transceiver
Configuring WSJT-X Running on a MAC to Use Commander Running on Parallels for Transceiver Control
Getting Started with K1JT modes using WSJT-X, JTAlert, and DXLab
Post a question or suggestion on the DXLab Discussion Group