---
title: Radioddity GD-77
summary: >
  Consider the OpenGD77 firmware and you're all set with a very
  user friendly and customizable handheld radio.
aliases:
  - /equipment/handhelds/radioddity-gd77/
date: 2020-10-17
lastmod: 2024-12-18T07:58:09+0000
#categories:
#- amateur-radio
showBreadcrumbs: true
showReadingTime: false
showWordCount: false
---

[Product page][1] — [OpenGD77 Firmware][2] — [Latest CPS][3]

[1]: https://www.radioddity.com/products/radioddity-gd-77-dmr-two-way-radio
[2]: https://www.opengd77.com/downloads/GD77/Latest/
[3]: https://www.opengd77.com/downloads/CPS/Latest/

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

```rb
# USB rules for GD-77
# Place this in /etc/udev/rules.d/ to let all users talk to the radios by USB.

#
SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666"

# HIDAPI/libusb
SUBSYSTEM=="usb", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0094", MODE="0666"

# HIDAPI/hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="15a2", ATTRS{idProduct}=="0073", MODE="0666"
KERNEL=="hidraw*", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0094", MODE="0666"

# HIDAPI/hiddev
## We need to unbind this device, otherwise LibUsb will fail to SetConfiguration() and ClaimInterface()
# For Bootloader (usbhid)
KERNEL=="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'"

# OpenGD77
KERNEL=="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:

```console
$ udevadm 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.

```plain
38,6,0,2,38,2,0,2,38,6,0,2,38,2,0,2,38,6
```

## My boot-up picture

| Normal display settings                               | Inverted display settings                                        |
| :---------------------------------------------------- | :--------------------------------------------------------------- |
| ![OE7DRT Boot-up picture white](rendeer512_white.png) | ![OE7DRT Boot-up picture black (inverted)](rendeer512_black.png) |

## Importing DMR-IDs

Open _Extras >> Download callsign database_ and fetch the data that you want.

![Import menu](import-dmr-ids-menu.jpg)

Set the region to the desired <abbr title="Mobile Country Code">MCC</abbr> 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.

![Import dialog](import-dmr-ids.jpg)

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.~~ Well, I do not use DMR, D-STAR or C4FM so often;
so I don't import anything at the moment. But I came across this site again and I
thought I could update this list again (after nearly 2 years there are a few new
callsigns in this list -- about 2000 new callsigns).

{{< alert "circle-info" >}}
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`.

[:open_file_folder: ZIP](/files/dmrids_2024-12-18.zip "(30214 entries)") (~250KB)
: ZIP compression is a well-known standard on many systems. Many systems can handle
ZIP files out of the box. [Read more →](https://infozip.sourceforge.net/)

[:open_file_folder: ZSTD](/files/dmrids_2024-12-18.zst "(30214 entries)") (~245KB)
: Zstandard compression is a really fast compression algorith that still provides
higher compression ratios. [Read more →](https://facebook.github.io/zstd/)

If you want the older files, they are still available (if you have the link).

[Read more about compression](https://gregoryszorc.com/blog/2017/03/07/better-compression-with-zstandard/)
(and why I will include ZSTD compressed files on my website in the future)
{{< /alert >}}

_In addition to the compression-methods-article mentioned above, on this particular
file I had to use `zstd -6` to outrun `zip -9` (zstd ranges up to `-22`)._

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][dmrid] for some instructions about this.

[dmrid]: {{< ref "posts/2020/13-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 <kbd>#</kbd> when in VFO mode to enter this feature.

## Output power on 2m

![2m band output power](power-2m.png)

| Power setting | Out power (device 1) | Out power (device 2) |
| :------------ | :------------------- | :------------------- |
| +W-           | 7.50 W               | 7.60 W               |
| 5W            | 5.31 W               | 5.40 W               |
| 50mW          | 376 mW               | 152 mW               |
| 1W            | 1.30 W               | 1.35 W               |
| 2W            | 2.37 W               | 2.14 W               |
| 3W            | 2.90 W               | 2.70 W               |
| 4W            | 3.76 W               | 3.40 W               |

I have two devices and they differ on some settings (50mW setting for example).

## Output power on 70cm

![70cm band output power](power-70cm.png)

I have only measured one device as devices may differ largely.

| Power setting | Output power |
| :------------ | :----------- |
| 50mW          | 917 mW       |
| 250mW         | 925 mW       |
| 500mW         | 1.86 W       |
| 750mW         | 1.49 W       |
| 1W            | 1.67 W       |
| 2W            | 2.35 W       |
| 3W            | 2.96 W       |
| 4W            | 4.22 W       |
| 5W            | 7.50 W       |
| +W-           | 8.41 W       |