Personal Page of DM3MAT

qdmr - A codeplug programming tool for DMR radios

Screen-shot of qdmr in action.


  1. Introduction
  2. Supported Devices
  3. Features
  4. Releases
  5. Install
  6. Documentation
  7. License


Digital mobile radio (DMR) was not invented for the use in amateur radio. It was rather designed to be a radio standard for commercial applications in large companies (e.g., airports etc.). Therefore many features of this standard are of no use for ham radio or are even illegal (e.g., encryption). This complexity of the standard makes the programming of the radios cumbersome.

Moreover, the resulting configuration (code-plug) is highly device-dependent. These code-plugs cannot be shared between different devices let alone between different vendors. For commercial applications, this is not a big problem as a company will most likely buy identical radios at once from one company. Thus code-plugs can be shared between all radios.

For ham radio applications, this incompatibility is a real issue. Since assembling a decent code-plug for one region is hard enough, doing the same work all over again for different models of different vendors is not manageable.

Finally, the typical code-plug programming software (CPS), particularly those for cheap Chinese DMR radios, is by no means user-friendly and seldom documented completely. Many options are named cryptic and it is not possible to identify which options are necessary for basic DMR operation. Moreover, the CPSs provided by the vendors usually only run under Windows.

The aim of the qdmr project is to overcome these shortcomings of typical CPSs. It has a reduced feature set, only supporting those options necessary of amateur radio usage. It tries to be user-friendly by finding repeaters nearby and importing their input and output frequencies. Moreover, it does not store the final code-plug in a device-specific binary format, but in a human-readable text file that is device independent and can therefore be shared across multiple device and even across vendors.

This project is derived from work by Serge KK6ABQ, who reverse-engineered the code-plug formats and communication protocols of cheap Chinese DMR radios. Being an interactive application, I had to rework some of Serges code. Since I only own three DMR radios a Radioddity/Baofeng RD-5R, a Retevis RT3S and an AnyTone AT-D878UV, only a few radios are supported right now (see below). Serges dmrconfig application supports much more.

Supported Radios


Low-hanging Fruits

Although only few 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.


For now, all necessary ham-radio related features of the DMR radios are supported. That is, managing the radio ID, contacts (both digital an DTMF), RX groups, channels (both, analog and digital), zones, scan lists, GPS/APRS (if supported by the radio) and call-sign databases (again, if supported by the radio).

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.

The application also downloads the complete call-sign database for all assigned DMR IDs to allow for an update of the call-sign DB within the radio (if supported). This database is also used to provide autocompletion for the DMR contacts. That is, you can easily assemble your private calls using only the call-signs of your friends and you do not need to lookup their DMR IDs.



There are several ways to install qdmr ranging from simple App-package downloads to building qdmr from its sources. For a detailed instruction list, read the install instructions.



qdmr - A GUI programming tool for Chinese DMR 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