Field Guide · protocol

Also known as: M17

M17 is an open-source amateur digital-voice and data protocol created by the M17 Project. Its defining choice is the royalty-free Codec 2 vocoder, making it a fully patent-free alternative to AMBE-based systems like DMR, D-STAR, and System Fusion.12 Because every layer — modulation, framing, error coding, and vocoder — is openly specified and unencumbered by licences, M17 can be implemented end to end in free software and cheap hardware, which is precisely what the AMBE systems cannot do.

synccallsigns (LICH)Codec 2 voice 4FSK · convolutional + Golay coded
An M17 frame carries a sync word, callsign metadata in the LICH, and a royalty-free Codec 2 voice payload over 4FSK.

Overview

M17 transmits at 4800 symbols/s using 4FSK — 9600 bps of raw throughput — with root-raised-cosine pulse shaping, giving it an RF footprint similar to C4FM systems in a 9 kHz-ish occupied bandwidth. It runs in two link modes:

  • Stream mode — real-time digital voice (and optional data), the direct analogue of a D-STAR/DMR/Fusion voice call. Voice is Codec 2 at 3200 bps (a 1600 bps low-rate option also exists).
  • Packet mode — connectionless data frames for messages, position, and other payloads, more like an AX.25/APRS exchange.

Callsigns are not sent as ASCII text but base-40 encoded into a compact 48-bit address, so a full source and destination callsign fit in a few bytes of every frame.

Technical characteristics

Property Value
Access FDMA
Modulation 4FSK, 4800 sym/s = 9600 bps, RRC-shaped
Vocoder Codec 2 @ 3200 bps (1600 bps option)
Framing Stream and packet modes; 40 ms frames
Addressing Base-40 encoded callsigns (48-bit)
Error correction Convolutional (K=5, rate ~1/2) + Golay(24,12) + interleave
Networking Open reflectors (mrefd), IP over UDP

How it works

An M17 transmission opens with a preamble and sync word that a receiver correlates against to find the frame boundary and resolve the 4FSK symbol polarity. The stream then repeats fixed 40 ms frames. Interleaved through the stream is the LICH (Link Information Channel) — the source and destination addresses and stream metadata — split across several frames so a receiver joining mid-transmission (late entry) can reassemble the header without waiting for a new call. The payload bits are protected by a rate-1/2 convolutional code (constraint length K=5, Viterbi-decoded) with the most critical fields additionally wrapped in Golay(24,12), then interleaved and scrambled so that fades hit spread-out bits rather than one contiguous field. The voice itself is Codec 2, an open vocoder whose bitstream and reference encoder are public — the single most important difference from AMBE systems, since it lets a receiver actually reproduce the audio in free software.

History

M17 began in 2019 as a community effort to build a modern amateur protocol free of vocoder licensing constraints, coordinated through the M17 Project and developed openly on shared repositories.1 It reached usable maturity through open firmware (notably OpenRTX for existing DMR handhelds), the Module17 hardware add-on, and software modems, plus a network of open reflectors. Its growth has been driven by the “open all the way down” appeal rather than commercial radios.

Deployment

M17 is a growing but still niche amateur mode, reached through M17-capable open firmware on repurposed handhelds, dedicated hardware modems, hotspots, and reflector servers. Because it is fully open, it is also a favourite testbed for experimenters and for SDR receive projects.

Decoding it with GopherTrunk

M17 is the friendliest of the digital-voice systems for an open-source receiver: the 4FSK physical layer, the sync-word correlation, the convolutional/Golay FEC, and the Codec 2 vocoder are all openly specified, so — unlike AMBE-based D-STAR, DMR, and Fusion — there is no proprietary barrier to full decode. GopherTrunk decodes the M17 link layer (callsigns, mode, and stream metadata) today. See M17 link layer and Status for current coverage.

Sources

  1. M17 Project — the official open-source project site for the M17 protocol, its 4FSK air interface, Codec 2 usage, LICH/framing, and published specifications.  2

  2. M17 (amateur radio) — Wikipedia, for background on the open M17 digital-voice protocol, its royalty-free design, and its place among amateur digital modes. 

See also