Personal Page of DM3MAT

qdmr - A Codeplug Programming Tool for cheap DMR Radios

Screen-shot of qdmr in action.

This small project is derived from work by Serge KK6ABQ, who reverse-engineered the code-plug format and communication protocols of cheap Chinese DMR Radios. To this end, I only added a graphical user interface to Serges work. However, being a interactive application, I had to rework some of Serges code. Since I only own two DMR radios a Radioddity/Baofeng RD-5R and a Retevis RT3S, these are the only Radios being supported right now. Serges dmrconfig application supports much more radios.

Supported Radios

FM Channels DMR Channels Contacts Group Lists Zones Scan Lists Roaming GPS CTCSS Signaling DCS Signaling Callsign DB
Radioddity/Baofeng RD-5R
TYT MD-UV390 / Retevis RT3S

Low-hanging Fruits

Although only two radios are currently supported, there are a lot of radios that are basically identical to those supported. To this end, support for those radios can be added quiet easily once I get my hands on those radios or I find someone who is willing to test the implementation.

The following radios are closely related and can be supported easily:


For now, all necessary HamRadio related features of the DMR radios are supported. That is, managing the radio ID, contacts, RX groups, channels (both, analog and digital), zones and scan lists. Some minor but interesting features are still missing. For example DTMF contacts and callsign databases.

I also added some nice GUI features, that may help you to assemble code-plugs. The application downloads some information from and provides auto-completion for repeaters near you (e.g., by settings your locator in the settings dialog or by enabling the OS location service there). This feature may help you to discover some nearby repeaters and also provides the RX/TX frequencies for these repeaters automatically. If your local repeater does not show up, consider helping Martin DK3ML by adding/updating it at repeatermap.



For the time being, I only provide binaries for MacOS X (see versions above) and Ubuntu. Under MacOS X, just download the DMG disk-image for the latest release from my github page.

Under Ubuntu Linux, consider adding my PPA (personal package archive) to your list of sotware sources with

    sudo add-apt-repository ppa:hmatuschek/ppa
    sudo apt-get update

Now you can install the GUI application with

    sudo apt-get install qdmr

Please note that there is also a command-line tool called dmrconf. This tool allows you to up- and download codeplugs from the command line. To install dmrconf run

    sudo apt-get install dmrconf

You may also
Get it from the Snap Store


When running qdmr or dmrconf under Linux, you may need to change the permissions to access USB devices. Create a file /etc/udev/rules.d/99-qdmr.rules with the following contents:

    # TYT MD-UV380
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="666"

    # Baofeng RD-5R, TD-5R
    SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="666"

Finally execute sudo udevadm control --reload-rules to activate these new rules.


There is a manual that describes the assembly of a codeplug using qdmr as well as a brief introduction into DMR in german. The dmrconf command-line tool gets shipped with a man-page. Finally, there is the API documentation of the Qt5 library that gets used by the GUI and command-line application.


qdmr - A GUI programming tool for Chinese DRM radios. Copyright (C) 2019 Hannes Matuschek, dm3mat [at] darc [dot] de

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

Best & 73,
Hannes, DM3MAT