Start with the connection you have and the peers you want to reach. JSQ provides shared service meanings; the waveform and supported services must match at both ends. Explore the transport
FSQ / FSQ Fast
FM / HF · Classic + Fast profiles
FSQ++ is our name for OpenJSQ’s FSQ enhancements: multi-slot conversations, CRC integrity checks, and stronger receive validation. FSQ Fast adds speed using more bandwidth.
Connect
Radio audio interface; modem runs in OpenJSQ.
Work with
Classic FSQ peers including fldigi/FSQCall; Fast needs compatible OpenJSQ support.
Keep in mind
FSQ chat is best effort. Legacy waveform compatibility does not include every JSQ service.
Verified direct chat is available on supported AX1200/JG25 links. Groups and relayed chat use Live. Capability discovery establishes which other services a peer offers. Delivery evidence · Service capabilities
FM / HF
FSQ conversation. More room when you need it.
Classic FSQ-2, FSQ-3, FSQ-4.5 and FSQ-6 preserve ordinary FSQ waveform compatibility, subject to the peer application’s framing and features. Use the conventional 1500 Hz position for fldigi/FSQCall and unknown peers.
Fast profiles are OpenJSQ extensions: wider tone spacing and faster signaling use more audio bandwidth. They need compatible support at both stations. A wider profile is a tradeoff, not a promise of a faster transfer on every path.
FSQ++ · More conversations
OpenJSQ’s multi-slot enhancement lets different stations hold concurrent conversations in separate parts of the passband at classic speeds. Here, FSQ++ names that capability—not a separate waveform.
FSQ Fast · More speed
Faster, wider profiles trade space for speed. Fewer slots fit as bandwidth grows; higher profiles use the whole channel.
Check for corruption on classic and Fast profiles. A CRC checks received data for errors. FSQ protects the sender callsign; OpenJSQ also supports an optional whole-message check. A CRC detects corruption—it does not repair it or prove delivery.
Stronger receive validation
OpenJSQ checks candidate decodes before accepting them as messages, with the aim of reducing false decodes. Uncertain text stays marked unverified; failed validation is kept out of conversations. These receive checks complement multi-slot operation and CRC protection.
Listen across slots. Transmit one signal at a time.
Separate stations can use clear narrow slots within the received audio passband. Wider Fast profiles leave less room for neighboring conversations.
Narrow conversations
OpenJSQ1500 Hz Legacy positionOpenJSQ
Wider Fast profile
More bandwidth for one transmission
Illustrative spacing, not exact frequencies, widths or a fixed slot count; capacity depends on the passband and profile. Each station transmits only one FSQ signal at a time. FSQ-6W can still share; FSQ-12 and higher operate as whole-channel profiles. Profiles and channel courtesy
FSQ text rates, integrity checks and profile details
The optional whole-message CRC is off by default for legacy compatibility: fldigi and FSQCall can display its extra check characters. Sender-callsign protection and whole-message protection cover different data.
Receive validation considers framing and integrity evidence. Checked traffic is eligible for automatic replies; unverified traffic needs operator approval and does not trigger automatic actions. Monitored candidates remain explicitly untrusted, and rejected decodes are excluded from conversations. Receive grades and controls · Decode Inspector
Ordinary lower-case text ranges from about 2 to 41 characters per second across the registered profiles. Capitals, digits and punctuation can take more symbols. These are character-rate estimates, not binary file speeds or measured end-to-end throughput.
FSQ is a single-carrier, constant-envelope, 33-tone waveform using differential incremental frequency-keying (IFK+) coding. The profiles use radio audio for FM / HF operation; the Fast profiles expand both symbol rate and tone spacing by an integer scale factor. FSQ Fast 4
Tones
33, spaced 8.7890625 Hz × the profile scale factor, around a conventional 1500 Hz centre. FSQ Fast 5
Ordinary profiles
FSQ-2, FSQ-3, FSQ-4.5 and FSQ-6. These are the legacy-interoperable set. FSQ Fast 6
OpenJSQ can monitor several FSQ center frequencies inside one SSB passband. Compatibility mode keeps the traditional 1500 Hz slot and places additional OpenJSQ slots around it; unknown or legacy peers stay on 1500 Hz. FSQ-6W is wide enough to reduce the plan to three slots, and the faster profiles use a single whole-channel slot.
Integrity
A cyclic redundancy check (CRC) protects the sender callsign; OpenJSQ can optionally add a whole-message CRC while preserving legacy interoperability by default. FSQ Fast 28
JG25 uses four-tone FSK through the normal microphone and speaker path, including FM emphasis and de-emphasis. It does not assume a flat high-speed data connector.
Choose a supported rate and error-protection setting for your radios and path. Both stations need compatible experimental builds; broader radio qualification remains in progress.
A leaner packet format
Jerome wanted a purpose-built format that leaves behind legacy AX.25 structure, aiming to spend less airtime on overhead and more on messages and files. That is a design goal, not a promise of faster delivery on every path.
Why four tones?
The starting question was simple: 1200-baud AX.25 AFSK uses two tones—could more tones improve speed and reliability? Extensive testing through normal FM microphone and speaker paths, including pre-emphasis and de-emphasis, led to four-tone JG25 as the chosen speed/robustness balance among the designs tested, without requiring a flat 9600-baud data port.
JG25 is a separate on-air format. AX.25 equipment and standard KISS TNCs do not gain JG25 support simply because both modes use FM audio.
JG25 raw rates, calculated payload and FEC
The seven modes run from 1,200 to 2,400 raw bit/s. Dividing by eight gives 150–300 bytes/s before frame overhead with no payload FEC; the half-rate FEC profile reduces that calculated body rate to 75–150 bytes/s. These are not measured file-transfer speeds.
Radio
FM on 2 m or 70 cm; wide (25 kHz) FM is the conservative choice. Operator guide 2
Waveform
Continuous-phase 4-FSK, with two Gray-coded bits per symbol. JG.25 3.1
Modes
JG1200 at 600 baud through JG2400 at 1200 baud, in seven steps. The mode name is the raw bit rate. JG.25 4
FEC
F0 none; F1 about 3/4; F2 about 2/3; F3 1/2, using a convolutional code and soft decoding. JG.25 7
Acquisition
A known preamble and synchronization sequence lets the receiver find the packet; the following header is deliberately slower and more heavily protected than the data body. JG.25 5JG.25 6
Integrity
A CRC-32C integrity check is carried on every frame. JG.25 8
Reliability
JSQ handles acknowledgements and selective repair of missing file blocks, including whole-file SHA-256 verification. JG25 does not add a second automatic-repeat-request (ARQ) layer underneath it. JG25 files
TNC
JG25 runs through computer audio. It does not use a standard AX.25 terminal node controller (TNC) unless that device gains native JG25 support. JG.25 24
Payload bit rate for all seven modes and four FEC profiles. JG.25 4JG.25 7
Mode
Baud
F0
F1 (~3/4)
F2 (~2/3)
F3 (1/2)
JG1200
600
1200
900
800
600
JG1400
700
1400
1050
933
700
JG1600
800
1600
1200
1067
800
JG1800
900
1800
1350
1200
900
JG2000
1000
2000
1500
1333
1000
JG2200
1100
2200
1650
1467
1100
JG2400
1200
2400
1800
1600
1200
These are asymptotic payload rates while a data body is transmitting. The exact wire format also includes acquisition, a protected physical-layer header, frame integrity fields and coding termination bits. In OpenJSQ 1.0.0 the operator selects mode and FEC; the frame itself tells the receiver what was used. JG.25 6.2
AX1200 uses standard AX.25 UI frames over 1200-baud AFSK. OpenJSQ can generate the audio itself, use Dire Wolf, or connect to a KISS-capable hardware TNC.
Serial and network KISS provide external connections. Bluetooth serial TNCs use the serial route; BLE KISS requires a compatible device and build support. Digipeating is distinct from JSQ application relay.
Use an existing packet path
Suitable AX.25 digipeaters can forward OpenJSQ frames when radio/modem settings match and the configured route is supported by those digipeaters. OpenJSQ provides a Digipeater path setting for this link-level forwarding; it is separate from JSQ application relay.
Forwarding a frame does not require interpreting its JSQ contents. Mail custody, reliable files and other JSQ services still require a capable destination application. Not every APRS digipeater accepts arbitrary traffic or routes.
AX1200 rate and link details
The Digipeater path is empty by default for simplex operation. Configure a suitable route for the network you intend to use; each hop repeats the frame and consumes airtime. APRS coexistence disables files, JSQ relay and automatic signal reports. Packet settings and coexistence
AX1200 carries 1,200 raw bit/s (150 bytes/s before overhead). Useful throughput is lower after framing, channel access, turnarounds and retries. Actual file-transfer speed depends on the setup and path.
Radio
Any FM rig on 2 m or 70 cm, including a handheld. Operator guide 2
Link
AX.25 unnumbered-information (UI) frames over 1200-baud AFSK. Protocol 6
OpenJSQ data
JSQ service records ride in the AX.25 information field using the OpenJSQ application envelope (OFQ2). Protocol 7
Providers
OpenJSQ native audio, Dire Wolf, or a serial/network KISS TNC. Bluetooth serial uses the serial route; BLE KISS requires compatible hardware and build support. Transport 3
FSQ is shown in ordinary lowercase characters per second; packet modes in raw bits per second. These native rates describe signaling, not measured file-transfer speed.
FSQ text characters / second
Classic · FSQ-6
≈5.9 chars/s
Classic FSQ compatibility at its fastest standard profile.
Fast · FSQ-42
≈41 chars/s
Seven times the FSQ-6 symbol rate, using more bandwidth.
Same text encoding; capitals, digits and punctuation can take more symbols.
Packet signaling raw bits / second
AX.25 · AX1200
1,200 bit/s
Standard 1200-baud, two-tone AFSK packet.
JG25 · JG2400-F0
2,400 bit/s
Fastest documented JG25 FM profile, with no payload FEC.
JG2400-F3 trades half the nominal body rate for error protection: about 1,200 information bit/s before overhead.
Headers, error protection, channel turnarounds and retries reduce useful rates. The best profile is the one that completes the transfer on your path.
How to read these rates · assumptions and sources
FSQ-6 sends 5.859375 symbols/s; FSQ-42 sends 41.015625. Ordinary lowercase letters use one FSQ varicode symbol, giving the rounded text estimates above during continuous text. Two-symbol characters, framing and service data reduce that rate. Binary files use their own transport encoding, so these values are not file bytes/s. FSQ profile registry · Character encoding
AX1200 sends one bit per symbol at 1200 baud. JG2400 sends two bits per symbol at 1200 baud. Its F0 body has no payload error-correction redundancy; F3 uses a nominal half-rate code, before termination bits and other overhead. Raw rate includes bits used for framing and service data, not just the user's message or file. AX1200 link · JG25 FM rates · JG25 protection
The specifications do not establish a common measured file-goodput comparison for these four profiles. A fair transfer test would need the same payload, radio path, service settings and retry accounting. The two groups therefore retain their own units.
Curious how JG25 was chosen?
The research follows candidate waveforms through simulations, rejected approaches and recordings from real radios. Explore the design history and the evidence behind the current experimental format.