amateur radio
open source
accessibility, amateur radio, APRS, chirp, Cloudlog, ClubLog, cw, digital modes, DXCC, DXKeeper, dxpedition, Elecraft, eQSL, FlexRadio, FM, FT4, ft8, GNU GPL v3, GridTracker, hamlib, hamradiotools, HRDLog, Icom, iota, ITU-R P.533, JAWS, JTAlert, KD9TAW, kenwood, KP2, linux, logging software, lotw, MSK144, n1mm, N3FJP, Nexus, NVDA, open source, panadapter, propagation, PSK Reporter, Q65, QRZ, raspberry pi, RTTY, Rust, screen reader, shack software, SSB, sstv, TempoDeep, TempoFast, VOACAP, VP2V, VUCC, Was, WAZ, weak signal, windows, WSJT-X, WSPR, xiegu, yaesu
9M2PJU
0 Comments
Nexus by KD9TAW: One Program Instead of Six for the Modern Amateur Radio Station
Nexus by KD9TAW: One Program Instead of Six for the Modern Amateur Radio Station
Most shacks run the same way. A decoder in one window, a logger in another, a mapper somewhere else, an alerter blinking in the system tray, a panadapter app on the side, and a CAT tool fighting everyone else for the same COM port. Each program keeps its own copy of your log, its own settings, and its own opinion of what frequency the radio is on. It works, the way a pile of remotes on the coffee table works, until you try to remember which one does what.
Nexus is the answer to that pile. It is a single, free, open source program, written in Rust, that does the work of all six in one place, with one log, across one or multiple radios. It is built by KD9TAW, a DXpeditioner and DX chaser who got tired of his own shack and rebuilt it as one program. The result is the software he operates with every time he is on the air, and it is offered to the hobby under the GNU GPL v3.
Last updated: August 2026. Current release: v1.0.0.
What Nexus Is, in One Breath
Nexus is a desktop amateur radio workstation for Windows, Linux and Raspberry Pi that combines, in a single binary:
- Fifteen transmit and receive modes, FT8, FT4, Q65, FST4, FST4W, MSK144, JT65, WSPR, RTTY, SSTV, APRS, SSB, FM, CW, plus two original weak-signal waveforms called TempoFast and TempoDeep.
- A band-activity decoder with country, distance and bearing on every decode.
- A call roster ranked by what each station is worth to your log.
- A 3-D propagation globe with greyline, live spots, aurora, the solar-flare layer and measured MUF.
- An alerts engine scored against your own log, new country, new state, new park, new grid.
- One logbook with DXCC, Challenge, Honor Roll, WAS, WAZ, per-band VUCC and IOTA computed offline, no account required.
- A native RF panadapter on supported Icom and Flex radios, and a live audio scope on everything else.
- A diagnostic readout that names the reason a band is quiet, wrong frequency, wrong input, closed squelch, with a Tune button beside the fix.
- Repeater search, curated memory packs, and CHIRP CSV round-trip for roughly 1,000 radio models.
You need a radio, a USB cable and a computer. No radio yet? The APRS map, the DX cluster and the propagation globe run on internet feeds alone, so you can install it today and watch the bands before you have a license.
It is built and maintained by KD9TAW, licensed in 2021 and active since 2022, who describes himself as a technologist at heart who loves tinkering and improving things. Nexus is the project that came out of that tinkering, and it is the software on the air at the station it came from.
The Whole Stack, in One Place
Each of these jobs is usually its own download. In Nexus they share one radio, one CAT layer and one log.
| The job | In Nexus |
|---|---|
| Work the modes | Fifteen modes, transmit and receive, each on its own calling frequency. |
| See who is on, and from where | Band activity with country, distance and bearing on every decode, a call roster ranked by what each station is worth to your log, and a 3-D globe with live spots. |
| Hear about the ones you need | Alerts scored against your own log, new country, new state, new park, new grid, by tone, banner and desktop notification. |
| Log it and count it | One logbook. DXCC, WAS, WAZ, per-band VUCC and IOTA computed offline from your own log, with no account required. |
| See the actual spectrum | On native-CI-V Icom and network Flex radios, the rig’s own RF panadapter; a live audio scope on everything else. |
| Know why it is quiet | When nothing decodes, the readout names the cause, wrong frequency, wrong input, closed squelch, with a Tune button beside the fix. |
| Program the radio | Repeater search, curated memory packs, and CHIRP CSV round-trip reaching roughly 1,000 radio models. |
The FT8 and FT4 Cockpit
The operating core. A waterfall you can pause and scroll back through, a call roster ranked by what each station is worth to your log, and band activity carrying country, signal report, distance and bearing on every decode.
The FT8 and FT4 sequencer is built to WSJT-X’s behaviour, the keyboard shortcuts are the same, and the UDP protocol is byte-for-byte identical, so GridTracker, JTAlert and your logger keep working exactly as they do now. Companion mode goes further: Nexus rides a WSJT-X, JTDX or MSHV decode stream while the other program keeps the rig. Your log arrives by ADIF import, leaves by ADIF export, and is backed up on disk before every load. Nothing you already run has to change.
The FT8 and FT4 decoder is built from WSJT-X’s DSP sources, currently tracking upstream 3.0.2. On identical recorded audio its floor measures -21.3 dB against stock’s -20.7 with no false decodes, and it is tested against pure noise, where it returns nothing. Every transmitting waveform is verified by generating a transmission in Nexus and having stock WSJT-X decode it, rather than by testing Nexus against its own decoder, because both halves come from the same vendored source and a shared misreading would pass unnoticed.
A nice touch for rovers: upstream 3.0.2 drops /R calls outside contest mode, Nexus keeps them, and a test fails if that regresses.
New to Digital? Start Here
Setup is three skippable steps: Nexus reads the USB descriptors, matches your radio, and pairs the sound device, then offers to import an existing log or starts a fresh one. Technician privileges reach a long way here: satellites with rotor tracking, APRS, FM repeaters, meteor scatter and the memory packs are all first-class. And when a contact does not happen, the readout names the cause.
If you already run WSJT-X, the switch can be gradual. Run Nexus alongside what you have, and it feeds your logger and your alerter the whole time. The keyboard shortcuts are the same, the UDP protocol is byte-for-byte identical, and your log arrives by ADIF and leaves by ADIF.
APRS, Done Right
APRS with real station symbols and a detail card carrying distance, bearing and digipeater path. When no 2 m radio is attached, the readout says so.
APRS receives and maps, with the internet feed and the receive-only iGate confirmed against a live connection. Transmit sits behind an explicit arm. Opening the APRS screen only ever starts a receive-only decoder, and internet traffic never gates back out onto the air, because that would mean a radio keying up unattended. That is deliberate and permanent. There is no outbound iGating in Nexus, by design.
What the Usual Stack Does Not Do
Two capabilities you cannot assemble from separate programs, however many you run.
1. Nobody can tell whether a band is open for you
Cluster and skimmer feeds are global. A superstation on a mountain hearing a rare one tells you almost nothing about what your antenna can reach from your yard, and prediction tools model monthly medians for a station that is not yours.
What Nexus does instead:
- Openings are scored on receivers near you. On VHF a single genuine path past 700 km opens a band, because a tropo or aurora opening is often one distant station rather than a crowd.
- Every Needed row shows its evidence. “Heard by K9LC (EN52, 26 km), 4 min ago.” You know the path is real before you call, before the pileup forms.
- A real link budget, built in. The same class of prediction engine as VOACAP, running natively in the app with nothing extra to install. Every prediction is labelled modelled. The engine is native ITU-R P.533, with an operator-anchored opening detector that classifies Es, F2, aurora and tropo, tiers the alerts, maps the sectors and keeps a persistent openings log.
- Honest limit. This measures the paths other stations report. It does not yet map your own antenna pattern or calibrate against a beacon ladder, so it can tell you a path is open and still not know that your null is pointing at it.
2. Eyes and ears change; the station keeps working
Plenty of operators lose some hearing or some sight along the way, and it pushes people off SSB, off CW, off waterfall-first screens. Nexus treats a screen reader, a keyboard and an ear as equal ways to run the station, with nothing to switch on, and nothing changed for anyone else.
- Screen readers work out of the box. JAWS and NVDA hear the QSO sequencer advance, and transmit and receive switches are announced assertively. There is no separate accessibility mode.
- The boards are keyboard-navigable. Arrow through band activity, the Call Roster and the Needed list, and each row is read aloud. Enter selects, Shift+Enter works the station, Alt+Enter ignores it.
- You can operate by ear. Optional spoken decode announcements, a transmit and receive earcon, and a soft per-cycle decode tick. All of them default to quiet.
- You can work CW by eye. The CW cockpit’s decode transcript is the dominant pane, driven by a neural-net decoder (the DeepCW model), with the classic decoder as an automatic fallback. Hearing trouble does not take the key away.
Awards, Offline
DXCC, Challenge, Honor Roll, WAS, WAZ, per-band VUCC and IOTA, computed from your own log with no account and no upload required. Each confirmation keeps its source: an eQSL or QRZ match shows as confirmed but never counts toward DXCC or WAS, because those awards do not accept it. The totals survive a real award application.
Every push and pull keeps a per-contact record of what went where, which service confirmed, and at what award level. A refusal from TQSL is recorded as rejected and retried, so nothing sits marked sent that never arrived. Correcting a logged contact re-sends it, so the online logbooks match your log. The raw logbook is backed up before every load.
Station Integrity: The Rules Nexus Holds Itself To
| Rule | What it means |
|---|---|
| Opens read-only | Connecting to the radio commands nothing until you act. A rig parked on 40 m LSB for a net stays there. |
| Never keys unattended | Transmit sits behind an explicit arm with a watchdog that covers beacons, and internet traffic is never gated back onto the air. |
| Licence-aware | Your licence class is a hard lockout in every keying path, Part 97 sub-bands included, with per-mode power ceilings. |
| Your log stays yours | ADIF in and out, the raw logbook backed up before every load, and awards computed offline with no account. |
| Private by default | Credentials live in the OS keychain. Crash reports carry addresses and module names only, no callsign, no log data. |
A radio that stops answering is retried with backoff to about 30 seconds and picked up within seconds of replying, with no restart needed. Nexus reads what the radio covers from its own table, so an HF-only rig is never commanded to 2 m. If the radio refuses a command, Nexus does not assume it worked. Updates are signed and verified, installed in place, and the updater stands down while you are transmitting, tuning, in a contact or running CQ, and says which.
Works With Your Shack
Nothing you already run has to stop working. Nexus speaks the protocols the ecosystem runs on, so the switch can be gradual.
| Integration | What it does |
|---|---|
| WSJT-X UDP | Byte-for-byte. JTAlert and GridTracker see a WSJT-X. |
| CAT broker | A rigctld-compatible port so other software shares the radio through Nexus. |
| Companion mode | Ride an upstream WSJT-X, JTDX or MSHV decode stream instead of owning the rig. |
| LoTW | TQSL upload and incremental confirmation sync. |
| QRZ.com | Callbook autofill, two-way logbook sync, optional hourly confirmation pulls. |
| ClubLog, eQSL, HRDLog | Real-time push and InBox confirmation import. |
| N1MM+, N3FJP | Contest and everyday contact push. Broadcast every QSO, event or not. |
| DXKeeper, Cloudlog | Per-contact push to DXLab and self-hosted Wavelog instances. |
| APRS-IS | Read-only network feed, plus an optional receive-only iGate. |
| DX cluster, RBN | Telnet feed with locality-gated VHF admission. |
| PSK Reporter | Propagation data in, standard spot uploads out. |
| CHIRP | Full CSV round-trip, so channels flow to roughly 1,000 radio models. |
Radios and the Panadapter
On the radios that can stream it, Nexus shows the rig’s own spectrum and mirrors the front-panel DSP controls.
| Path | Applies to | What you get |
|---|---|---|
| Native CI-V Icom | IC-7300, IC-7610, IC-9700, IC-705, IC-905 | The rig’s own spectrum scope as a real RF panadapter, plus AGC, NR, NB, notch, filter width, mic gain and SWR/ALC/power/comp meters on the rig’s calibration curves. |
| FlexRadio | SmartSDR over the network | VITA-49 panadapter, DAX receive and transmit audio, native meters. Opt-in, off by default, not yet confirmed on hardware here. |
| Everything else | ~50 rigs, Yaesu, Kenwood, Elecraft, Xiegu and the rest, Hamlib bundled | Click-to-tune and drag-a-passband still work on the audio scope. |
| Interfaces | Digirig, RIGblaster, SO2R | Recognised by name and paired with their sound device. Per-radio keying port, so PTT follows the rig you switch to. |
| Multi-radio | Up to three rigs | All permanently connected and monitored, instant handoff with no CAT teardown, routing by band and mode. Peg-lock pins the active radio. |
The native-CI-V Icom path is field-verified end to end, including the IC-9700’s own panadapter streaming live. The FlexRadio native panadapter is opt-in and not yet confirmed on hardware.
Tempo: Two Original Weak-Signal Waveforms
Nexus carries two weak-signal waveforms of its own, designed by KD9TAW.
- TempoFast is a coherent 4-CPM tier on a four-second conversational cycle with incremental-redundancy HARQ. A failed decode is not wasted, because retransmissions combine until the message lands. No other amateur text mode accumulates redundancy that way.
- TempoDeep gives up the speed for a non-coherent 8-FSK tier that keeps working when the path is fading.
Both have closed real links on the air, including a completed two-station QSO on 6 m. TempoFast trades about 6 dB of raw single-shot sensitivity against FT8 for a cycle nearly four times faster. Both waveforms are plain text with fully published specifications, nothing encrypted, nothing hidden. The full protocol write-up is on the Tempo Protocol page.
| TempoFast | TempoDeep | |
|---|---|---|
| Modulation | 4-CPM h=1/2 BT=0.3 | Non-coherent 8-FSK |
| Detection | Coherent, turbo equalised | Non-coherent |
| T/R cycle | 4 s | 15 s |
| Occupied BW | est. 42-67 Hz | 50 Hz |
| FEC | LDPC(174,91) + CRC-14 | LDPC(174,91) + CRC-14 |
| HARQ | Yes, on by default | No |
| AWGN threshold | approx -15 dB (sim) | approx -18.6 dB (sim) |
| Fading penalty | Large (coherent) | approx 3.7 dB (sim) |
Every sensitivity figure quoted anywhere is still a bench number. On-air reports are what turn the bench numbers into field ones.
Where Each Piece Stands
Nexus is honest about what is proven and what is not. That alone is worth a paragraph.
Production. The FT8 and FT4 core is the production tier, and it is measured against the reference rather than against itself. Over a thousand automated tests, wire formats pinned by test, and a decode floor measured against stock WSJT-X on identical recorded audio. Field-verified end to end on Yaesu FTDX10 and FT-991A and on native-CI-V Icom, where the IC-9700’s own panadapter streams live.
On the air. APRS receives and maps, with the internet feed and the receive-only iGate confirmed against a live connection. Transmit sits behind an explicit arm. TempoFast and TempoDeep have closed real links on the air, including a completed two-station QSO on 6 m.
Not field-confirmed. The FlexRadio native panadapter is opt-in and not yet confirmed on hardware here, and the Tempo sensitivity figures are still bench numbers. There are no contest modes beyond Field Day.
Unsigned installer. The Windows installer carries no code-signing certificate yet, so SmartScreen shows an unknown-publisher warning on first install. Choose More info, then Run anyway. The SHA-256 of every artifact is published beside the download if you want to verify by hand, and the app’s own updates are a separate path, each one cryptographically verified before it installs.
What Nexus Does Not Do
The list is short and deliberate.
- No contest modes beyond Field Day. There is no NA VHF, RTTY Roundup or WW Digi support. If contesting is your main activity, N1MM+ remains the tool, and Nexus will feed it every contact over UDP.
- No Fox role. Nexus can work a DXpedition as a Hound, but it cannot run one as the Fox. SuperFox was investigated and abandoned: the upstream table file is licensed for use with WSJT-X only, which bars vendoring it.
- No outbound iGating. APRS traffic from the internet is never transmitted on the air. That direction means a radio keying up unattended, which is not something this app will do.
- No digital-voice programming. DMR, D-STAR and Fusion repeaters are listed with badges so you know they are there, but Nexus cannot program them.
Licence and Lineage
Free software under the GNU GPL v3, and not affiliated with the WSJT project, the ARRL, or any radio manufacturer.
The digital modem is derived from WSJT-X and reuses their GPL-licensed code. Nexus is built on the community’s work, and the full lineage, qracodes, fldigi, slowrx, Hamlib and the DeepCW model, is recorded in the repository’s NOTICE file. That kind of attribution is rare and worth noting.
Who Is KD9TAW
KD9TAW was licensed in 2021 and active since 2022, and quickly found his calling in chasing DX, antenna building, and building out his shack. He is a technologist at heart and loves tinkering and improving things.
In April 2023 his first DXpedition took him to KP2 (St. John) and VP2V (British Virgin Islands), combining vacation with a semi-serious operating schedule. From an oceanfront QTH in VP2V, he logged over 6,000 QSOs in a few days, including bringing 6 m SSB back on air for the first time in years. Contest highlight: 1st in Illinois, 10th in North America in CQWW 160 m DX (2025), only his second contest.
His station: Yaesu FTDX10, Yaesu FT-991A, Icom IC-9700, an SPE Expert 1.5K linear, an OCF dipole at 50 ft, a multiband vertical for 160/80/40/30, VHF/UHF beams and a 6 m halo. As of this writing his QRZ logbook shows 11,274 QSOs logged, 285 DXCC entities, 8,107 confirmed.
Nexus is built by an operator recent enough to remember being new, and it is the software on the air at the station it came from. That shows in the design choices: the diagnostic readout that names why a band is quiet, the licence-aware lockouts, the read-only launch, the accessibility that is on by default rather than buried in a menu.
Get It, Get Help
- Download v1.0.0: Windows x64, Linux .deb and AppImage, Raspberry Pi arm64. Everything bundled. Grab it from the Nexus releases page.
- Discord: live chat, setup help, and on-air reports. The fastest way to reach the community.
- Groups.io: the mailing list and forum for longer discussion, announcements, and searchable Q&A.
- GitHub Issues: bug reports and feature requests for Nexus. The tracked, canonical bug channel.
Most of what shipped this year started as somebody’s bug report.
A Few Honest Notes
Nexus is not affiliated with the WSJT project, the ARRL, or any radio manufacturer. The digital modem is derived from WSJT-X and reuses their GPL-licensed code, and the full lineage is recorded in the repository’s NOTICE file. If you are the kind of operator who cares about licence hygiene and provenance, that matters.
The Windows installer is unsigned, so SmartScreen will warn you on first install. The SHA-256 of every artifact is published beside the download, and the app’s own updates are cryptographically verified separately. This is the cost of being an independent, unfunded project, and it is worth the one extra click.
The Tempo sensitivity figures are bench numbers, not field numbers, and the FlexRadio panadapter is not yet confirmed on hardware. The status page says so plainly, which is more than most software does.
Finally, this is one operator’s project, not a company. It is the software on the air at the station it came from, and it improves because operators use it, break it, and report what broke.
Why This Matters
The amateur radio shack has been accreting separate programs for decades, one for each job, each with its own log, its own settings, and its own opinion of the radio. Nexus is the first serious attempt in a long time to put the whole stack back into one program, built by an operator who actually uses it, released as free software, and honest about what it does and does not yet do.
If you have ever lost a contact because your logger and your decoder disagreed on the frequency, if you have ever wondered whether a band is open for your antenna rather than for a superstation on a mountain, or if you have ever watched someone leave the hobby because the screen got too hard to see, Nexus is worth a serious look.
Download it, run it alongside what you have, and feed your logger the whole time. The switch can be gradual. Nothing you already run has to change.
73, and good DX.
Sources and Further Reading
- Nexus, the project site: https://hamradiotools.io/
- Nexus, everything it does (features reference): https://hamradiotools.io/features/
- Nexus, the manual: https://hamradiotools.io/manual/
- Tempo Protocol (TempoFast and TempoDeep write-up): https://hamradiotools.io/protocol/
- Nexus source on GitHub (kd9taw/Nexus): https://github.com/kd9taw/Nexus
- Nexus releases (download page): https://github.com/kd9taw/Nexus/releases/latest
- KD9TAW on QRZ: https://www.qrz.com/db/KD9TAW
- KD9TAW, about the operator: https://hamradiotools.io/about/
- HamRadio.my, Amateur Radio Resources, Tools and Reviews: https://hamradio.my/
- About 9M2PJU, Malaysian Amateur Radio Operator: https://hamradio.my/about-9m2pju-malaysian-amateur-radio-operator/



Post Comment