The MMDVM Modem is made up of several components-
- The interface board - Interfaces with the radios and performs the necessary filtering and amplification of the Tx and Rx Signals
- The Modem - an embedded microcontroller for doing the analog to digital and digital to analog conversion and sampling.
- The Host - usually a Raspberry Pi. Manages the modem and performs actions such as relaying DMR frames to the network.
The MMDVM software will run on several different platforms including the Arduino Due, the Teensy's, and the STM32 Nucleo. The DUE's are EoL, and the Teensy's are expensive, which left the STM32 as the logical option.
This guide is aimed at flashing the STM32 Nucleo board (STM32F446RE) for use with one of F0DEI's highly recommended MMDVM boards using MAC OS X. If you're using another MMDVM board, you may need to tweak the Config.h file accordingly.
I've not used an STM32 Nucleo before, so I had to do some research to figure out how to flash it. I've written up my findings below.
If you're using Windows I recommend F5UII's blog post here
![]() |
| The STM32 Nucleo |
![]() |
| F0DEI's MMDVM Board |
I tested this on 03/05/2020 and it worked as expected!




