Part 6: How an M17 Repeater Is Built

No commercial hardware at all, and the cleanest room selection of the six. Working notes, v1.2, 10 September 2026.

M17 is the one mode with no commercial repeater path at all. It has no trunking, no roaming and no talkgroup numbers, which makes it the shortest of the six pages. What it does have is the cleanest room selection of any of them, and that is worth the read.

The same four questions are asked of every mode, in the same order, so the seven parts stay comparable:

  1. The MMDVM route, and what gateway software it needs
  2. The manufacturer route, with model numbers
  3. Conventional or trunked
  4. Roaming, and whether amateurs can use it

MMDVM route

MMDVMHost plus a board, gateway is M17Gateway from G4KLX. It pulls M17Hosts.txt from DVRef, the same registry pattern as the others. The reflector end is mrefd, by Tom Early N7TAE.

The second software route: mspot, and it is not MMDVM

M17 is the only one of the six modes with a second, independent software route. mspot is by N7TAE, the same author as mrefd, and it replaces MMDVMHost rather than running alongside it. Its own README calls it "an M17-only hot-spot for the M17 CC1200 Raspberry Pi hat" and, elsewhere in the same document, "the M17-only repeater/hot-spot". The M17 Foundation's hotspot page lists it as an option in its own right: "N7TAE has created MSPOT an M17-only hotspot (or repeater)."

What it needs: a Raspberry Pi running trixie and the M17 CC1200 Pi hat. The README lists support for the SX1255 hat as future work. There is support for MMDVM modems on firmware 1.6, but it lives in a separate mmdvm branch of the repository rather than in the main line, which is the opposite of the usual arrangement: here MMDVM is the side option and the dedicated M17 board is the main one.

An earlier version of this page said "MMDVM or nothing" and listed mspot inside the MMDVM section. Both were wrong and are corrected here. mspot is not MMDVM software, and it is not only a hotspot.

Manufacturer route: there is none

The only one of the six with no commercial repeater path at all. The M17 hardware that exists is subscriber or modem side: LinHT, Module17, the CC1200 RPi shield, the SX1255 RPi shield, and Micro17. Nobody makes an M17 repeater you can buy.

What that leaves is two homebrew software routes, neither of them commercial: MMDVMHost with an MMDVM board, or mspot with the CC1200 hat.

That single fact explains most of the rest of this page. Features like beacon roaming exist in the other modes because a manufacturer built them into a commercial product line. M17 has no commercial product line, so it has none of them.

Conventional, and no trunking anywhere

M17 has no trunking. Not unused, not out of reach: the mode does not have it, and with no commercial gear there is nobody to add it. M17 is in the same group as D-STAR and C4FM here. Part 7 covers the trunking argument for DMR, NXDN and P25, which do have it.

Channel bandwidth

ModeChannel bandwidthModulationBit rate
M179 kHz occupied, 12.5 kHz spacing4FSK 9600 bps, 4800 symbols per second

M17 sits between the two efficiency camps and publishes its occupied bandwidth separately from its channel spacing, as D-STAR does: 9 kHz of signal in a 12.5 kHz slot, with a deviation index of 0.33 giving symbol deviations of plus and minus 0.8 and 2.4 kHz. It does not narrow the RF to 6.25 kHz the way D-STAR and NXDN do, and it does not divide the time the way DMR and P25 Phase 2 do. It just uses less of a standard channel than it is entitled to.

How M17 assigns rooms, and why it is the best of the six at this

Every mode has two different fields and they get confused constantly. An access field, which works like CTCSS and decides whether the repeater listens to you at all, and a routing field, which decides where your audio goes. M17 has both, but its routing field is a string rather than a number.

ModeAccess fieldRouting fieldRange
M17CANDestination callsign module letter in the last position

M17 has no talkgroup number. The destination callsign carries the reflector name with the module letter in the last position, so the routing is a string rather than an integer. CAN, the Channel Access Number, is the access field.

What M17 has instead, and it is better than the others at this one thing: module selection is native and per transmission. The destination callsign carries the reflector name with the module letter in the last position. Change the letter, change the room. No link command, no talkgroup table, no host file entry per room. DMR needs a talkgroup number, P25 needs a host file line for every room, D-STAR needs a URCALL command. M17 puts it in the header.

M17 shares the letter-attached-to-a-reflector-name shape with D-STAR and with nothing else, but it does it without D-STAR's URCALL command syntax. Four of the six put routing in a number the user dials: DMR talkgroup, C4FM DG-ID, NXDN destination ID, P25 talkgroup.

Roaming NO

Roaming needs two halves: a network half, several sites linked so that being on any of them puts you in the same conversation, and a radio half, something the radio can measure plus logic to move by itself. M17 has neither. No commercial gear to implement it, no beacon, nothing in the radios. Same position as P25, and for a different reason: P25's automatic roaming lives in its trunked systems, which amateurs do not run, while M17 simply has nobody who has built any of it.

This one is not a limitation of the mode. Nothing in M17's design prevents a repeater from beaconing or a radio from voting. It is an open protocol with an open codebase and the whole thing is reachable through MMDVM, which already implements a DMR roaming beacon. Of the four modes that answer no, M17 is the one where the answer could change without anybody's permission.

On a multi-mode repeater

M17 is single channel, so an M17-locked repeater carries one user. The mode hang timers are in part 7.

No M17 TX hang figure is printed here. The timer table these notes were built from lists TXHang for DMR, System Fusion, P25 and NXDN. It does not follow that M17 has none, only that the figure was never read, and nothing is invented in its place.

Sourcing status for this page