DMR ID (Active Client) functionality in the GD-77 Community CPS

posted in: c#, DMR | 5


I’ve finally found a bit of time to add the DMR ID (aka ActiveClient) functionality into the GD-77 Community CPS.

This version should be treated as a Beta, because it has only been tested by me 😉


The new version can be downloaded from the usual location


Most people should download the version for firmware 3.1.x


Anyone still using the older (3.0.x firmware can download this version)




Currently the functionality is limited to downloading data from’s “Last heard” system, as I feel this is probably the best source considering the DMR ID system in the GD-77 can only hold 10920, and there are probably nearly 100,000  registered DMR ID’s.


The functionality operates in a similar way to the download feature I added to the Digital Contacts, except the ID’s are not stored by the CPS, hence if you want to update an existing list, you either need to download whats in your GD-77 and upload again, or download the ID’s again from scratch.

For those e.g. in the UK, where there are multiple region codes (234 and 235), just download 234 first and then download 235 (in any order you want).

I’d recommend after downloading each region, you look at the “Last Heard” value, which is the number of days since each ID has been active on the net.

As in the UK region (235), over 700 of the 3100 ID’s had not been “heard” by the Ham-Digital server for over a year.

Then select the rows which are older than (for example 365 days), and deleted them.This can be achieved by clicking on the first row you want to delete and shift clicking on the last row, and then by pressing the Delete key on the PC keyboard (not the Backspace)

Once you have a list that you want to write to the GD-77, you need to press and hold the same 3 button sequence as was required by Active Client, then turn the radio on.

And the DMR ID database can then be uploaded.

Note 1.

The 3 keys can either be, “blue”, “green” and “#” or “blue” “green” and *

Blue, Green # is probably safer as it only allows the CPS to access the DMR ID memory (at 0x30,000), where as Blue,Green * give the CPS access to all data except the lower 64k


Note 2.

The same total DMR ID’s limit applies. i.e The maximum number of ID’s the GD-77 can hold, is 10920.

(This number may seem a bit weird, but is that number because the amount of Flash memory the GD-77 allocates to DMR-ID is 0x20000 hex, and each ID takes 12 bytes, and there is a 12 byte header.)


I tried increasing this number, to 10943, as the memory just above the DMR ID block appears to be unused for the first 256 bytes (i.e to 0x50100). However when I tried to use that area, the radio locked up when there was an incoming signal, and I had to remove the battery to reset the radio.

One reason it crashed, was because the whole of the 64k page from 0x50000 to 0z60000 gets erased as soon as data at 0x50000 or above gets written to.

However I re-instated all data from 0x50100 to 0x5ffff and it didnt seem to make any difference.

So unfortunately there does not appear to be a way to increase the DMR ID database size beyond 10920 using the existing firmware.



I suspect I may need to make some modifications to this, but I believe its working well enough for any “early adopters” to use 😉


If anyone has any suggestions for improvements, please let me know.

I think loading data from CSV (spreadsheet) file would probably be top of my ToDo list, and possibly storing the DMR ID database in the codeplug file. However the DMR ID list was stored in the codeplug, I’d need to decide the max size of the list that can be stored. e.g. Would people want to store more than 10920 and potentially cull the list at a later date ?




5 Responses

  1. ken

    great job, really appreciated. do you have a direct link please, regards, ken

  2. Roger Clark


    I’ve updated the post to include links to both the version for firmware 3.1.x and also a link to the version compatible with the older 3.0.x firmware

  3. ken

    thats great. thank you

  4. ke5eua

    Where do you find a list of the regions?

  5. Roger Clark

    I just googled it and the best answer seems to be use these

    But you need to remove the last digit, because most countries have multiple regions

Leave a Reply