M17 (amateur radio)
M17 is a digital voice and data protocol specification developed by Wojciech Kaczmarski (amateur radio call sign SP5WWP) with contributions from the amateur radio community.[1][2][3][4][5][6] M17 is primarily designed for voice communications on the VHF amateur radio bands, and above. The project received grants from the Amateur Radio Digital Communications in 2021[7] and 2022.[8] The protocol has been integrated into several hardware and software projects,[9][10][11] including commercial handheld radios.[12][13]
Technical characteristics
M17 uses Frequency-Division Multiple Access (FDMA) technology in which different communication streams are separated by frequency and run concurrently. It utilizes 4,800 symbols per second, 4-level frequency-shift keying (4FSK) with a root Nyquist filter applied to the symbol-mapped bitstream. Radio channels are 9 kHz wide, with channel spacing of 12.5 kHz. The gross data rate is 9,600 bits per second, with the actual data transfer at 3,200. The transmission, called stream, is divided into 40-millisecond long frames, each prepended with a 16-bit long synchronization word. A group of 6 frames form a superframe and is needed to decode the link information data. The protocol allows for low-speed data transfer (along with voice), e.g. GNSS position data. The mode has been successfully transmitted through EchoStar XXI[14] and QO-100[15] geostationary satellites. M17 transmissions have also been tested using the OPS-SAT experimental satellite platform.[16][17]
Voice encoding
M17 uses Codec 2, a low bitrate voice codec developed by David Rowe VK5DGR et al. Codec 2 was selected as the voice codec due to its open licensing and suitability for low-bitrate digital voice applications. It is based on linear predictive coding with mixed-harmonic sinusoidal excitation. The M17 protocol supports both 3200 (full-rate) and 1600 bits per second (half-rate) modes.
Error control
Three methods are used for error control: binary Golay code, punctured convolutional code and bit interleaving. Additionally, exclusive OR operation is performed between data bits and a predefined decorrelating pseudorandom stream before transmission. This ensures that there are as many symbol transitions in the baseband as possible. A 16-bit cyclic redundancy check (CRC) code is used for data integrity assurance.
Application functions
The M17 protocol is designed for use in amateur radio communications.
- Callsign encoding: a 48-bit field holding up to 9 alphanumeric characters allows stations to be identified directly by callsign, eliminating the need for a centralized user-ID registration system.
- Two modes of operation: stream mode for continuous voice or data transmission, and packet mode for discrete data transfer.
- Slow-speed side channel for short and repeated data transfers, e.g. GNSS position data or telemetry.
- Network operation via reflectors and IP links, allowing repeaters and private access points (hotspots) to interconnect and route voice calls and data streams between distant stations.
Security features
- Bit scrambler encryption: a pseudorandom binary sequence created by combining an exclusive-or bitwise operation on the audio or data stream and a linear-feedback shift register using one of 3 feedback polynomials with 255, 65,535 and 16,777,215-bit repeat periods.
- AES encryption: symmetric, 128-bit block cipher operating in CTR mode with user-selectable 128, 192 or 256-bit keys.
- Digital signature authentication using ECDSA: a rolling digest is accumulated over the transmitted stream and signed by the sender using the secp256r1 curve. The signature is transmitted in additional frames at the end of the transmission and can be verified by receivers using the sender public key. This provides stream authentication independently of whether encryption is used.
Hardware support
With a small hardware modification, TYT MD-380, MD-390 and MD-UV380 handheld transceivers can be flashed with a custom, free, open source firmware[18] to enable M17 support.
In July 2024, a US-based company Connect Systems, Inc. released the CS7000-M17, being the first commercial off-the-shelf handheld transceiver with native M17 support.[19]
Bridging with other modes
Links between M17 and other digital voice modes and Internet linked networks exist, with several networks providing M17 access. Modes bridged include DMR, P25, System Fusion, D-STAR, NXDN, AllStarLink, EchoLink and IRLP.[20][21][22][23][24]
Comparison with other standards
| M17 | Digital Mobile Radio (DMR) | D-STAR | System Fusion (YSF) | |
|---|---|---|---|---|
| Specification type | Open | Open | Partially open | Closed (proprietary) |
| Developer | Amateur radio community (decentralized) | European Telecommunications Standards Institute (ETSI) | Japan Amateur Radio League (JARL), ICOM Inc., Kenwood Corporation, and others | Yaesu |
| Modulation | 4FSK | 4FSK | GMSK | 4FSK |
| Channel (medium) access | FDMA | FDMA (Tier I), 2-slot TDMA (Tier II/III) | FDMA | FDMA |
| Voice codec | Codec 2 (open-source) | AMBE+2 (proprietary) | AMBE (proprietary) | AMBE+2 (proprietary) |
| Arbitrary data transfer support | Full | Limited (text messaging, geolocation) | Limited (text messaging, geolocation, images) | Limited (text messaging, geolocation, images) |
| Extensibility | Full, through specification extensions | Fixed, defined by the specification | Fixed, defined by the specification | Fixed, defined by the specification |
M17 over IP
Access nodes and repeaters[25] can be linked using reflectors. Over 130 M17 reflectors exist worldwide (February 2026).[26]
Governance and licensing
The protocol's specification is released under GNU General Public License, with reference implementations released as open-source software. Development is coordinated publicly, with protocol documentation, reference code, and discussion available to the amateur radio community.
History
The project was started in 2019 by Wojciech Kaczmarski in Warsaw, Poland. A local amateur radio club he was a member of, was involved in digital voice communications. Kaczmarski, having experimented with TETRA and DMR, decided to create a completely non-proprietary protocol and named it after the club's street address - Mokotowska 17. As every part of the protocol was intended to be open source, Codec 2, released under the GNU LGPL 2.1 license, was chosen as the speech encoder.
Applications and projects with M17 support
- OpenRTX - free and open-source firmware for ham radios
- DroidStar - digital voice client for Android
- SDR++ - multiplatform, open-source software defined radio receiver
- SDRangel - multiplatform, open-source software defined radio receiver/transmitter
- OpenWebRX - web-based software defined radio receiver
- mrefd - M17 reflector[27]
- rpitx - general radio frequency transmitter for Raspberry Pi[28]
- dsd-fme - digital speech decoder[29]
- mvoice - voice client and graphical repeater application (Raspberry and Linux)[30]
- mspot - hotspot software[31]
See also
References
- ^ Dan Romanchik's (KB6NU) blog entry on M17 Project (Nov 2019)
- ^ "Świat Radio" magazine, issue 11/2020, p. 50: "Transceiver TR-9", an article covering M17 (Polish)
- ^ Ham Radio 2.0 podcast, "M17 Project - New Ham Radio Digital Mode" episode (Sep 2021)
- ^ Linux in the Ham Shack podcast, episode 396: "M17 Deep Dive" (Mar 2021)
- ^ David Rowe's (VK5DGR) "M17 Open Source Radio" blog entry (Aug 2020)
- ^ "M17 Open Source Digital Radio System", Ham Radio Workbench podcast (Dec 2019)
- ^ "Grant: M17 Open Protocol (Apr 2021)". Retrieved 2026-02-03.
- ^ "Grant: M17 Project Popularization, Research and Development (Sep 2022)". Retrieved 2026-02-03.
- ^ OpenRTX - free and open source firmware for ham radios
- ^ M17 Foundation "Hardware Projects" wiki page
- ^ HF5L "What's the deal with this M17?" article
- ^ Random Wire Review: Issue 130
- ^ Zero Retries - CS7000 commercial integration
- ^ Testing M17 on Echostar XXI at 10° East
- ^ AMSAT-DL Twitter entry on QO-100 wideband transponder M17 experiment (Apr 2021)
- ^ Jasiukowicz, Marcin: SDR subsystem of OPS-SAT 1 – test trial of M17 protocol in space, M17 Conference 2025
- ^ M17 Conference 2025 schedule
- ^ OpenRTX - free and open source firmware for ham radios
- ^ Zero Retries 0162
- ^ Douglas McLain's (AD8DP) GitHub page
- ^ Australian Multimode Network
- ^ Pride Radio Network
- ^ FreeSTAR Module-X
- ^ ANZEL Multimode VoIP/RoIP Network
- ^ RepeaterBook list of M17 repeaters
- ^ M17 reflectors list
- ^ Early, Tom (2023-09-09), MREFD, retrieved 2023-12-03
- ^ F5OEO (2023-12-02), About rpitx, retrieved 2023-12-03
{{citation}}: CS1 maint: numeric names: authors list (link) - ^ lwvmobile (2023-12-02), Digital Speech Decoder - Florida Man Edition, retrieved 2023-12-03
- ^ Early, Tom. "M17 Digital Voice, now using FLTK".
- ^ Early, Tom. "mspot M17 hotspot software".
Related links
- M17 Project's website
- M17 Project on GitHub
- Twitter feed
- Robert Riggs' (WX9O) M17 baseband encoder/decoder library (C++, GPL)
- OpenWebRX - web based SDR by Jakob Ketterl (DD5JFK), includes M17 decoder
- SDR++ - free, open source SDR software with M17 support
- mvoice - an open source program to connect to M17 reflectors
- Article on the M17 Project in the Radio Society of Great Britain's RadCom magazine