MMDVM DMR Mode setup with Tait TM8100 transceivers

To setup a DMR repeater with MMDVM, often the transceiver used are Motorola. This time, I sought to implement  TAIT® branded transceivers also used by professionals. The TM8100 series (TM8105, TM8110, TM8115…) works with MMDVM in both ways, in reception and transmission.

Thanks to this tutorial, you are invited to realize the settings of your Tait® transceivers. In my case, I use TM8110 UHF 10 channels. Let’s see this in a few steps.


First of all the rear socket of the station is a female DB15 socket. We will exploit these 5 pins which will be connected on the filtering MMDVM shield (Arduino Due ou STM32):

  • 6 RSSI (optionnal for RX way)
  • 7 Audio Input (TX way)
  • 12 PTT* (TX way)
  • 13 Audio Output (RX way)
  • 15 Ground

The PTT pin will be configured as alternate output with the Tait programming application.

TAIT TM8100 rear connector

Tait® Transceiver Settings

The configuration of the two transceivers (transmitter and receiver of the MMDVM repeater) can be the same programming.

Receiving/transmining channel

Using the Tait® programming application, we define a channel corresponding to the frequencies of the repeater (Channel Configuration menu). The receive bandwidth must be set to 12.5 (advised by Adrian) or 20 kHz.

Inputs and outputs programming

In order for the pin 12 assigned to the PTT to be configured, we program in the Tait® software (programmable I/O part) that the AUX_GPI1 pin is an input channel with an external alternate 1.

On the Audio tab, you must set Rx (which is the audio signal received by the transceiver) to an audio output point on R2.

For the EPPT1 row (corresponding to transmitted signal), the input point must be set to T13.

Réglage des voies Audio entrée et sortie du poste TAIT® TM8100

Here are the locations of the R2 and T13 points highlighted in the audio diagram.


: Audio connection poin (Output point or Audio input point)
ECS : peak excursion
FPB : low-pass filter
FPH : high-pass filter
CNA : automatic level control

Load both receiver and transmitter TAIT® TM8100 with the same configuration.

MMDVM Tuning for DMR mode

The two transceivers are now configured and connected to the MMDVM board. We will realize the MMDVM setting using the MMDVMCal software. This part is developed more precisely in my article Install MMDVMHost on Raspberry Pi and tuning MMDVM for DMR digital mode

For the adjustment of the DMR emission, the potentiometer must be set to a high limit stop and thus passing so that the entire LF signal is transmitted to the transmitter without loss.


Go to DMR deviation mode, by pressing D key (D uppercase).

Transmit (space bar) and control the transmisting spectrum. In my case, I use an SDR key to display the dynamic spectrum. Decrease the modulation amplitude until the central line disappears. I expect in my case 29%.

Exit the software with the Q key

Setting MMDVM.ini

It remains for us to configure the file MMDVM.ini

In the Modem section, we need to change these parameters for Tait® TM8100:

  • TxInvert and RXInvert are set to 1
  • DMRDelay is fixed to 90
  • TXLevel is set to 27  (29% finded reduced by 5% – 29 x 0.95 ≅ 27 )


We start MMDVMHost …

Here is your MMDVM repeater ready to operate with TAIT® transceivers of the TM8100 series. This configuration may well be suitable for other series of the TAIT® brand. Do not hesitate to share your experiences by submitting your comments at the bottom of the page. This can interest other Sysop …




If you would be interested to participate in a possible future new grouped order (MMDVM board, SvxLink Card), leave your email below to be reported!

9 thoughts on “MMDVM DMR Mode setup with Tait TM8100 transceivers

  1. 20KHz ? This is wrong bandwith. Use 12.5KHz for best results. i used TM8110 for two years on mmdvm with best results.

    best config ;
    (Traduction) 20 kHz ? Ceci est la mauvaise bande passante. 12,5kHZ donne les meilleurs résultats. J’utilise TM8110 depuis deux ans avec mmdvm avec de très bon résultats. La bonne config :
    # CWIdTXLevel=50
    # D-StarTXLevel=50
    # DMRTXLevel=50

    use direct TX path ( no TX pot).

    RX level always at 100, use RX V divider to set input, besides RX pot.

    J’utilise la voie TX directement (sans potentiomètre TX)
    Le niveau RX est toujours à 100, j’utilise un diviseur de tension pour RX, au cotté du potentiomètre de réglage RX.

    1. Hello Adrian,

      Thank you for your comments.
      I have not note any evolution of quality in function of bandwith reception (12.5 or 20 kHz). Otherwise, i think there is no interest to disassemble the TX pot because tuning it to stop position is enough. On my side, i had no need to limit the audio level transmiting by the TM8110, so no voltage divider here. It is yes necessary for the motorola transceivers. This is precisely one of the functions provided by my Motorola accessory plug adapter.

      Bonjour Adrian,

      Merci pour vos commentaires,
      J’ai noté aucune évolution de qualité en fonction de la largeur de bande de réception (12.5 ou 20 kHz). Par ailleurs, je ne pense pas qu’il soit intéressant de démonter le potentiomètre de réglage de l’émission puisque le régler en buté est suffisant. De mon côté, je n’ai pas eu besoin de limiter le niveau audio transmit par le TM8110, donc pas de diviseur de tension. C’est par contre nécessaire pour les motorola. C’est justement une des fonctions apportés par ma platine adaptateur de prise accessoire Motorola.

        1. No, I have not tested the configuration with other mode than DMR.
          Non, je n’ai pas testé la configuration avec d’autres mdoes que le DMR.

          1. That speaks for itself, For c4fm modes RX level must be lower than just for DMR, than standard SP8NTH rx pot minimum, especially with your bad rx opamp feedback R > 100K is too much gain #.

            MMDVM.ini RXLevel must be 100% for best adc intercept point. Also your circuit design # has too much gain on RX opamp. Change 100K R to 30K R and see the difference, and better audio quality.
            Extra inline rx audio in > R (10K) or v divider needed for good c4fm/P25 results and all modes.

            In RX and TX > level is not everything. Gain and impedance match for a better signal pattern / form, regardless of level determine the audio quality both ways.

  2. Also you are using 100K at minimum TX path. This is not enough. 200K TX pot or even better > direct TX path is required. Please provide a video of TX audio test on all 4 modes, and i will do the same to compare & prove to you which TX audio quality is superior? I have used all combinations of bandwidth, and deviation control, and over two years experience with the TM8110<>mmdvm, know which works best, having tried what you are doing now a long time ago, and have found much better since. Please test all 4 modes and see how your setting’s work then ?
    You said ;
    “On my side, i had no need to limit the audio level transmiting by the TM8110, so no voltage divider here.”

    The V divider is for RX audio level control, not “transmitting”

    The 12.5KHz benefit is obvious when you test RX range, isolation selectivity and signal quality properly.

    I challenge you to test your audio quality in all 4 modes incl P25 against my system ?

  3. Très bonne configuration,
    Ca apportera bien de l’aide aux OM’s.

    Very good configuration,
    It will bring a lot of help to OM’s.

  4. I am building dmr using your mmdvm shield based on nucleo. But after testing with my old mobile radios I ended up changing them with something tested. I found Tait TM8115 really on deal. But now I have strugles with programming and do further testing. Is the Tait have programming key combination to be changed for programming?
    And what version of the software did you use, and could you send it for a test? Also what cabe did you use, homebrew or stock cable?

    Je construis un relais DMR en utilisant votre platine mmdvm à base de nucleo. Mais après avoir testé avec mes vieilles radios mobiles, j’ai fini par les changer avec quelque chose de testé. J’ai trouvé un Tait TM8115 d’occasion. Mais maintenant, j’ai des difficultés avec la programmation. Est-ce que la combinaison de touches de programmation du Tait doit être réalisé pour pouvoir réaliser la programmation?
    Et quelle version du logiciel avez-vous utilisée, et pourriez-vous l’envoyer pour un test? De plus, quel câble avez-vous utilisé, homebrew ou câble standard?

    1. I didn’t try to make a serial cable, but I bought a USB cable directly for Tait ()
      All programming is performed by a specific Tait software. You need the correct version of the software that depends on the firmware of the device. For my part, I used TM8200_Tx9300_PROG_v2.12.1.3. exe which corresponds to my device. It is often the most complicated: having the compatible software of the workstation.

      Je n’ai pas cherché à fabriquer un câble série, mais j’ai directement acheter un câble USB pour Tait (Par exemple sur ebay)
      Toute la programmation se réalise par un logiciel spécifique Tait. Il faut la bonne version du logiciel qui dépend du firmware du poste. Pour ma part, j’ai utilisé TM8200_Tx9300_PROG_v2.12.1.3.exe qui correspond aux postes. C’est souvent le plus compliqué : avoir le logiciel compatible du poste.

Leave a Reply

Your email address will not be published. Required fields are marked *