Monday, 23 December 2024

JS8Call HF/SSB Chat

 Hi everyone,

This is a technical post!

JS8call is a popular Amateur Radio software application providing “keyboard to keyboard chat” over HF/SSB.  It was created by Jordan Sherer, KN4CRD, initially in 2018 and for general use in 2020.  It now has pseudo-standard frequency ranges in most MF/HF Amateur bands.  In addition to chat it supports transmission of position reports, short emails and SMSs.  It also supports message relaying.  It supports multiple concurrent chats in a single 3kHz “channel”.

Chatting to a Ham station 2500nm away on 25W

JS8call was written primarily for licenced Amateur operators.  However the app allows use of non-Amateur callsigns and frequencies.  So HF/SSB-equipped bluewater cruisers with Marine HF/SSB equipment and licenses can use the app.  The range of JS8 far exceeds that of voice HF/SSB, and at much lower transmit power levels.

To learn about JS8call, RTFM (Read The Fine Manual) downloadable here.  Note that JS8call is the app and JS8 is the Jordan Sherer-designed 8-FSK modulation scheme.  Both are designed for use in weak signal propagation conditions.

The section below describes our JS8call setup.  The subsequent section describes potential use of JS8call in Marine Bands, allowing non-Amateur operators to use JS8call.

Setup

Setting up JS8call is very simple with a modern Amateur HF/SSB rig.  These rigs include USB sound cards and serial ports.  The only tricky part is setting audio levels on computer and HF/SSB.  Marine HF/SSB rigs lack the integrated sound card.  See the Marine Bands Use section.

But first take a look at Jordan's Getting Started page here.  I filled in the JS8call Settings pages as below.  You will need to modify for your station-specific information (most importantly callsign and location) and preferences.

General/Station Settings

Set your marine callsign and your location!  Location is defined in an Amateur-standard format called Maidenhead Grid Locator/Square.  See the Marine Bands Use section below.

General/Behavior Settings

General/Networking&Autoreply

Radio Cat Control Settings

Set these to suit your HF/SSB.

Radio Rig Options Settings

Set these to suit your HF/SSB.

Audio Settings

Set these to suit your computer peripherals (eg sound card & serial cable).


Note that your computer’s and HF/SSB’s audio settings must be setup too.

Reporting Settings


The API allows use of “add on” software for various purposes including reporting.  We don’t currently use the API.

Frequencies Settings

The default frequencies are for Amateur-band use, so do NOT use them without an Amateur license.

Saved Messages Settings

These messages provide a quick and easy means of sending common messages.  Most important for us is the @APRSIS message which sends our position into the APRS network, ending up at www.aprs.fi.

Notifications Settings

These settings define events which trigger an audio notification on your computer.

UI Settings

We left these settings at their defaults.

Marine Bands Usage

Use of JS8 on Marine MF/HF channels is NOT formally approved.  However an array of 3kHz channels are defined for fax, data and other special transmissions.  Their use with JS8 appears legitimate.

What is needed is agreement in the cruiser community on which of the several channels in each marine band should be the default.  Some are used for other purposes which we should not disrupt.  As with voice channels, check if the channel’s busy before transmitting.

Here’s an image showing a subset of the 8MHz Marine Band Fax/Data/Special channels.  Three of them were in use, and not for JS8.  So care is required.

Several fax/data/special channels in use
(and not for JS8)

Interfacing

This is the toughest part of using JS8call.  Cables are needed and they are probably not commercially available.  They are not difficult to make but require careful research of which HF/SSB connector pins to use.  Fundamentally, three connections are required:

* PTT (push to talk) from computer to HF/SSB
* Tx Audio from computer to HF/SSB
* Rx Audio from HF/SSB to computer

Here's a home-made cable for an Icom IC-M710.  It connects a USB Sound Card to the HF/SSB's Remote jack.

Partial cable harness for Icom IC-M710

Position

Current position is necessary when using JS8call.  Other stations need to know your location to judge their performance.  Position is entered using a Maidenhead Grid Square string.  Programs exist to convert between latitude:longitude and Grid.

I use a python script to do the translation.  It connects to our boat’s WiFi hotspot which carries NMEA0183 data including position.  It samples the position and converts it to Grid, displaying it on screen, as below.

Running the Script

Heartbeats

Heartbeats are JS8call’s mechanism for stations to check how well their transmissions are working.  Sending a HB should elicit a set of replies from stations, with each giving the SNR (Signal to Noise Ratio) of your signal at their location.  These are very useful in judging which band is working best at any given time.

To send a Heartbeat simply click on the HB button and wait a few seconds for the transmission to occur.

Group Calling

JS8chat supports a range of groups.  They provide a means of ‘focussing’ your calls.  For marine use the @MM group (for Maritime Mobile) is suggested.  Other alternatives are the standard regional groups such as @DX/OC (for Long Distance, Oceana).

After transmitting a group call you may get a response.  You can then start to chat with that station directly.

Chat

JS8chat calls this “direct messaging”, meaning one station sends a message specifically to another.  All stations can read all direct messages in the channel/band they’re tuned to.  Direct messages are the way to ‘chat’ between stations.

In addition to looking for stations on the air using a Group Call you can directly call a specific station by typing in their callsign and clicking on the SEND button.

Direct messages are not quick.  Think SLOW keyboard!  But they are reliable and effective at long range.  Think about your messages and keep them short.  This ain’t WhatsApp!

Position Reporting

JS8call supports several position reporting methods.  We use APRSIS in which numerous Amateur shore stations monitor JS8 and forward @APRSIS messages via the internet to aprs.fi  This allows anyone to view your position reports.  We maintain this as a backup to our satellite-based Starlink and Zoleo Messenger.

JS8chat position reporting is only available to licensed amateurs since the monitoring stations are on Amateur bands.

Power

We generally use 25W transmit power when bluewater cruising.  When in coastal waters we often reduce this to 10W.  In contrast we use 50W on voice channels.  We usually get 2-4x the range with JS8 compared to voice.

The IC-7300 screenshot below shows a well-formed JS8 transmission.  Note the nice ’tight’ signal and high peak.  If your signal is broad and low your audio levels are poor or (in the case of IC-7300s) you have set your Rig Options => Mode to USB instead of Data/Pkt.

Good Tx Signal


This post has briefly summarised JS8Call.  It is a very capable app.  RTFM to learn more!

Overall we find JS8call a very useful tool.  We have run it on MacOS and on Windows (both natively).  I am a licensed Amateur.  It would be great to be able to chat with non-Amateur bluewater cruisers on Marine Bands while on passage.

No comments:

Post a Comment