JS8

The JS8 switch on the Digital tab is keyboard-to-keyboard messaging with JS8 (JS8Call's weak-signal mode, an FT8-style signal that carries free text): call CQ, send a heartbeat, talk to stations you hear, ask for signal reports, all from the browser. It receives and transmits.

How it works (and why it needs an install)

JS8's message coding (a word dictionary and error-correcting tables) cannot be written into this MIT-licensed program, so the JS8 modem is JS8Call-improved, a separate free program (GPL-3.0, from https://github.com/JS8Call-improved/JS8Call-improved). It is not part of Radio Remote: an administrator downloads it from its own release page with a button. It then runs on the Pi without a screen, in its own service, and Radio Remote only talks to it through its documented network interface (on the Pi itself, localhost) and connects its audio to the radio:

First time (administrator)

  1. Open Digital, then JS8. A box says what is missing.
  2. Prepare the system (once): installs a few packages (the libraries JS8Call's toolkit needs even without a screen, and PulseAudio, started only privately for JS8Call) and loads the loopback sound card at every boot. It runs as root through a small helper, takes a few minutes, and its output is shown in the box.
  3. Install JS8Call (once): downloads it (about 60 MB) from its release page and unpacks it into the Pi's data folder.
  4. Set your callsign and grid in the FT settings of the FT8/FT4 screen (JS8 uses the same ones).

Supported: a Raspberry Pi 4 or newer, or a 64-bit Linux PC. The Pi uses about a quarter of one core while JS8 is on.

Using it

Transmit protection

JS8Call only transmits what you ask for: when JS8Call reports that it wants to key the radio, Radio Remote keys it only if you pressed Send a moment ago from a page that is still connected. Anything else (for example JS8Call answering by itself) is stopped at once and reported. As for every transmission you need control of the radio, transmitting must be allowed (safety.allow_ptt), and the transmit time limit, the heartbeat and the release when your page goes away all apply. The radio must be in USB, LSB or a data mode. FreeDV, SSTV, CW and RTTY cannot be used at the same time.

TX level, dB (JS8 settings, administrators) sets the level of JS8Call's audio sent to the radio; its output is at full scale, so the default is -14 dB. Keep the radio's ALC at zero.

Limits