Consider the OpenGD77 firmware and you’re all set with a very user friendly and customizable handheld radio.

https://www.radioddity.com/products/radioddity-gd-77-dmr-two-way-radio

https://www.opengd77.com/downloads/

This is probably the first DMR capable radio that is made for amateur radio. Obviosly not per default, but thanks to OpenGD77 it is now suited for amateur radio usage.

udev-Rules for Linux

 1# USB rules for GD-77
 2# Place this in /etc/udev/rules.d/ to let all users talk to the radios by USB.
 3
 4#
 5SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666"
 6
 7# HIDAPI/libusb
 8SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666"
 9SUBSYSTEM=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0094", MODE="0666"
10
11# HIDAPI/hidraw
12KERNEL=="hidraw*", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666"
13KERNEL=="hidraw*", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0094", MODE="0666"
14
15# HIDAPI/hiddev
16## We need to unbind this device, otherwise LibUsb will fail to SetConfiguration() and ClaimInterface()
17# For Bootloader (usbhid)
18KERNEL=="hiddev*", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666", RUN+="/bin/bash -c 'ID=$(IFS=/; read -a array <<< %p; echo ${array[-3]}); echo $ID > /sys/bus/usb/drivers/usbhid/unbind'"
19
20# OpenGD77
21KERNEL=="ttyACM[0-9]*", SUBSYSTEM=="tty", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0094", MODE="0666", GROUP="dialout", SYMLINK+="OpenGD77"

If you want do reload udev with the new rules, run:

1udevadm control --reload-rules && udevadm trigger

Original boot tone melody

The originally used boot-up melody. I’m not sure if it changed already, but this was on my GD-77 when I first installed the OpenGD77 firmware.

138,6,0,2,38,2,0,2,38,6,0,2,38,2,0,2,38,6

My boot-up picture

| OE7DRT Boot-up picture white{: width=“1280” height=“640” loading=“lazy”} | OE7DRT Boot-up picture black (inverted){: width=“1280” height=“640” loading=“lazy”} |

My boot-up picture in normal and inverted display mode. {:.figcaption}

Importing DMR-IDs

Open Extras » Download callsign database and fetch the data that you want.

Import menu{: width=“248” height=“125” loading=“lazy”}

Set the region to the desired MCC that you want to import. You can also use the inactivity filter that fetches only recently active DMR-IDs. Or you can import DMR-IDs from a file.

*[MCC]: Mobile Country Code

Import dialog{: width=“528” height=“407” loading=“lazy”}

I usually import them from a CSV-file. The file that I use contains all the austrian callsigns plus a few other callsigns, that I regularly see. So I need to import about 2000 callsigns.

If you don’t have a proper file to start with use this one here. It contains these regions: 232, 262, 263, 264, 222, 228. Download (~170KB)

Or: download your own set of DMR-IDs with the regions you want. You can also download only some federal states (like 2327,2328) if you don’t want all entries from 232. [Read along here][1] for some instructions about this.

[1]: {% post_url /amateur-radio/2020-11-16-create-your-own-dmrid-database-file %}

Band scope (Spectrum sweep scan)

I’m not sure when this feature was implemented, but OpenGD77 now supports an easy to use band scope on the GD-77.

Press and hold the hash key (#) when in VFO mode to enter this feature.