Choose your
radio signal.

Choose a signal for your radio path and compatible peers. Compare payload speed, the signal each mode needed in simulation, and modeled file-transfer times below.

An audio-connected station can listen across enabled modem families and supported speeds, independently of its selected transmit mode. Receive modes and automatic replies →

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.
Set up FSQProfiles & slots ↓

JG25

FM · Experimental

A new packet waveform and framing design for ordinary FM voice audio. It avoids carrying unneeded fields from older AX.25 packet conventions, with selectable error protection.

Connect
Radio audio interface; no standard AX.25 TNC.
Work with
Peers running compatible experimental JG25 builds.
Keep in mind
Broader radio qualification is still needed. A standard AX.25 decoder cannot decode JG25.
Set up JG25Waveform & status ↓

AX.25 (AX1200)

FM · Standard packet compatibility

Use familiar 1200-bit/s AX.25 framing with existing packet equipment and digipeaters, or let OpenJSQ be the modem.

Connect
Audio interface, Dire Wolf, or an external KISS TNC.
Work with
Standard AX.25 peers at the frame level; JSQ services need a capable receiving application.
Keep in mind
One raw rate. Framing, turnarounds and retries reduce useful transfer speed.
Set up AX.25Connections & compatibility ↓

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

Modeled whole-file transfers · Three modem families

A sense of speed.

Compare raw signaling speed, useful payload speed, the weakest signal each mode handled in simulation, and estimated file-transfer time. File times include the OpenJSQ handshake, acknowledgements, and radio turnarounds.

Scroll horizontally to compare all columns. With a keyboard, focus the table and use the arrow keys.

Representative OpenJSQ modes: raw speed, real payload speed, simulated signal needed, and modeled file time
ModeRaw speedReal payload speed
256-byte frame
Signal needed
simulated SNR
1 KB file, clean10 KB file, clean10 KB, one lost block
JG25 · 2400/F0 fastest, no payload FEC2,400 bps1,881 bps+6.8 dBFM · 9 of 10 packets12.1 s63.9 s65.4 s
JG25 · 2400/F12,400 bps1,483 bps+8.5 dBFM · 9 of 10 packets13.7 s77.1 s79.1 s
JG25 · 1800/F21,800 bps1,045 bps+3.8 dBFM · 9 of 10 packets16.7 s1.7 min1.8 min
JG25 · 1200/F3 stronger error protection1,200 bps554 bps-1.3 dBFM · 9 of 10 packets26.0 s3.0 min3.1 min
JG25 · 1200/F01,200 bps1,047 bps+6.3 dBFM · 9 of 10 packets16.7 s1.7 min1.8 min
AX.25 · AX12001,200 bps926 bps+7.6 dBFM · 9 of 10 packets21.0 s2.4 min2.4 min
FSQ Fast · FSQ-42205.1 bps158 bps≈ −3 dBHF · 19 of 20 chars69.0 s8.8 min9.3 min
FSQ Fast · FSQ-30146.5 bps113 bps≈ −4.5 dBHF · 19 of 20 chars97.5 s12.5 min13.0 min
FSQ Fast · FSQ-1258.6 bps45 bps≈ −9 dBHF · 19 of 20 chars4.7 min38.3 min39.1 min
Classic FSQ · FSQ-629.3 bps23 bps≈ −10.5 dBHF · 19 of 20 chars12.8 min1.85 hr1.85 hr

1 KB = 1,024 bytes; 10 KB = 10,240 bytes. Raw speed counts signaling bits before FEC and framing overhead; for FSQ it is five bits per symbol, not text characters per second. Real payload speeds at 256 bytes are calculated one-frame on-air payload rates, not file-transfer goodput. File times come from a deterministic timeline of the application protocol (ARQ, handshakes, turnarounds, access, and decode delays); they are not field measurements. “One lost block” is scenario S1: the first DATA block is lost and retransmitted. Real conditions and other losses can increase times. Source, methodology, and all profiles.

Signal needed comes from software simulations, not on-air tests. Lower is better. FM rows: the SNR at which 9 of 10 256-byte packets arrived intact, as the middle result of seven simulated FM radio audio paths, three of them fitted to recordings of real radios. FSQ rows: the weakest signal, in 1.5 dB steps, at which a 46-character message still copied with no more than about one character in 20 wrong, in plain noise. Neither test includes fading, tuning error or other stations, and the FM and FSQ tests are not directly comparable. Your radios will differ. How the signal figures were simulated ↓

Complete speed comparison · all 40 profiles

Compare all 28 JG25 FM mode and FEC combinations, AX1200, and all 11 classic and Fast FSQ speeds. Sorted by payload throughput, using the same model, file sizes, and loss scenario as the comparison above. The FM and HF signal figures come from different tests; compare them only within the same test.

Scroll horizontally to compare all columns. With a keyboard, focus the table and use the arrow keys.

All modeled OpenJSQ profiles: raw speed, real payload speed, simulated signal needed, and modeled file time
ModeRaw speedReal payload speed
256-byte frame
Signal needed
simulated SNR
1 KB file, clean10 KB file, clean10 KB, one lost block
JG25 · 2400/F02,400 bps1,881 bps+6.8 dBFM · 9 of 10 packets12.1 s63.9 s65.4 s
JG25 · 2200/F02,200 bps1,754 bps+4.5 dBFM · 9 of 10 packets12.5 s67.5 s69.1 s
JG25 · 2000/F02,000 bps1,623 bps+5.9 dBFM · 9 of 10 packets13.0 s71.7 s73.5 s
JG25 · 1800/F01,800 bps1,487 bps+3.4 dBFM · 9 of 10 packets13.6 s76.9 s78.9 s
JG25 · 2400/F12,400 bps1,483 bps+8.5 dBFM · 9 of 10 packets13.7 s77.1 s79.1 s
JG25 · 2200/F12,200 bps1,378 bps+6.5 dBFM · 9 of 10 packets14.2 s81.8 s84.0 s
JG25 · 1600/F01,600 bps1,346 bps+4.9 dBFM · 9 of 10 packets14.4 s83.5 s85.6 s
JG25 · 2400/F22,400 bps1,342 bps+7.7 dBFM · 9 of 10 packets14.4 s83.6 s85.8 s
JG25 · 2000/F12,000 bps1,270 bps+5.9 dBFM · 9 of 10 packets14.9 s87.5 s89.8 s
JG25 · 2200/F22,200 bps1,245 bps+5.2 dBFM · 9 of 10 packets15.1 s88.9 s91.3 s
JG25 · 1400/F01,400 bps1,199 bps+2.0 dBFM · 9 of 10 packets15.4 s91.8 s94.3 s
JG25 · 1800/F11,800 bps1,159 bps+4.8 dBFM · 9 of 10 packets15.7 s94.5 s97.0 s
JG25 · 2000/F22,000 bps1,146 bps+5.4 dBFM · 9 of 10 packets15.8 s95.4 s97.9 s
JG25 · 1200/F01,200 bps1,047 bps+6.3 dBFM · 9 of 10 packets16.7 s1.7 min1.8 min
JG25 · 2400/F32,400 bps1,045 bps+5.6 dBFM · 9 of 10 packets16.7 s1.7 min1.8 min
JG25 · 1600/F11,600 bps1,045 bps+4.9 dBFM · 9 of 10 packets16.7 s1.7 min1.8 min
JG25 · 1800/F21,800 bps1,045 bps+3.8 dBFM · 9 of 10 packets16.7 s1.7 min1.8 min
JG25 · 2200/F32,200 bps967 bps+3.9 dBFM · 9 of 10 packets17.6 s1.8 min1.9 min
JG25 · 1600/F21,600 bps940 bps+3.7 dBFM · 9 of 10 packets17.9 s1.9 min1.9 min
JG25 · 1400/F11,400 bps927 bps+3.0 dBFM · 9 of 10 packets18.1 s1.9 min2.0 min
AX.25 · AX12001,200 bps926 bps+7.6 dBFM · 9 of 10 packets21.0 s2.4 min2.4 min
JG25 · 2000/F32,000 bps887 bps+3.7 dBFM · 9 of 10 packets18.6 s2.0 min2.0 min
JG25 · 1400/F21,400 bps833 bps+2.0 dBFM · 9 of 10 packets19.4 s2.1 min2.2 min
JG25 · 1800/F31,800 bps806 bps+2.2 dBFM · 9 of 10 packets19.8 s2.2 min2.2 min
JG25 · 1200/F11,200 bps806 bps+1.6 dBFM · 9 of 10 packets19.8 s2.2 min2.2 min
JG25 · 1600/F31,600 bps724 bps+2.4 dBFM · 9 of 10 packets21.3 s2.4 min2.4 min
JG25 · 1200/F21,200 bps724 bps+0.5 dBFM · 9 of 10 packets21.4 s2.4 min2.4 min
JG25 · 1400/F31,400 bps640 bps+0.5 dBFM · 9 of 10 packets23.3 s2.7 min2.7 min
JG25 · 1200/F31,200 bps554 bps-1.3 dBFM · 9 of 10 packets26.0 s3.0 min3.1 min
FSQ Fast · FSQ-42205.1 bps158 bps≈ −3 dBHF · 19 of 20 chars69.0 s8.8 min9.3 min
FSQ Fast · FSQ-36175.8 bps135 bps≈ −3 dBHF · 19 of 20 chars79.5 s10.2 min10.8 min
FSQ Fast · FSQ-30146.5 bps113 bps≈ −4.5 dBHF · 19 of 20 chars97.5 s12.5 min13.0 min
FSQ Fast · FSQ-2097.7 bps75 bps≈ −6 dBHF · 19 of 20 chars2.5 min19.9 min20.5 min
FSQ Fast · FSQ-1678.1 bps60 bps≈ −7.5 dBHF · 19 of 20 chars3.3 min26.4 min26.9 min
FSQ Fast · FSQ-1258.6 bps45 bps≈ −9 dBHF · 19 of 20 chars4.7 min38.3 min39.1 min
Classic FSQ · FSQ-629.3 bps23 bps≈ −10.5 dBHF · 19 of 20 chars12.8 min1.85 hr1.85 hr
FSQ Fast · FSQ-6W29.3 bps23 bps≈ −12 dBHF · 19 of 20 chars13.3 min1.91 hr1.92 hr
Classic FSQ · FSQ-4.519.5 bps15 bps≈ −13.5 dBHF · 19 of 20 chars25.7 min3.99 hr4.02 hr
Classic FSQ · FSQ-314.6 bps11 bps≈ −15 dBHF · 19 of 20 chars34.1 min5.30 hr5.33 hr
Classic FSQ · FSQ-29.8 bps8 bps≈ −16.5 dBHF · 19 of 20 chars51.0 min7.91 hr7.95 hr

Times are modeled and signal figures simulated; neither is a field measurement. The assumptions and test conditions above apply to every row, and the JG25 figures cover FM profiles only. In these simulations F3 needed the least signal at every JG25 speed. Above JG25 1200, F1 and F2 gained at most 1.2 dB over F0 and often needed more. Speed alone does not establish robustness on your radio path.

Classic FSQ: OpenJSQ and fldigi

The same simulated FSQ signals, decoded by OpenJSQ and by fldigi’s own FSQ decoder, unmodified. Both were scored the same way as the speed tables; lower is better.

Classic FSQ: OpenJSQ and fldigi decoding identical audio (HF · 19 of 20 chars)
ModeOpenJSQfldigi
squelch open
fldigi
squelch 22, silent in noise
FSQ-2≈ −16.5 dB≈ −15 dB≈ −13.5 dB
FSQ-3≈ −15 dB≈ −15 dB≈ −12 dB
FSQ-4.5≈ −13.5 dB≈ −15 dB≈ −12 dB
FSQ-6≈ −10.5 dB≈ −13.5 dB≈ −10.5 dB
Noise shown as text characters a minute, no signal0about 2150

Software simulation, not an on-air test. fldigi was given the identical noisy audio as OpenJSQ, 20 times at every 1.5 dB step from +6 to −21 dB, and both were scored on the message alone, so text printed around it did not count. OpenJSQ shows nothing until it finds the start of a message, so it showed no text at all in about 32 minutes of noise, at the cost of sometimes missing a very weak message. With its squelch open, its most sensitive setting, fldigi copies weaker FSQ-4.5 and FSQ-6 signals but shows noise as text all the time. Squelch 22 is the lowest setting at which fldigi, running continuously, also showed nothing in that noise: set there, it needs as much signal as OpenJSQ at FSQ-6 and more at the slower speeds. The signals came from OpenJSQ’s transmitter. Method and full results

AX1200: OpenJSQ and Dire Wolf

The same simulated AX1200 packets, decoded by OpenJSQ and by Dire Wolf 1.7, the widely used software packet modem. Lower is better.

AX1200: OpenJSQ and Dire Wolf 1.7 decoding identical packets (FM · 9 of 10 packets, 256 bytes)
DecoderSignal neededWrong messages accepted
of 8,250 test packets
OpenJSQ+7.6 dB0
Dire Wolf default setup+8.8 dB0
Dire Wolf best setup+8.3 dB18

Software simulation, not an on-air test. Dire Wolf was given exactly the same packets as OpenJSQ, through the same seven simulated FM radio audio paths and noise. Its default setup is MODEM 1200; its best setup adds FIX_BITS 1 AX25, which repairs single-bit errors and so accepted 18 wrong frames that passed the checksum. Method and full results

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

How the signal figures were simulated

FM · 9 of 10 packets (AX1200 and JG25): the actual OpenJSQ receivers decoded packets rendered by the actual transmitters, after they passed through seven software models of an FM radio’s audio path: a sub-audible tone filter, a voice path with emphasis and a deviation limiter, a data port that de-emphasises audio nobody pre-emphasised, narrow receive audio, and three models fitted to recordings of real radio paths, two of them a Yaesu FT-8800 sending to an FT-817. Steady FM-shaped noise was added; SNR is measured over 300–3000 Hz of the received audio (for the data-port model, before its de-emphasis). Each 256-byte packet had random contents and counted only if it arrived exactly intact. For every mode and channel, the SNR was stepped down until fewer than 9 in 10 got through, at least 40 packets were run at each of the two points either side of that level, and the threshold was interpolated between them. The table shows the middle of the seven results, rounded to 0.1 dB; differences below about 0.5 dB are not significant. AX1200 and JG25 F0/F3 were simulated in September 2026 and JG25 F1/F2 on October 20, 2026, with the same receivers (code baseline d0d6bd26), packets, noise and rules. The receivers have changed since; rebuilt at OpenJSQ 1.0.8 they made the same decisions on every replayed F1/F2 packet and on 1,006 of 1,008 sampled packets of the other modes. No fading, tuning error, squelch or other stations were simulated. FM method and F0/F3 results · F1/F2 results · F0/F3 thresholds · F1/F2 thresholds

HF · 19 of 20 chars (FSQ): the actual OpenJSQ FSQ receiver decoded a 46-character message rendered at each of the 11 speeds and mixed with white Gaussian noise, with SNR referenced to a 3 kHz bandwidth. Each speed was run 20 times at every 1.5 dB step from +6 to −21 dB. The figure is the lowest step, working down, at which no more than 5% of characters were wrong on average; the true limit lies somewhere in the 1.5 dB below it. Simulated in September 2026; rebuilt at OpenJSQ 1.0.8, the FSQ receiver reproduces these results trial for trial. A real HF path adds fading, multipath, drift and interference, which cost margin. These are text-copy limits, not packet-delivery or file-transfer thresholds. FSQ method and results

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 table above uses the deterministic file ARQ timeline documented in MODE_THROUGHPUT.md, not measured RF file goodput. The 256-byte frame column counts a single transmission only; the file-time columns include complete file-transfer exchange and the application’s actual per-mode block sizes. RF signal quality and repeat losses change what finishes fastest in practice.

Compatibility: decoders and services

Decode what arrives.
Transport the same message.

Decoding a waveform does not provide the full JSQ service set. Check what the other station’s application supports before sending mail or files.

What a compatible receiving station can actually use
Remote stationSignal compatibilityJSQ chat, mail, and files?
Legacy fldigi / FSQCallClassic FSQ framing, subject to settingsClassic text and supported legacy actions only; not the full JSQ service set
Conventional AX.25 / KISS packet receiverAX1200 framesJSQ services require a JSQ-aware application at the peer
Compatible JG25 receiverExperimental native JG25 packetsFull services only when the peer also implements them
OpenJSQ with multi-receive enabledEnabled modem families and their supported profiles, on a suitable audio pathCommon JSQ services, subject to peer capabilities and station policy

JSQ is inspired by JS8Call but is not JS8 waveform compatible. Why no clock sync or connected modem session is required · Compatibility details.

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. The receiving station needs Fast decoding enabled and enough audio bandwidth; it need not select the sender’s transmit speed. 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
Wider Fast profile

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

With full receive coverage enabled, the FSQ listener can monitor all 11 classic and Fast speeds and normally answers at the requester's speed when automatic replies are permitted. Reduced receive coverage can leave some speeds unheard. Multi-receive behavior

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
Fast profiles
FSQ-6W, 12, 16, 20, 30, 36 and 42. FSQ Fast 8
Slots
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

FM · Experimental

JG25.
Built around voice-radio audio.

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 your transmit rate and error protection for the radio path. Each frame tells the receiver which mode and FEC it uses, so stations need not select matching transmit settings. Both stations need compatible experimental builds; broader radio qualification remains in progress.

A leaner packet format

The design started from a clean slate. Rather than carrying fields inherited from AX.25's X.25-derived packet framing simply because traditional packet radio used them, JG25 uses a native frame designed for JSQ traffic. The aim is to put more of each burst into useful data while retaining the framing and integrity checks needed for reliable decoding.

Less protocol overhead is a design goal, not a claim of guaranteed faster transfers across every radio link. Read the development history →

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 5 JG.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 4 JG.25 7
ModeBaudF0F1 (~3/4)F2 (~2/3)F3 (1/2)
JG12006001200900800600
JG140070014001050933700
JG1600800160012001067800
JG1800900180013501200900
JG200010002000150013331000
JG220011002200165014671100
JG240012002400180016001200

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 the operator selects mode and FEC; the frame itself tells the receiver what was used. JG.25 6.2

FM · Standard packet

AX.25.
Your existing packet path.

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 on the same FM channel using AX1200, when 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

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.

Start with your station.

Follow the guide for your hardware and make a direct test contact.

Operator guideFirst contact