Skip to content
Configuration utility for DMR radios
C Objective-C Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Update sizes for DM-1801: 15 zones, 32 channels per zone; 40 group li… Jul 30, 2019
.gitignore Add stub for windows dfu version. Sep 6, 2018
99-dmr.rules Add TD-5R to the list of supported radios. Oct 29, 2018
Makefile Merge branch 'master' into patch-1 Sep 19, 2019
Makefile-mingw Creata a separate source file for DM-1801. Jul 30, 2019
d868uv-map.h Build id-to-contact map for d868uv. Nov 6, 2018
d868uv.c Fix #37: crash when updating a callsign database on MD-2017, and it d… Sep 18, 2019
dfu-windows.c Fix windows issues. Sep 18, 2018
hid-libusb.c Use pkg-config to configure libusb dependency. Jun 26, 2019
hid-macos.c Move OS independent HID routines to a separate file. Sep 18, 2018
hid-windows.c Process DM-1801 images. Jul 27, 2019
hid.c Move OS independent HID routines to a separate file. Sep 18, 2018
md380.c Fix config indent and header when PRINT_RARE_PARAMS is enabled Feb 10, 2019
radio.c Make DM-1801 images compatible with native CPS. Aug 12, 2019
rd5r.c Fix config indent and header when PRINT_RARE_PARAMS is enabled Feb 10, 2019
util.h D868UV: parse CSV files downloaded from Nov 24, 2018

DMRconfig is a utility for programming digital radios via USB programming cable. Supported radios:

  • TYT MD-380, Retevis RT3, RT8
  • TYT MD-390
  • TYT MD-2017, Retevis RT82
  • TYT MD-UV380
  • TYT MD-UV390, Retevis RT3S
  • TYT MD-9600
  • Baofeng DM-1701, Retevis RT84
  • Baofeng RD-5R, TD-5R
  • Baofeng DM-1801
  • Radioddity GD-77
  • Anytone AT-D868UV
  • Anytone AT-D878UV
  • BTECH DMR-6x2
  • Zastone D900
  • Zastone DP880
  • Radtel RT-27D

Packaging status


Read codeplug from the radio and save it to file 'device.img', and also save text configuration to 'device.conf':

dmrconfig -r [-t]

Write codeplug to the radio:

dmrconfig -w [-t] file.img

Configure the radio from text file. Previous codeplug is saved to 'backup.img':

dmrconfig -c [-t] file.conf

Show configuration from the codeplug file:

dmrconfig file.img

Apply configuration from text file to the codeplug file:

dmrconfig -c file.img file.conf

Update database of contacts from CSV file:

dmrconfig -u [-t] file.csv

Option -t enables tracing of USB protocol.


On Linux, a permission to access USB device is required. It's possible to run dmrconfig as root, like "sudo dmrconfig", but it's safer to enable access for users. Create a file /etc/udev/rules.d/99-dmr.rules with the following contents:

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

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

# Anytone AT-D868UV: ignore this device in Modem Manager
ATTRS{idVendor}=="28e9" ATTRS{idProduct}=="018a", ENV{ID_MM_DEVICE_IGNORE}="1"

To activate it, run:

sudo udevadm control --reload-rules

Then re-attach the USB cable to the radio.


Sources are distributed freely under the terms of Apache 2.0 license. You can download sources via GIT:

git clone

To build on Linux or Mac OS X, run:

make install

Regards, Serge Vakulenko KK6ABQ

You can’t perform that action at this time.