n2OSw

Stop fighting the errors. Start listening.

That sentence is the whole idea. H-Mode sends a character stream the receiver can already predict — and applies no error correction to clean up what the ionosphere does to it. Every substitution, every erasure, every moment of doubt is scored, kept, and reported. The errors are the measurement.

WAVEFORM
H-MODE v2 · OTFS
CHANNEL
≤ ~2.8 kHz SSB
PAYLOAD FEC
NONE — BY DESIGN
SPEC
TS 2.1 · 2026-07-25

There is a mirror hanging overhead.

Sunlight tears electrons off air molecules and leaves a plasma layer that reflects HF radio back to Earth from a few hundred kilometers overhead. It swells at sunset. It thins at dawn. It shudders when the Sun throws a flare. Who is watching it change, minute by minute, over your path? Almost nobody.

The professional instruments are scarce. A DPS-4D-class ionosonde runs $250k–500k installed, and there are tens of them on Earth. GNSS receivers integrate along a satellite line of sight at L-band; they never see your HF path. WSPR collapses a two-minute transmission into one SNR figure. HFEdge keeps what all of them throw away: the channel’s imprint, at per-character resolution, on equipment amateurs already own. One station records a trace. A network watches the sky move.

IONOSONDE SITE$250–500k
GNSS SCINTILLATION RX$10–20k+
HFEDGE NODE$0

Designed around delay & Doppler.

What does the ionosphere actually do to a signal? It smears it across milliseconds of multipath. It drags the pitch as the layers move. It fades one frequency while the neighbor holds — sometimes inside the same second. H-Mode v2 lays data along the two axes those impairments live on: how late the echo arrives, and how fast the path is changing. And it all fits inside a standard SSB voice channel — the same slice of audio your speech would use, no special hardware required.

01

Know the signal

A shared PCG64 seed lets any receiver regenerate the expected Base36 stream in full. Because the payload is known ahead of time, every character is an independent probe of the path — not a message that must be recovered.

02

Observe the path

After a short warmup, pilot overhead falls to zero: the known stream itself drives continuous channel estimation, residual Doppler tracking, and iterative soft equalization. Low overhead and channel observability, at the same time.

03

Keep the evidence

No payload error correction — on purpose. Coding would reconstruct the missing characters and destroy the observation. Every decoded character keeps a confidence value, six log-likelihood ratios, and per-resource channel state.

OTFS

PRIMARY
M=8 × N=64 · 72 ms · ≈736 cps capacity

Places data on a delay-Doppler grid in the same two dimensions the ionosphere acts in — dispersion becomes a few clean, measurable taps.

AFDM

ALTERNATE
DAFT · runtime chirp c₁/c₂

Data ride on chirps — tones that slide. Built for paths that are dispersive and fast-changing at once.

OFDM

CLASSIC
FFT N=128 · CP=16 · 8 kHz

Bit-exact H-MODE-1.0 compatibility; ≈166.7 characters per second by design.

HYBRID

LAYERED
OTFS QPSK core + 16-QAM overlay

A QPSK core rides out deep fades; the capacity layer engages only when per-resource SNR permits.

STATUS Throughput figures of ≈300–500 cps (≈8–12× Olivia-class) are specification design targets validated in simulation and loopback, including Watterson-channel tests. On-air curves will be published as network data accumulates.

Choose the depth. Keep the method.

Four deterministic profiles scale one measurement method from a ten-second band check to a night-long channel study. All use 64-character frames with ==Fxxxx== markers; frame F0000 identifies the station and is excluded from scoring.

01

PING

720CHARACTERS

Link check / band probeSeconds on the air. The right first observation on any path.

02

SHORT

3,200CHARACTERS

Path characterizationSound error statistics on modest airtime; reveals fades and burst structure.

03

STANDARD

64,000CHARACTERS

Disturbance morphologyResolves TID-period structure; the campaign workhorse.

04

DEEP

1,000,000CHARACTERS

Research statisticsLong-duration collection; converges the full 36×36 confusion matrix.

What is the static saying?

The receiver knows what was sent, so the pattern of what actually arrived is the disturbance’s signature. The static on the line is telling you something about the line.

01

Traveling ionospheric disturbances

RHYTHMIC FADING

Plasma waves set off by geomagnetic storms, large thunderstorm systems, sometimes eruptions. Per-character scoring registers the rhythm as a wave passes; spaced receivers can work out its speed and bearing.

02

Sporadic E

SELECTIVE PATHS

Dense, short-lived ionization near 100 km that can throw a signal a continent away or wall off a path outright. Interleaved good and bad segments show how thick, and how patchy, a given cloud is.

03

Spread F & scintillation

BURST ERRORS

Turbulent plasma bubbles, mostly equatorial and polar, that make signals flutter and smear. Bursts of scrambled and erased characters, precisely timed, mark the turbulence.

04

D-region absorption

SYNCHRONIZED LOSS

Flare X-rays can tip the dayside lower ionosphere from reflecting to absorbing within minutes. Erasure rates rising in step across a continent make a clean, distributed flare detector.

05

Grey-line enhancement

COORDINATED PEAKS

Twilight opens brief, low-absorption corridors along the terminator. Per-character timelines catch the window opening and closing to the second.

06

Geomagnetic storms

MULTI-DAY SHIFT

Auroral absorption, depressed frequencies, unexpected openings that run for days. A network of stations turns every storm into a coordinated, multi-continent experiment.

Not a replacement. A missing piece.

Every mode below solves its own problem well. For messaging, error correction is exactly the right call — and it is also why messaging modes cannot do this job: the better a mode is at delivering text, the more thoroughly it erases what the channel did along the way. Keep FT8 for DX and JS8Call for chat. HFEdge listens alongside, on the same antenna.

ModeGreat atDesignWhat it tells you about the sky
FT8Weak-signal QSOs at −20 dBLDPC(174,87) · 50 Hz · 12.6 sOne SNR scalar per decode — the channel's structure is corrected away.
WSPRGlobal beacons at −28 dB4-FSK · 5.9 Hz · 110.6 sOne SNR number every two minutes. Beautiful map, zero detail.
JS8CallKeyboard chat in poor conditionsFT8-derived · 50 HzDelivery-oriented; FEC removes the error patterns.
OliviaThe tank of text modes8–32 tone MFSK + FECHeavy correction hides exactly the distortions scientists want.
VARAFast email over radioProprietary · up to 2.3 kHzClosed source; ARQ retransmission masks the raw channel.
H-ModeThe path itself is the measurementOTFS/AFDM/OFDM · no payload FEC · ≤ ~2.8 kHzEvery character scored — plus confidence, LLRs, and per-resource channel state.

H-Mode is to WSPR what a spectrum analyzer is to a signal-strength meter
— same antenna, same sky, categorically richer measurement.

From a reception to a research record.

A waveform by itself is not a measurement campaign — it needs plumbing. The running prototype accepts reception logs or compact diff-only uploads over a documented REST surface, and returns scored, geolocated, exportable observations. Its anomaly classifiers are physically reasoned but not yet field-validated. That validation sits on the public roadmap, not in a footnote.

PROTOTYPE · NOT FIELD-VALIDATED
MEASURECER · ERAS · INS · BLER

Core error metrics with 95% confidence intervals, timelines, burst-erasure statistics, and a full 36×36 confusion matrix per report.

LOCATEESTIMATED PIERCE POINTS

Every link geolocated at its model-estimated one-hop ionospheric reflection point — placed in the sky, not just at the endpoints.

INTERPRETTYPED ANOMALY CANDIDATES

The tracking service derives candidate labels — d-region-absorption, sporadic-e, epb-spread-f, tid — with severity and detail fields.

SHAREJSON · CSV ARCHIVE

Open archive exports, duplicate detection, and flagged-report moderation keep the dataset citable and clean.

One station measures a path. A thousand measure the planet.

A few hundred professional instruments watch the entire upper atmosphere. More than a million licensed amateurs already have antennas pointed at it. Amateur networks have mapped sporadic-E drift, caught tsunami-driven ionospheric waves, and run HamSCI’s eclipse campaigns — peer-reviewed work, validated against research instruments. What those networks never had was detail. That is the piece HFEdge supplies: a distributed ionospheric sounder, built out of Saturday afternoons, with room for company.

01

Casual contributor

Install, let it listen while your shack is idle. Scorecards flow to the network; zero effort after setup.

02

Active experimenter

Scheduled sessions with distant partners across bands and profiles. Compare your morning and evening skies.

03

Club or classroom

A ready-made STEM project — radio, statistics, space science, software. Simulated-device mode needs no radios.

04

Developer

Open specs, test vectors, clean C++20. Write a decoder in an afternoon and verify it character-for-character.

05

Scientist

Time-stamped, geolocated, quality-flagged, openly licensed, auditable end-to-end — a dataset built for citation.

Nothing here is secret.

Amateur radio forbids obscured meaning; HFEdge builds on that rule instead of working around it. The waveform specification, stream protocol, test vectors, configuration schema, and scoring mathematics are public. The seeded payload looks like noise on a waterfall, but it is not a cipher: the seed travels inside the transmission, and any receiver can regenerate the stream and re-score it independently. Every scorecard is a claim anyone can re-check.

§97.113(a)(4)No obscured meaning — full regeneration algorithm published; no encryption anywhere in the stack.
§97.305Occupied bandwidth ≤ ~2.8 kHz per bonded channel; windowing enforces SSB emission masks.
§97.119Frame F0000 carries callsign and six-character grid on every session. Mode ID: H-MODE.
ONE-WAYTest transmissions under licensed control only. Designed for compliance; operators verify local rules.

About.
The future.

This is the personal home of N2OSW. Luke McConoughey is the author of the H-Mode standard, engineering notes, protocol documentation, and the creator of the HFEdge project.

The next version of H-Mode will add optional short-block error correction for operators who need reliable delivery rather than pure measurement, while preserving the soft-output path for science. Think of v2 as UDP and v3 as TCP.

FOCUS
HF digital · DSP · citizen science
STACK
C++ 20/23 · Qt 6 · SoapySDR · REST
PRINCIPLE
Open spec · open source · open data
CONTACT
Luke@n2osw.com

The instrument needs company.

Stations, analysis, validation campaigns — the network grows by every kind of contribution, and a dongle in an apartment contributes as usefully as a contest station. Three ways in. Which one is yours?

PATH A~15 MIN

I have a transceiver

Connect over USB CAT or audio — the same hookup as FT8. Native Icom, Yaesu, Kenwood, Elecraft, FlexRadio, and Hamlib. Start with a 720-character PING and watch your first scorecard.

PATH B~10 MIN

I have an SDR dongle

RTL-SDR, Airspy, SDRplay, HackRF, LimeSDR, USRP via SoapySDR. Run receive-only — no license needed to listen, and your reception reports still feed the science.

PATH C~5 MIN

I have only a laptop

Run the built-in simulated device or hfedge_cli --loopback: a full TX→DSP→RX scoring loop with no hardware. Learn the protocol end-to-end.

Somewhere tonight a burst of hissing tones is climbing toward that restless mirror, and coming back down with a story about the trip. Come help write it down. 73.