--- title: Radioddity GD-77 summary: > Consider the OpenGD77 firmware and you're all set with a very user friendly and customizable handheld radio. date: 2020-10-17 lastmod: 2024-07-07T19:28:52+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 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. ![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: Download (\~246KB) {{< /alert >}} 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 # 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 |