COMMS Working Group
Hawaii
Alaska
Pacific
Mountain
Central
Eastern
Puerto Rico
UTC
Guam

 
MMDVM Multi-Mode Duplex Hotspot
 
 
 
29 Mar 2024 0723Z

Table of Contents

NOTE: Logged in accounts can view additional content within this article.


Preface

This article attempts to provide comprehensive steps on setting up the MMDVM for Digital Mobile Radio (DMR). However, this article is focused on using Mac OS X to do so. There are number of articles on-line that provide instruction on setting up RaspberryPi images and the MMDVM board from Windows. Areas that are Mac OS X centric include flashing the Pi-Star image, locating the MMDVM IP address and the use of Terminal to access the MMDVM via Secure SHell (SSH).

The content in this document assumes that the MMDVM is being operated within the United States of America and under Code of Federal Regulations Title 47, Part 97.

This article is focused on DMR support only. No meaningful discussion of NXDN, C4FM, D-Star or P25 is included within.


MMDVM BUYERS

Although the MMDVM Dual (full-duplex with separate transmit and receive radios) is an open-source hardware design board, locating a board with the full-duplex open-source implementation, and especially a full-duplex implementation that is endorsed by the MMDVM developers, can be difficult. Despite an extensive search (prior to August 2018), a proper source was not discovered until several weeks after an order was placed for the boards discussed here. The boards shown in this article are not compliant with the open-source standard and the vendor instructs the users to avoid performing a firmware update. This may be a significant issue for some users.

A full-duplex capable board that appears to be compliant with the open-source design is available through BI7JTA (click here). Apologies are offered to those offended by the use of the boards described within. No harm was intended when this purchase was made. A good deal of effort was exerted to attempt to locate proper full-duplex capable boards, and the truth is that it is not as easy a task as one might think. Locating proper half-duplex boards, on the other hand, is quite an easy task.

Potential purchasers of MMDVM hardware are encouraged to seek vendors that are endorsed or manufactured by the MMDVM developer community. Avoiding clones will also avoid maintenance issues, offending the MMDVM developer community, and the possibility that any posts to support forums might lead to a negative response. Unfortunately, there appears to be no unified list of approved vendors, no clear statement of conformance to standards, a centrally located statement by the MMDVM developers to indicate their desire and/or vision, or any guidance for the naive, making it difficult to locate an appropriate vendor. I am sorry to say that indications that information is available on social media is simply not an acceptable method of effectively conveying information (and especially for those who, for various legitimate reasons, do not participate on social media platforms). So, unfortunately, you, the potential MMDVM user, are left to peel the layers of the onion on your own and hope that you do not create offense in the process.

Bonne chance!


Overview

A Hot Spot provides internet connectivity to your digital radio for VOIP services in a localized coverage foot print. A Hot Spot may support one or more of the digital protocols that are available on LMR Part 90 and Amateur Radio transceivers. Among these are:

Early Hot Spots supported only a single protocol, and required that the Hot Spot be attached to a computer (DV4Mini), where routing control was managed manually by the user. Second generation Hot Spots were still restricted to a single mode but automated the routing control by channel selection of a pre-programmed channel that included the routing information (ie. Push-To-Talk or Dynamic Talk-Groups). Third generation Hot Spots added support for two or more protocols that were available on a mutually exclusive basis. Third generation Hot Spots (ie. SharkRF OpenSpot, MMDVM) continue to evolve through the evolution of both software and hardware to provide additional protocol support, inter-protocol support and full-duplex support. Where full-duplex support is provided, that support inherits all of the benefits that are inherent in the protocol being used.

The Hot Spot that is the focus of much of the development currently occurring, and at a very rapid pace, is the MMDVM and it's variants. The MMDVM is designed to attach to the Hat expansion connector on Raspberry Pi micro-computer boards. There are versions for the standard Raspberry Pi 2 or 3, or the smaller Raspberry Pi Zero. The MMDVM supports DMR, D-Star, C4FM, P25, NXDN, Yaesu Fusion to DMR, Yaesu Fusion to NXDN and Yaesu Fusion to P25.

The most recent hardware development for MMDVM is the availability of boards that have two radios and support full-duplex operation.

This article is focused on the MMDVM board with dual (duplex) radios and the DMR protocol, operating on the Brandmeister network.

With the MMDVM dual (duplex) board, much of the capability of DMR Tier II is now available on a Hot Spot. When interfaced to the Brandmeister network, additional Talk-Group subscription methods are available, including:

Indirectly, this level of feature support also enables the use of Receive Groups in the user's radio code-plug, allowing monitoring of multiple (low traffic) Talk-Groups simultaneously when the Hot-Spot has multiple Talk-Group subscriptions on the same Time-Slot as the selected channel.

Software support for the MMDVM running on a RaspberryPi micro-computer platform is provided by using Pi-Star.


MMDVM Board

The board shown below, and not obtained through BI7JTA, is readily available on eBay and is priced near $60. The board comes with two SMA antenna connectors and two UHF antennas. Board assembly requires that the customer solder the SMA antenna connectors. This board can be identified in photos as having the SMA connector that is opposite of the RaspberryPi Hat connector silk-screened with a label of AE2. The board has no silk-screen to indicate which connector is used for transmit and which connector is used for receive. This board is silk-screened with the label: MMDVM_HS_HAT_DUPLEX

The board shown below, and not obtained through BI7JTA, is readily available on eBay and is priced near $60. The board comes with two SMA antenna connectors, two UHF antennas and two headers that can be used if the user installs the board on a RaspberryPi Zero. Board assembly requires that the customer solder the SMA antenna connectors. This board can be identified in photos as having the SMA connector that is opposite of the RaspberryPi Hat connector silk-screened with a label of AE2. The SMA connector opposite of the RaspberryPi Hat connector, labeled AE2, is the receive antenna connector, and the SMA connector adjacent to the RaspberryPi Hat connector is the transmit antenna connector.


Missing: IMG_6507.jpg

After soldering the SMA connectors, the board is ready to be attached to the RaspberryPi Hat connector. At the time of this writing, the RaspberryPi 3B+ is not supported, and the user should select a compatible RaspberryPi 2 (sans WiFi), RaspberryPi 3 or RaspberryPi 3B board.


Missing: IMG_6510.jpg


INFORMATION
Some users have procured and installed 90° right-angle SMA connectors. If the RaspberryPi and MMDVM Hat are to be installed in a case, you may wish to consider connector orientation and case dimensions before assembling the MMDVM dual (duplex).


Pi-Star Software

Pi-Star provides a downloadable operating system and application bundle image. The image can be flashed onto an SD memory card. The SD memory card is then installed in the RaspberryPi. Final configuration is preformed with a web-browser that is connected to a Pi-Star web page that is hosted on the Raspberry Pi.


IMPORTANT
A Class 10, or faster, SD Card is required with a minimum size of 8 GB.


To download the software image, navigate to https://www.pistar.uk with your web browser.

Click on the Downloads menu on the left side of the page, and then click on the Download Pi-Star menu item.


Missing: pistar1.jpg

Click on the appropriate Pi-Star download file from the list on the page. For the RaspberryPi, the download target item will include Pi-Star_RPI_V in the file name. Select the most recent version from the list. In the example below, the most recent version for the RaspberryPi is Pi-Star_RPI_V3.4.13_23-May-2018.zip.


Missing: pistar2.jpg

Once downloaded, you will need to flash the SD card. If you are running Windows, please see the Writing an image to the SD card section on the RaspberryPi.org page by clicking HERE. If you are running Mac OS X, download the Pi Filler application from http://ivanx.com/raspberrypi/.

To flash the Pi-Star image, perform the following steps:

  1. Insert the micro-SD memory card into the Mac, using what ever adapters are appropriate for you system, and wait for the micro-SD card to mount (appear on the Desktop).

  2. Launch the Pi Filler application.

  3. Click on the Choose Target Disk button


    Missing: 0.1%20Pi-Filler.jpg

  4. Select the micro-SD card from the list of target disks and click the OK button.


    Missing: 0.2%20Pi-Filler.jpg

  5. Check that the Erase button includes the appropriate disk name and if properly indicated, click on the Erase button.


    Missing: 0.3%20Pi-Filler.jpg
  1. Navigate to the Pi-Star image file, select the file and click Choose.


    Missing: 0.4%20Pi-Filler.jpg

  2. Make a check that the appropriate named disk volume for the micro-SD card is indicated, and if all is correct, click Continue.


    Missing: 0.5%20Pi-Filler.jpg

  3. This is the last opportunity to avoid erasing the wrong disk. Click the Erase SD Card button to continue.


    Missing: 0.6%20Pi-Filler.jpg
  1. Enter your Mac OS X user account password and click OK.


    Missing: 0.7%20Pi-Filler.jpg

  2. A status window is periodically updated to indicate progress while the micro-SD card is erased and the Pi-Star image is installed to the micro-SD card.


    Missing: 0.8%20Pi-Filler.jpg

  3. When completed, click on the Quit button. The micro-SD card has already been un-mounted. Remove the micro-SD card from the Mac and install it into the RaspberryPi.


    Missing: 0.9%20Pi-Filler.jpg

CAUTION

The micro-SD card, and it's holder are delicate. Always be sure that power is removed from the RaspberryPi when inserting or removing the micro-SD card. The micro-SD card should be removed when performing mechanical installation of the RaspberryPi into a case. When installed into a case, it is recommended that the opening for the micro-SD card be covered with thin card stock and tape to prevent damage to the micro-SD card.


Initial Setup

Initial setup includes configuring the Pi-Star software to use your DMR-ID, select the appropriate version of MMDVM hardware, configure the appropriate frequencies and color code, select simplex or duplex operation, enable DMR operation and configure access to one or more WiFi networks if appropriate.

Connect the Pi-Star / Raspberry Pi device to your local area network using an Ethernet connection. If the Raspberry Pi includes WiFi support, you will be able to configure the WiFi to connect to a WiFi network later, after which you will no longer need to maintain an ethernet connection to operate the device.

To access the Pi-Star dashboard, navigate to http://pi-star.local. If you run Apache web server on your Mac OS X system in support of web development and have modified the local domain name server (DNS) settings, you may need to enter the IP address of the Pi-Star device into the web-browser page address field. Should you need to determine the IP address of the Pi-Star device, it is recommended that you obtain a copy of IP Scanner Pro from the App Store. IP Scanner Pro can be used to scan the local network and list all devices on the network. The image below shows the Pi-Star device at IP address 192.168.254.22. The page address would then be entered as: http://192.168.254.22


Missing: IP Scanner Pro.jpg

When the Pi-Star dashboard page loads, the initial splash screen will be shown:


Missing: 1%20No%20Mode.jpg

After a short delay, a login screen will be presented. Enter the username as pi-star and the password as raspberry, and then click the Log In button.


Missing: 14%20Login.jpg

You are now presented with the Pi-Star dashboard Configuration page. You will need to perform the following steps:


Missing: 3%20Config.jpg

Once the settings are properly configured, click on the Apply Changes button.

The changes will be applied to Pi-Star, and after a short delay, the page will refresh and an alert message will be displayed that indicates that the Radio / Modem Type has been changed and that this field must be set again.


Missing: 3A%20Config.jpg

Perform the following steps:


Missing: 4%20Config.jpg

Once the settings are properly configured, click on the Apply Changes button.

Now that DMR mode has been enabled, you will need to set the DMR ID field. Perform the following steps:


Missing: 5 Config - General Configuration.jpg

Once the settings are properly configured, click on the Apply Changes button.

Calibration of the MMDVM requires Secure SHell (SSH) access to the RaspberryPi, and this is covered in the two next sections.


Secure SHell (SSH)

Secure SHell (SSH) is available on Mac OS X without obtaining an application to perform SSH. Launch the Terminal application that is found in the /Application/Utilities/ directory. You do not need to download an Mac OS X application for SSH support.

To SSH into the MMDVM Pi-Star from Terminal, enter:

My-iMac:~ user_account$ ssh pi-star@pi-star.local

The syntax above is <command> <username>@<domain>. If the domain name cannot be resolved, replace the domain name in the command line with the IP address of the Pi-Star device.

My-iMac:~ user_account$ ssh pi-star@192.168.254.22

On your initial SSH session, before entering the password, you should see a notification that the SSH key is not yet validated:

The authenticity of host '192.168.254.22 (192.168.254.22)' can't be established.
ECDSA key fingerprint is SHA256:tMg2eYbGujBb564t0ZWZ2vax+SaQYew6/hgmwJc3QpM.
Are you sure you want to continue connecting (yes/no)?

If you see the above message, enter yes. You will not see this message on subsequent SSH sessions. Once the SSH key is accepted, you should see something similar to:

Warning: Permanently added '192.168.254.22' (ECDSA) to the list of known hosts.
pi-star@192.168.254.22's password: 

Enter the password as:

raspberry

Once logged in via SSH, you should see:

My-iMac:~ user_account$ ssh pi-star@pi-star.local
pi-star@pi-star.local's password: 
╔═══════════════════════════════════════════════════════════════════════╗
║                                                                       ║
║           ██████╗ ██╗      ███████╗████████╗ █████╗ ██████╗           ║
║           ██╔══██╗██║      ██╔════╝╚══██╔══╝██╔══██╗██╔══██╗          ║
║           ██████╔╝██║█████╗███████╗   ██║   ███████║██████╔╝          ║
║           ██╔═══╝ ██║╚════╝╚════██║   ██║   ██╔══██║██╔══██╗          ║
║           ██║     ██║      ███████║   ██║   ██║  ██║██║  ██║          ║
║           ╚═╝     ╚═╝      ╚══════╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝          ║
║                                                                       ║
╚═══════════════════════════════════════════════════════════════v3.4.13═╝
From your Windows Computer:
Pi-Star Dashboard:      http://pi-star/

From your Apple iPhone, iPad, Macbook, iMac etc.
Pi-Star Dashboard:      http://pi-star.local/

Pi-Star's disk is read-only by default, enable read-write with "rpi-rw".
Pi-Star built by Andy Taylor (MW0MWZ), pi-star tools all start "pistar-".

Last login: Sun Jun 10 22:51:58 2018 from My-iMac.netgear.com
pi-star@pi-star(ro):~$

Setting Deviation & Frequency Offset

To invoke the MMDVM Calibration from within the SSH session, enter:

pi-star@pi-star(ro):~$ sudo pistar-mmdvmcal 

Invoking the MMDVM Calibration will terminate the Pi-Star software and you should see:

Stopping Pi-Star Services...
Killing any remaining MMDVMHost processes...
MMDVMHost: no process found
MMDVMHost_NoOLED: no process found
MMDVMHost_Adafruit: no process found
Starting Calibration...
Version: 1, description: MMDVM_HS_Dual_Hat-v1.3.3 20180224 dual ADF7021 FW by CA6JAU GitID #53ed1ad
The commands are:
    H/h      Display help
    Q/q      Quit
    E/e      Enter frequency (current: 433000000 Hz)
    F        Increase frequency
    f        Decrease frequency
    T        Increase deviation
    t        Decrease deviation
    P        Increase RF power
    p        Decrease RF power
    C/c      Carrier Only Mode
    D/d      DMR Deviation Mode (Adjust for 2.75Khz Deviation)
    M/m      DMR MS 1031 Hz Test Pattern (CC1 ID1 TG9)
    S/s      RSSI Mode
    V/v      Display version of MMDVMCal
    <space>  Toggle transmit
DMR Deviation Mode (Set to 2.75Khz Deviation)

Before preceding with obtaining the deviation value, the frequency must be set. Enter E and then enter the frequency in Hz. For example, if the transmit frequency is to be 446.0125 MHz, enter 446012500.

Enter frequency (current 433000000 Hz):
446012500

For setting the deviation, you will want to view the MMDVM using a spectrum analyzer, or if a spectrum analyzer is not available, you can use a Software Defined Radio (SDR) receiver. The following images were obtained using a Rigol DSA-815 spectrum analyzer with the Bandwidth Resolution set to 300 Hz and the span set to 20 kHz.

Enter D to invoke DMR Deviation Mode. Once in DMR Deviation Mode, you can use the <space> bar key to toggle the transmitter on and off. The initial deviation will be displayed with a value of 50%. The following image shows the transmitter at the default 50% deviation setting:


Missing: mmdvm%2050.0.jpg

Note the peak at the center / marker frequency. The deviation should be adjusted to obtain the minimum amplitude of this peak. Use the T key to increase the deviation or the t key to decrease deviation, in 500 Hz steps, and seek out the point of minimum peak level at the center / marker frequency.

On the board used here, the deviation was increased to obtain minimum peak. The minimum peak was first encountered at a deviation level of 52.5% and was maintained at minimum peak to a deviation level of 55.0% (i.e. the peak increased below 52.5% and above 55.0%). A mid-point deviation level of 53.5% was then chosen as the best setting for minimum peak. The value that you obtain for transmit deviation should be recorded as this value is not automatically applied to the Pi-Star software and will have to be manually entered later.

The following image shows the reduced amplitude at the center / marker frequency with optimal deviation applied to the transmitter:


Missing: mmdvm%2053.5.jpg

While in DMR Deviation mode, note any error in the frequency and apply changes to the frequency setting, using the E key and frequency entry to center the mid peak on the center / marker frequency. Note the frequency error as you will need to enter this into the Pi-Star MMDVMHost settings later. For the example above, the desired operating frequency is 446012500 Hz but the entered frequency needed to be adjusted to 446012900 Hz to center the frequency, and this represents an offset of +400 Hz.


Some MMDVM boards are delivered with data that indicates the value to be used in the RXOffset and TXOffset fields of the Modem table found in the MMDVMHost page. When provided, these values provide a starting point, but should be validated for accuracy before using them to configure the MMDVM. The method of obtaining a proper value for TXOffset above results in an accurate value. Initial setting of the RXOffset uses the same value as TXOffset. The RXOffset value may be adjusted in later.


To exit calibration mode, enter Q. The Pi-Star software will then restart automatically.

Once the Pi-Star software has restarted, use your web-browser to access the Pi-Star dashboard and navigate to the MMDVMHost settings by clicking Configuration, Expert, and MMDVMHost. Then scroll down to the Modem section and enter the transmitter deviation into the TXLevel and DMRTXLevel fields, and insert the offset into the RXOffset and TXOffset fields:


MISSING: TXLevel.jpg

Click the Apply Changes button below the Modem section of the MMDVMHost window.

At this point, you should be able to observe networked operation of the MMDVM in conjunction with the Brandmeister Network. Click on Admin and the MMDVM should be operational. Transmissions received from the MMDVM receiver or from the Brandmeister Network should appear in the Gateway Activity table that is found on the Admin page.


MISSING: TXLevel.jpg

Performance Tuning

Note that performance tuning uses an iterative approach to arrive at optimal settings that provide best performance of the MMDVM. This iterative approach has a trial setting applied to the MMDVM, then a trial transmission is made while observing the bit-error-rate (BER) in an effort to determine what setting results in the lowest bit-error-rate (BER). If a more scientific approach is disclosed, this section will be updated.

Small adjustments remain to obtain the best performance out of the MMDVM board. These are focused on the receiver and involve trial testing while observing the bit error rate (BER) on the Admin dashboard. Areas targeted for optimizing settings include the RXOffset and RXLevel fields within the Modem table on the MMDVMHost page. Only one of these settings will be adjusted at a time.

Optimizing RXLevel

To optimize the RXLevel setting, perform the following steps:

  1. Navigate to the Admin page, and while observing the bit error rate in the BER column in the Gateway Activity table, make a trial transmission with your transceiver and record the BER value.
  2. Navigate to the Expert page and then select the MMDVMHost page.
  3. Locate the RXLevel field in the Modem table, increase the value by 25 and click on the Apply Changes button located just below the table. Record the RXLevel value.
  4. Navigate to the Admin page, and while observing the bit error rate in the BER column in the Gateway Activity table, make a trial transmission with your transceiver and record the BER value. If the BER value decreased, go to step 2. If the BER value increased, go to step 5.
  5. Navigate to the Expert page and then select the MMDVMHost page.
  6. Locate the RXLevel field in the Modem table, decrease the value by 25 and click on the Apply Changes button located just below the table. Record the RXLevel value.
  7. Navigate to the Admin page, and while observing the bit error rate in the BER column in the Gateway Activity table, make a trial transmission with your transceiver and record the BER value. If the BER value decreased, go to step 5. If the BER value increased, go to step 8.
  8. Review the data that you have recorded and locate the value for the RXLevel setting that produced the lowest BER. This is the optimal RXLevel value.
  9. Navigate to the Expert page and then select the MMDVMHost page.
  10. Locate the RXLevel field in the Modem table and apply the optimal value to the RXLevel field. Click the Apply Changes button located just below the table.

Optimizing RXOffset

To optimize the RXOffset setting, perform the following steps:

  1. Navigate to the Admin page, and while observing the bit error rate in the BER column in the Gateway Activity table, make a trial transmission with your transceiver and record the BER value.
  2. Navigate to the Expert page and then select the MMDVMHost page.
  3. Locate the RXOffset field in the Modem table, increase the value by 25 and click on the Apply Changes button located just below the table. Record the RXOffset value.
  4. Navigate to the Admin page, and while observing the bit error rate in the BER column in the Gateway Activity table, make a trial transmission with your transceiver and record the BER value. If the BER value decreased, go to step 2. If the BER value increased, go to step 5.
  5. Navigate to the Expert page and then select the MMDVMHost page.
  6. Locate the RXOffset field in the Modem table, decrease the value by 25 and click on the Apply Changes button located just below the table. Record the RXOffset value.
  7. Navigate to the Admin page, and while observing the bit error rate in the BER column in the Gateway Activity table, make a trial transmission with your transceiver and record the BER value. If the BER value decreased, go to step 5. If the BER value increased, go to step 8.
  8. Review the data that you have recorded and locate the value for the RXOffset setting that produced the lowest BER. This is the optimal RXOffset value.
  9. Navigate to the Expert page and then select the MMDVMHost page.
  10. Locate the RXOffset field in the Modem table and apply the optimal value to the RXOffset field. Click the Apply Changes button located just below the table.

Debug Logging

Logging can be enabled through the MMDVMHost page in the Expert section. The user can enable the Debug option in the area of concern by setting Debug to a value of 1. For example, if the Modem is to be logged, set the Debug field in the Modem table to 1.

The log level can also be set by adjusting the value of the FileLevel field found within the Log table. The available logging levels include:


FileLevel Value
 
0 None
1 Debug
2 Message
3 Info
4 Warning
5 Error
6 Fatal

The MMDVM logs are located at: /var/log/pi-star/

To view a list of logs in the directory, enter:

pi-star@pi-star(ro):~$ ls -la /var/log/pi-star/

This will produce a directory listing similar to:

pi-star@pi-star(ro):~$ ls -la /var/log/pi-star/
total 416
drwxrwxr-x 2 root root     80 Jun 11 03:55 .
drwxr-xr-x 8 root root    760 Jun 11 03:54 ..
-rw-r--r-- 1 root root 299416 Jun 10 16:40 MMDVM-2018-06-10.log
-rw-r--r-- 1 root root 119240 Jun 11 12:55 MMDVM-2018-06-11.log
pi-star@pi-star(ro):~$

The log files are date stamped with the filename starting with MMDVM and including the date. To dump the most recent log file, using the example directory above, enter:

pi-star@pi-star(ro):~$ more /var/log/pi-star/MMDVM-2018-06-11.log 

Use the space-bar to advance through the pages, or exit by typing Q.

If you wish to view live updates of the log file (using the example directory above) while the MMDVM is in operation, without having to repetitively dump the log, use the tail command as follows:

pi-star@pi-star(ro):~$ tail -f /var/log/pi-star/MMDVM-2018-06-11.log

Activity will continue to update in Terminal until the tail command is terminated with control-c.

The following is a sample dump that was obtained using the tail command.

pi-star@pi-star(ro):~$ tail -f /var/log/pi-star/MMDVM-2018-06-11.log 
M: 2018-06-11 18:55:14.047 0000:  06 00 61 79 20 44 4D 52 00                         *..ay DMR.*
M: 2018-06-11 18:55:17.045 DMR Slot 2, received network end of voice transmission, 5.2 seconds, 0% 
packet loss, BER: 0.0%
M: 2018-06-11 18:55:23.098 DMR Slot 2, received network voice header from N7IBC to TG 2
M: 2018-06-11 18:55:23.756 DMR Talker Alias (Data Format 1, Received 6/11 char): 'N7IBC '
M: 2018-06-11 18:55:23.756 DMR Slot 2, Embedded Talker Alias Header
M: 2018-06-11 18:55:23.756 0000:  04 00 56 4E 37 49 42 43 20                         *..VN7IBC *
M: 2018-06-11 18:55:24.471 DMR Talker Alias (Data Format 1, Received 11/11 char): 'N7IBC Larry'
M: 2018-06-11 18:55:24.471 DMR Slot 2, Embedded Talker Alias Block 1
M: 2018-06-11 18:55:24.471 0000:  05 00 4C 61 72 72 79 00 00                         *..Larry..*
M: 2018-06-11 18:55:30.711 DMR Slot 2, received network end of voice transmission, 7.7 seconds, 0% 
packet loss, BER: 0.0%
M: 2018-06-11 19:19:36.928 Downlink Activate received from W7CIA
M: 2018-06-11 19:19:37.329 DMR Slot 1, received RF voice header from W7CIA to TG 8
M: 2018-06-11 19:19:43.209 DMR Slot 1, received RF end of voice transmission, 5.9 seconds, BER: 0.4%, 
RSSI: -56/-56/-56 dBm
M: 2018-06-11 19:20:06.667 Downlink Activate received from W7CIA
M: 2018-06-11 19:20:06.963 DMR Slot 1, received RF Data Preamble CSBK (4 to follow) from W7CIA to 3736835
M: 2018-06-11 19:20:07.022 DMR Slot 1, received RF Data Preamble CSBK (3 to follow) from W7CIA to 3736835
M: 2018-06-11 19:20:07.082 DMR Slot 1, received RF data header from W7CIA to 3736835, 2 blocks
M: 2018-06-11 19:20:07.204 DMR Slot 1, ended RF data transmission

Full-Duplex MMDVM Operation

Full-duplex operation requires that the receiver and transmitter operate on separate frequencies. The magnitude of the difference between frequencies is referred to as the repeater split or repeater offset, and is standardized within the United States. This standardization enables radio manufacturers to automatically apply the split / offset when you program a repeater frequency in your amateur radio transceiver. The standard split for repeaters in the United States are:


BAND FREQUENCY RANGE SPLIT
10m 29.5 to 29.7 MHz 100 kHz
6m 50.1 to 54.0 MHz 200 kHz
2m 144.1 MHz to 158 MHz 600 kHz
125cm 222.0 MHz to 225 MHz 1.2 MHz
70cm 420.0 MHz to 450.0 MHz 5.0 MHz
33cm 902 to 927 MHz 12.5 or 25 MHz
23cm 1240 to 1300 MHz 12 MHz or 20 MHz

Localized exceptions to standard splits may occur. Consult with your local frequency coordinating body for information on the magnitude of the repeater split in your area.

Repeaters operate with separate transmit and receiver frequencies so that the received signal is not captured by the repeater transmitter. Further, the difference in frequency helps to prevent the repeater receiver from being overloaded by the repeater transmitter.


Note that you are not free to just pick an operating frequency. Frequency coordinating bodies are available to coordinate a repeater frequency pair. FCC regulations indicate who is responsible to resolve repeater interference disputes. Note that if there is a dispute between a repeater with a coordinated frequency assignment and a repeater with no coordination, the FCC will always favor the repeater with the coordinated frequency pair. It is your responsibility to ensure that your equipment does not cause interference. See CFR Title 47, Part 97.201(c) and 97.205(c) for further details.


Often, the difference in frequency is not sufficient to isolate the repeater receiver from the repeater transmitter to avoid repeater receiver desensitization (de-sense). Isolation can be improved by (1) using separate receive and transmit antennas and locating the antennas as far apart as possible, or (2) installing cavity duplexer filters.

A Band-pass / Band-reject (BpBr) cavity filter can be both expensive and large. Inexpensive Band-reject (Br) cavity filters, with lower performance, are inexpensive and small. Band-reject duplexers are also physically small. With the MMDVM operating at 20 mW or less, a Band-reject duplexer should provide adequate performance and enable using a single antenna that is shared for both receive and transmit functions.

A Band-reject (Br) cavity filter can obtained on eBay for $100, and these are specified to provide a minimum of -75 dB rejection and a maximum of 1.5 dB of insertion loss. The filter will be tuned by the vendor if a note is sent at the time of order. Make sure that the frequency is coordinated and will not cause interference before you purchase!

A Band-reject (Br) cavity filter can obtained on eBay (see www.ebay.com/itm/221370208031) for $100, and these are specified to provide a minimum of -75 dB rejection and a maximum of 1.5 dB of insertion loss. The filter will be tuned by the vendor if a note is sent at the time of order. Make sure that the frequency is coordinated and will not cause interference before you purchase!

The Band-reject (BpBr) cavity filter shown below was delivered pre-tuned. After delivery, it appears that the adjustments were not held while the locking nuts were tightened. Re-tuning improved the rejection figure by a few dB.


Missing: IMG_6523.jpg

CAUTION: This duplexer appears to be thermally sensitive and the tuning will vary with temperature. While initial measurement showed insertion loss within the -1.5 dB specification and rejection much better than the -75 dB specification, a check performed early in the morning with the duplexer cold shows insertion loss has deteriorated to just over -2 dB, which is more than 0.5 dB out of specification.

The following image shows the insertion loss at the low frequency and the rejection at the high frequency.


Br Duplexer Low Side

The following image shows the insertion loss at the high frequency and the rejection at the low frequency.


Br Duplexer Low Side

Increasing the split to 13.0 MHz improves the insertion loss. The following image shows the insertion loss at the low frequency of -1.06 dB and the rejection at the high frequency of -91.91 dB with a 13 MHz split.


Br Duplexer Low Side

The following image shows the insertion loss at the high of -0.78 dB and the rejection at the low frequency of -91.26 dB with a 13 MHz split.


Br Duplexer Low Side

The following image shows the Band-reject (Br) duplexer attached to the MMDVM dual (duplex) Hot Spot (this image has the MMDVM configured for operation on 441.9250 MHz with a +5.0000 MHz offset).


Missing: IMG_6512.jpg

The center connector on the cavity filter attaches to the antenna. The outboard connectors are labeled for the low frequency as transmit and the high frequency as receive. These should be attached to the appropriate MMDVM dual (duplex) TX / RX SMA connectors.


DUPLEX MMDVM OPERATION WITHOUT A CAVITY DUPLEXER FILTER

For operation without a cavity duplexer filter, the following frequencies are recommended to provide as much isolation between the transmitter and receiver as possible:


MMDVM HOT SPOT RX: 433.0125 MHz  
MMDVM HOT SPOT TX: 446.0125 MHz 20 mW MAX
OPERATOR TRANSCEIVER RX: 446.0125 MHz  
OPERATOR TRANSCEIVER TX: 433.0125 MHz Use Lowest TX Power Setting


Code Plug Support

In order to use the MMDVM, you will need to to program your transceiver to use the MMDVM Hot Spot. Each channel will need to be programmed to:

Once the channels are programmed, add the channels to a memory zone and then write the code-plug to the radio.


Brandmeister Dashboard

The Brandmeister dashboard cannot be configured until your MMDVM Hot Spot has appeared on the Brandmeister network. To get the MMDVM Hot Spot to appear on the Brandmeister network, select an MMDVM channel in your transceiver and key your transceiver. The log in to the Brandmeister.network web page. Expand the My hotspots menu item on the left side of the page and you should see your MMDVM Hot Spot listed. Click on the menu item listing your MMDVM Hot Spot to show the editor view.

The page is separated into the following sections:

Not discussed in this article are:


Missing: bmdashboard1.jpg

SYSOPS

A Sysop, depending on the roles selected, may view or modify the repeater / Hot Spot dashboard settings, or assign additional sysops. To add a sysop, click on the + Add a sysop to … button. This will present a small modal window where you can specify the call sign of additional sysops. Note that the sysop candidates should already be registered on Brandmeister prior to performing this task.


Missing: bmdashboard2.jpg

Enter the call sign of the sysop candidate and check the appropriate boxes in the User Roles section. Then click the + Add Sysop button.


Missing: bmdashboard3.jpg

Sysops that have been added, and their User Roles, will be displayed:


Missing: bmdashboard3a.jpg

STATIC TALK-GROUP SUBSCRIPTIONS

Static talk-groups are subscribed to by time-slot, with the form on the left supporting time-slot 1 and the form on the right supporting time-slot 2. To add a static talk-group subscription to time-slot 2, enter the talk-group number into the left field. In this example, talk-group 31160 (ARES Idaho) is being added to the time-slot 2 static talk-group subscription list.


Missing: bmdashboard4.jpg

Now click on the → button to add the entered talk-group to the time slot's list of static talk-group subscriptions.


Missing: bmdashboard5.jpg

To add a static talk-group subscription to time-slot 1, enter the talk-group number into the left field. In this example, talk-group 3116 (Idaho Statewide is being added to the time-slot 2 static talk-group subscription list.


Missing: bmdashboard6.jpg

Now click on the → button to add the entered talk-group to the time slot's list of static talk-group subscriptions.


Missing: bmdashboard7.jpg

TIMED STATIC TALK-GROUP SUBSCRIPTIONS

Timed static talk-group subscriptions support scheduled NET activity, and avoids having participating station operators from having to periodically key to maintain a dynamic / PTT talk-group timed lease. The sysop can specify the day of week, start time, stop time, talk-group, beginning date and end date for the timed static talk-group subscription. On the specified day and start time, the specified talk-group will become a static talk-group (always present) and does not require PTT activity to maintain the lease. At the end of the NET, the target talk-group looses its static assignment, and the repeater can return to non-NET operating activities.

To add a timed static talk-group subscription, click on the + Add Scheduled Static button and an edit window will be displayed.


Missing: bmdashboard12.jpg

Perform the following tasks within the edit window:

The following example has a recurring scheduling of the Outdoor Adventure NET scheduled to place talk-group 31772 into a static subscription from 1800 UTC to 2030 UTC each Saturday between 1 June 2018 and 31 May 2022.


Missing: bmdashboard13.jpg

When the form is properly populated, click on the add Talkgroup button. The subscription will then appear in the list of Active Timed Statics.


Missing: bmdashboard14.jpg


Compatibility Issues

Clocking issues were discovered and addressed in version 1.4.7 of the HS_HAT firmware. Version 1.4.7 fixes compatibility issues observed on some radios. For reference, see the article posted on Roger Clark's BLOG by clicking here. Note that the firmware update appears to recover from an audio drop-out, but does not prevent the drop-out from occurring. Initial testing shows the audio drop-out to occur and recover after a few seconds.

Our user's experience is that audio drop outs are rare on higher quality radios, such as Motorola, Hytera and Kenwood radios. Less expensive brands exhibit the audio drop out issue at a much higher frequency (as frequent as every transmission).


MMDVM Duplex / Dual HAT Firmware Update

The following process is used to update the MMDVM HS_HAT firmware for duplex devices. Note that Pi-Star must have been previously configured to enable SSH access before performing the steps to update the MMDVM firmware.

  1. Launch the Terminal application.
  2. Log in via SSH:

    sudo ssh pi-star@pistar.local

    or

    sudo ssh pi-star@nnn.nnn.nnn.nnn

    where nnn.nnn.nnn.nnn is the IP address of the Pi-Star / MMDVM. You will need to enter the password of the local computer first, then the password of the Pi-Star / MMDVM.
  3. Issue the command to update the firmware:

    sudo pistar-mmdvmhshatflash hs_dual_hat

  4. When prompted, hit any key to continue.
  5. After flashing the firmware, you will be prompted to hit any key to reboot the Pi-Star / MMDVM. Hit any key to reboot.

To obtain help, enter the following command (no parameters):

At the time of this writing, the above command will display:


pi-star@pi-star(ro): $sudo pistar-mmdvmhshatflash
This tool  is used to flash your MMDVM_HS Hat Modem
to use the command, you will need to pass he name of your modem,
please choose from the list below...

To flash HS_HAT (14.7456MHz TCXO) connected to GPIO, run: pistar-mmdvmhshatflash hs_hat
To flash HS_HAT (12.2880MHz TCXO) connected to GPIO, run: pistar-mmdvmhshatflash hs_hat-12mhz
To flash HS_DUAL_HAT (14.7456MHz TCXO) connected to GPIO, run: pistar-mmdvmhshatflash hs_dual_hat
To flash HS_DUAL_HAT (12.2880MHz TCXO) connected to GPIO, run: pistar-mmdvmhshatflash hs_dual_hat-12mhz

To flash ZumSPOT devices by please use pistar-zumspotflash
to flash MMDVM_HS Nano Hat devices please use pistar-vyehsflash
to flash your BD7KLE/BG3MDO devices please use pistar-mdoflash

Selected modem:    STM32-DVM / MMDVM_HS - Raspberry Pi Hat (GPIO)
Connected Hardware: 
pi-star@pi-star(ro): $

Additional information on firmware updates can be viewed by clicking here.

NOTE: All firmware update steps can be easily carried out by using the SSH window from within the Pi-Star hosted web-page, and do not require a Terminal application to be carried out.


References

The following web pages may provide additional references


WEB PAGE ADDRESS DESCRIPTION
www.pistar.uk PiStar.UK
www.raspberrypi.org/documentation/installation/installing-images/ RaspberryPi.org (Installing Operating System Images)
www.toshen.com/ke0fhs/pi-star-notes.htm Pi-Star Notes
pi-star.blogspot.com PI-Star Hotspot Interface
groups.io/g/PiStar Pi-Star Users Support Group
www.thepolyglotdeveloper.com/2016/08/connect-multiple-wireless-networks-raspberry-pi/ Connect To Multiple Wireless Networks With A Raspberry Pi
wiki.pistar.uk/PI-Star_integration_with_BrandMeister_API PI-Star Integration with BrandMeister API
mmdvm.bi7jta.org/2018/04/userguide-for-duplexhotspot-only-for.html User Guide for Duplex_hotSPOT_v0522 (BI7JTA)
mmdvm.bi7jta.org/2018/04/about-nano-mmdvm-repeater-kit-board.html User Guide for Repeater Kit Board (Nano series - BI7JTA)
www.repeater-builder.com/products/stm32-dvm-faq.html; Repeater Builder - RB_STM32_DVM FAQ
robrobinette.com/Ham_VHF-UHF_Digital_Modes.htm Amateur Radio Hotspot VHF & UHF Digital Modes - Rob Robinette (K9OJ)
radioid.net New Service to obtain a DMR ID (DMR-MARC no longer used for Brandmeister)
http://www.mw0mwz.co.uk/dmr_bm_talkgroups.php MW0MWZ Hosted List of Brandmeister Talk Groups
https://wiki.brandmeister.network/index.php/TalkGroups Brandmeister Wiki Hosted List of Brandmeister Talk Groups
https://www.rogerclark.net/dmr-mmdvm-duplex-hotspot Roger Clark's Blog (IMPORTANT information on clock related firmware update)