Unlike the DV4mini, DVMEGA, and OpenSPOT dongles the MMDVM project is not a product but a small system comprising a Linux platform (often a Raspberry Pi), a small 32-bit ARM Coretex M3 microcontroller, and an analog interface circuit to connect an analog FM transceiver. Support for low power hotspot operation based on adapters using the Analog Devices ADF7021 integrated FSK transceiver chip used in most other hotspots is also now available. The mmdvm is a multi-mode system in that it supports a variety of digital voice modes but our interest here is with its DMR capability.
The system components are responsible for different aspects of the modem. The Pi looks after the IP connection (Wi-Fi or Ethernet) and network layer function implementation sending and receiving modulation symbol data via the USB port. The ARM Coretex microcontroller is timed by an accurate clock derived from a TCXO and demodulates incoming FSK from the attached receiver’s discriminator tap or modulates the transmitter by creating FSK symbol by means of varying voltage applied to the FM modulator. For accurate FSK modulation the transceiver needs a good frequency response extending down towards DC. The ARM chips used have internal memory but most importantly the necessary high resolution analog-to-digital and digital-to-analog converters needed to deal with the waveforms at the interface to an analog FM transceiver and make it digital.
The code for the Pi board is here:
The code for the ARM board is here:
Because of the relative complexity in compiling this code pre-built images are commonly used, but for the adventurous it’s a lot more interesting to build up the two tool chains, delve into the code, and through that learn more about project.
Hardware consists of pretty much any of the Raspberry Pi or similar Linux single board machines, the Arduino or Teensy ARM boards, and a low pass filter PTT/LED interface board. Then add your transceiver of choice, both Tait TM81/8200 and Motorola CDM series are popular choices. Here is just one example of a nice MMDVM combo showing a Teensy ARM board from PJRC.COM mounted on an MMDVM interface board designed by Toufik F0DEI:
This page will be updated with more details on networking with the MMDVM, applications, and the necessary configuration files.
Note: Raspberry Pi is a word mark of the Raspberry Pi Foundation. TCXO is a temperature compensated crystal oscillator often mounted on an adapter called a Zum board in early versions of the project. MMDVM is the multi mode digital voice modem and is the brainchild of Jonathan G4KLX.