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!
Install the required tools
Its assumed you've already got the Homebrew package manager installed on your Mac. If you haven't, you can find the instructions here
Once Homebrew is up and running its time to install the ARM tool chain. Open up a terminal and run the following commands-
You can then install st-link, a utility for working with the STM32-
Clone the MMDVM repository
Get the ST library
Next we need to change into the MMDVM directory and clone the STM32F4XX_Lib libary. Credit to CA6JAU for the library.
Edit the configurationBefore flashing the STM32 its necessary to edit the default configuration. The config below is for one of F0DEI's boards, but should work for others with some minor edits. First of all, open the file for editing-
Comment out the following line-
So it looks like this-
Then uncomment the following line-
So it looks like this-
If you're using the RSSI reporting feature or a Nextion display, you can also uncomment the following-
Compile the software
Now the configuration is updated, its time to compile the software-
The files should then appear in the bin/ directory-
Flash the STM32
Flash the .bin file-
You should see the following-
With thanks to-
- F0DEI - Designed the MMDVM board, provided support. To purchase one you can email him on- f...@orange.fr
- F5UII - This blog post greatly assisted with flashing the STM32
- G4KLX - Author of MMDVM and MMDVMHost
- CA6JAU - Heavily involved with development of MMDVM on the STM32 Platform
- VE2GZI - Heavily involved with development of MMDVM on the STM32 Platform
- And everyone else involved with the MMDVM project