What is MMDVM: the modem, firmware and boards in plain words

Category: HotspotsDifficulty: ★☆☆~8 minutes

You are building a digital hotspot or reading DMR forums and you keep running into the word MMDVM. It sounds like magic, but in reality it is a very concrete thing: a small board plus a program that turn your radio into a node of a digital radio network. Let's break it down piece by piece — what it is, what it consists of, and which parts you actually need.

What MMDVM is in plain words

MMDVM stands for Multi-Mode Digital Voice Modem. In essence it is a combination of two parts: hardware (the modem board) and software, which together act as a bridge between the radio airwaves and a digital network on the internet.

Picture a translator. On one side it has a radio signal on 433 or 144 MHz that your radio transmits. On the other side there is an IP network, through which a server (the master) connects you to other operators around the world. MMDVM receives the radio signal, understands the digital protocol (DMR and its relatives), packs the voice into data packets and sends it to the server. And the other way around: it takes packets from the network, reassembles them into a radio signal and puts it on the air. All of this happens in real time, with no noticeable delay in the conversation.

The key word in the name is Multi-Mode. The same modem can work with several digital modes, not just DMR. More on that below.

Where MMDVM came fromMMDVM is an open project started and maintained by Jonathan Naylor (G4KLX). That is exactly why hardware from different manufacturers is mutually compatible: everyone follows the same open specification, and the firmware and software are publicly available on GitHub.

What an MMDVM hotspot is made of

When someone says "I have an MMDVM," they usually mean a finished hotspot. It is built from three layers, and it is important to tell them apart, because each one is configured and updated separately.

A rough analogy: the ADF7021 is the mouth and ears, the STM32 with the MMDVM_HS firmware is the nervous system that translates sounds into impulses, and MMDVMHost on the Raspberry Pi is the brain that decides who to call and where. For more on the physical build, see the article Your own MMDVM hotspot.

What kinds of MMDVM boards exist

There are dozens of boards on the market, but in essence they fall into a few types. Understanding the differences will save you money and nerves.

Simplex versus duplex

The connection method: GPIO or USB

The crystal: ordinary or TCXO

For digital communication the frequency has to hold very precisely — a drift of a couple hundred hertz already interferes with decoding. Accuracy is the job of the reference crystal oscillator. Good boards use a TCXO (a temperature-compensated oscillator): it barely drifts when it heats up or between winter and summer. Cheap boards with an ordinary crystal require manual frequency adjustment — that is what MMDVM calibration is for. If you want less hassle, look for a board with a TCXO.

About the displayYou can connect a small OLED screen to any board: it shows who is talking right now, on which time slot and in which Talk Group. It is not mandatory, but it is convenient. How to hook it up is covered in the article OLED display.

The modem firmware and MMDVMHost: who is responsible for what

This is the spot where beginners get confused most often. The system contains two different "firmwares," and they are not the same thing.

The rule is simple: everything you touch when configuring the hotspot is MMDVMHost. The modem firmware is touched rarely and deliberately. If the hotspot behaves strangely right after the build, the culprit is more often the MMDVMHost config or the calibration than the board's firmware — typical cases are covered in the article when the hotspot doesn't work.

How MMDVM gets onto the network

On its own a hotspot is an island. For it to connect you with others, MMDVMHost has to connect to the network's master server. This is done using the Homebrew (HBP, Homebrew Protocol) — the standard for communication between hotspots/repeaters and servers in the DMR world.

The scheme is this: in the MMDVMHost config you enter the master's address, port, password and your ID. MMDVMHost establishes the connection, introduces itself to the server and keeps the channel open. From then on every voice packet of yours goes to the master, and from there — to whoever is listening on the same Talk Group. The return packets come back the same way. All of this works over the ordinary internet through your home router.

What time slots, Talk Groups and Color Codes are — the things that route the voice — is explained in detail in the article DMR from scratch.

Which modes MMDVM can handle

Since the modem is "multi-mode," it understands more than just DMR. Amateur digital communication has several formats, and most of them are built around the AMBE+2 family of vocoders — a way to heavily compress voice so it fits into a narrow radio channel.

A beginner does not need to turn everything on at once. Leave only DMR — less confusion, easier diagnostics, and DMR is exactly what you need to work in DMRhub.

What a beginner should choose

If you are just starting out and unsure, go for the following combination:

Leave duplex, USB boards and the other modes for later — it makes sense to move to them once you can confidently bring up a simplex hotspot and understand what you are missing.

Ready to get on the air

DMRhub is a private DMR network with its own master server. Sign up, get a DMR ID and connect your MMDVM hotspot in a few minutes.