FAQ

Questions, answered.

Pricing, the Play Store build, what JTTY actually is, radios and cabling, and how this relates to FT8AF. Still stuck? Open an issue on GitHub.

Getting it
Yes — completely. JTTYAF is open source under the MIT license. Download the signed APK from the GitHub Releases page or build it from source, with every feature unlocked and no account required. A Google Play build is in review; it will be the same open-source app with automatic updates and one-tap install.
Yes. The Play Store listing is in review right now. The Play build updates itself in the background, installs in one tap with no "allow unknown sources" step, and is Play Protect verified. Buying it there also funds development. The app itself is identical to the free GitHub build.
Download the latest .apk from GitHub Releases, tap it, and approve the one-time "install from this source" prompt Android shows. Then open JTTYAF and grant the USB and microphone permissions. Full step-by-step instructions are on the Download page.
The mode
JTTY is the keyboard-to-keyboard digital mode introduced in WSJT-X 3.2 as a modern replacement for RTTY. Each 1.888-second frame carries 34 bits of structured contest exchange or five characters of free text, protected by a CRC-12 and a tail-biting convolutional code, on a four-tone GFSK signal about 127 Hz wide. There is no clock synchronisation — you transmit the moment you press Send — and structured exchanges run at roughly 60 WPM. The mode page has the full technical description.
Yes. JTTYAF implements the same waveform, framing, coding and message grammar as WSJT-X 3.2, and its codec is verified against the official JTTY sample recording published by the WSJT-X team. A WSJT-X station cannot tell the difference.
That is the mode's limit: a message is at most 16 frames, and the packer always finds a way to fit 80 characters into 16 frames (five characters of free text per frame). Longer text is rejected rather than truncated, so you know exactly what went out.
The JTTY alphabet is upper-case letters, digits, space and a set of punctuation. JTTYAF upper-cases what you type and swaps unsupported characters for #. The message is refused only when nothing packable is left — an empty line, for instance.
They tell the packer how to read ambiguous contest text. Under RTTY Roundup, 599 001 becomes a single serial-number frame; under Field Day, 1D EMA becomes a class-and-section frame. General packs the same text as plain characters. Pick the profile in Settings; the F-key defaults work with all three.
Radios & setup
The same set as FT8AF: Icom, Yaesu, Kenwood, Elecraft, Xiegu, FlexRadio, Guohe and truSDX rigs, plus anything Hamlib drives, over USB, Bluetooth or the network. Pick the rig model, control mode and audio device in Settings. If your rig isn't listed, open an issue and let us know.
A single USB connection from your phone to the rig's USB port handles both CAT control and audio on most modern radios. Newer phones connect with a USB-C cable directly; older phones need a USB-OTG adapter. Your device must support USB host (OTG) mode.
Yes. JTTYAF decodes from the phone's microphone, so you can hold it up to a speaker — or play the WSJT-X JTTY sample recording at it — and watch the print fill before wiring up CAT control.
The preliminary dial frequencies are 1.838, 3.575, 7.090 and 14.090 MHz, with 20 m at 14.090 the main meeting place. The band picker has them built in, and you can add your own dials.
The project
Same family, different mode. JTTYAF is built from the FT8AF codebase — the rig control, USB stack, logbook and theming carry over — with the FT8 engine replaced by a clean-room JTTY codec and an operate screen designed for keyboard QSOs. RTTYAF is the Baudot sibling; JTTY is the coded mode that replaces it.
No. WSJT-X is GPL-3, so JTTYAF's codec was written from scratch under MIT from the published design documents — the WSJT-X design notes and source-coding specification, golden vectors and the official sample recording. No GPL JTTY source was consulted or copied.
JTTYAF ships with an English interface today. It's built on the same framework as FT8AF (which is localized into many languages), so additional languages can follow — translation pull requests are welcome on GitHub.
It's built by Patrick Burns (K1AF) and Reid (N0RC). Huge credit goes to BG7YOZ, the original author of FT8CN, N0BOY, who hosts the original repository, and the WSJT-X team — K1JT, K9AN, G4KLA, N9ADG, DL3WDG, W3SZ, KJ5HST and KD0BTO — for designing and documenting JTTY.
Please do. The code lives on GitHub — open an issue for bugs or feature ideas, send a pull request, or star the repo to follow along. Field reports from real on-the-air use are especially welcome; the bug-report guide shows how to grab the debug log.
That's the plan. JTTY itself is brand new and still settling — frequencies are preliminary, N1MM integration is on the roadmap — and JTTYAF will track it. The fastest way to get new builds is the Google Play version; otherwise watch the Releases page or the repo.

Still curious? Just try it.