Codeplugs for specific use (QTH, Car, Portable)

Let’s assume you have the same gear as I have. Three D-878UV Handheld, two D-578UV mobile radio’s, one in the car, one in the QTH. Just by their use they are different.


Radio Where located Movement Repeaters in Codeplug Remarks
D-578UVPlus QTH none, static local connects to repeaters nearby, always the same ones
D-878UVPlus Always with me, beltclip often, dynamic Europe or Countries I will travel to connects to repeaters when available otherwise to a hotspot 
D-578UVPlus CAR mounted often, dynamic Europe or Countries I will travel to connects to known repeaters or hotspot, gps-roaming should be enabled for common regions. “Normal” roaming should be configured after your countries band plans

I am lazy and want to get what I want without pressing to much buttons or crawl in lists. That’s why I created three different CP’s each developed with the best performance for the specific use in mind.

QTH: The D-578UV in the QTH knows only my hotspots at home and 8 repeaters nearby. BUT I have multiplied each repeater (channel) 23 times. As the codeplug software does not accept duplicated channel (repeater) names, each repeater name got an addition which represents the TG. I.e. you will find the repeater DB0ANT as DB0ANT World, DB0ANT Germany and so on. In the channel list a different TG is associated for each channel of the same repeater as you can see here in the screenshots:

Zone Edit - pointing to the channels with TG for the QTH zone
Zone Edit – pointing to the channels with TG for the QTH zone

Part of the channel list, repeaters with TG's directly associated
Part of the channel list, repeaters with TG’s directly associated


The zones I have defined are the digital repeaters with (QTH) or without (CAR, PORTABLE) associated TG’s, my hotspots, PMR, analog repeaters and European DMR repeaters as seperate zones for each country. The TG-List is still there with all TG’s available worldwide, but for QTH use, I just need the channel knob to switch between talkgroups by using the Channel/TG combination. Very convenient. A roaming list is not needed, as this radio normally does not move.

CAR: Differently constructed is the CP for the D-578UV in the car. Each repeater is marked with the associated Timeslot (TS) and my most used TG. That means i.e. DB0ANT has two entries DB0ANT-Germany (TS1) and DB0ANT-World (TS2) associated by me as a default. That saves channel entries and is used in all DMR zones.

I have in my channel list all (and I mean ALL) European DMR repeaters after this methodology. Countries can be selected by the zone list, where each country has its own entry with the corresponding repeaters associated twice (TS1/TS2 = Germany/World). With one look at the repeater name I can imagine my TS and my TG is also displayed underneath the repeater name. Of course my hotspots are also there, in case I can not reach a repeater and I have a hotspot with me. In such a case I have LTE connection for my DMR hotspot to the WLAN router in the car. In addition I have created a roaming channel list and a roaming zone list for my state, where I travel most. With the roaming switched on, the radio in the car chooses by itself the next reachable repeater. GPS roaming is also switched on.

PORTABLE: The handheld radio has the same channel-list and zones plus the QTH zone with the Channel/TG combination settings. Furthermore it uses roaming zones and roaming channels as well as GPS roaming. Also my hotspot can be used with the handheld, either in the QTH or i.e. in a hotel with internet access or using my portable router where LTE is available.

I hope that my ideas behind these different CP’s became clear to you, if not pls. blame me as I must have explained it in a wrong way.


DMR explained with a few words

When I first started with DMR my head started spinning and my consumption of pain killers against head-pain raised dramatically. After a while – understanding the concept – I can say that my analogue Yaesu FT857 is more challenging in terms of settings, than my Anytone DMR radios. Well I am deep into Computers since 1980 which is an advantage for sure. I strongly recommend to use Rons CSV Editor in the PRO Version for some $$$ or use OpenOffice Calc from within the OpenOffice suite. I mention that because Microsoft’s Excel is a nightmare compared to this two alternatives when it comes to csv files, and we mainly deal with csv’s.

DMR is not complicated, it is just damn complex. The other problem you will find, is that most information in the internet is either wrong, outdated, half the truth, unclear or goes too deep into details which are not important for the programming of a radio by the Codeplug -Software (CPS). Programming a radio via the codeplug is a bottom up approach.The whole thing consists of a channel list (analog and digital frequencies named by repeater or the use of it), Zones where you group your frequencies logically (i.e. by country, region, usecase or personal taste), a Talkgroup-list of Talkgroups (TG) you are interested in (World, local, regional, country, state, county, language or specific use like emergency comms).

The next hurdle you have to take is the quality of the Codeplug Software. Always the English translation is the best even if makes a native English speaker laugh out loud. If you understand English, feel like belonging to an elite group, which has access to an close to understandable piece of software. If you don’t speak English – good luck !!

Furthermore you need your personal DMR/CCS7 Identifier, a seven digit number which represents you and your callsign in the DMR (and DStar) network. For Europe and Africa, you can register here. North America, South America, Asia and Oceania must register here. In both cases you have to upload a scan of your License.

DMR user details are available in a DMR/CCS7 Database which is ready for download in the internet. Downloaded and imported to the radio, you will see each station with additional information like Call-Sign, Name, City, State, Country. Good sources are,, but my preferred tool is the “easy DMR contacts generator” by HK3A as it supports different radio types. If you only see a 7 digit number, either your Digital ID list is outdated and you have to load a new one or your radios Digital ID database is full and the newly registered callsigns can not be loaded to your radio. Either way – it’s not the other OM’s fault that you do not see his/her callsign, the problem is on your end !

When dealing with repeater (channel-) lists, you will come across a colorcode. This can be a value between 0 and 15. Mostly color code 1 is used. You will find the color code in the repeater lists for DMR in the internet (see useful links for details). The color code of the channel in your codeplug has to be the same as the one on the repeater.

Finally you will find static talkgroups and dynamic talkgroups associated to TS1 or TS2. Which talkgroups are associated to which Timeslot you can find out on the website of your repeater or at the Brandmeister / DMRplus pages in general or for the desired country. The difference is that a static TG is always there, if you want to join a TG which is not static (=dynamic), you choose the talkgroup of your liking in the radio, select it, press PTT and you are subscribed (dynamically) to it with an inactivity timeout of 6-10 min. if you do not have a qso, otherwise you have to press the PTT again (and again) because this TG is closed by the repeater if it is not kept open by you (or others). Both kind of TG’s can be on any TS but you should use TS2 for dynamic talkgroups. The reason is if you choose a dynamic TG on TS1, you disturb the static talkgroups, mainly the country wide ones which are very frequented. If you want to listen permanently to a talkgroup which is not static on your repeater, consider to buy a hotspot, which you can configure to your personal needs without disturbing other OM’s.


Was it that hard ?


More good information can be found on the useful links page


Codeplugs explained

Most HAM’s have big problems to understand codeplugs, but actually they are not so difficult to understand. A codeplug is nothing else than a bunch of csv (comma separated files) like an excel spreadsheet, just in ASCII format, each cell separated by a comma (or semicolon), each row separated by CR+LF (Carriage-Return+Line-Feed or simply ENTER). These files are than imported and compiled by the manufacturers program for the radio into the codeplug (CP). This CP-program needs some basic settings how the radio should behave in general i.e. Audio-Settings, DMR-ID, Bluetooth-Settings, How the keys should work etc.. Have you used CHIRP before to program your radio ? Well this is basically the same, but you don’t have only one file to upload to the radio, you have many in different formats.

As I mentioned before: Please search for an existing CP like the one from the Dutch HAM PC5E, export the CP entirely into CSV files (in a separate directory and inspect them. What you definitely need is Ron’s CSV Editor which can be downloaded and bought from Ron’s Website.

The interesting information can be found (after exporting to CSV) in a fair amount of CSV-files. Now you can start experimenting with it, using Ron’s editor, Excel also works but it’s too heavy for my taste. A complete export of the whole codeplug into CSV files looks like this:

Please do not forget to save the initial codeplug (factory setting) as the first task after unboxing, to be able to set the radio back into “as delivered” mode.

The files interesting for us as beginners are: Channel.csv, TalkGroups.csv, Zone.csv, DigitalContactList.csv. These files are quite hard to edit just through the manufacturers software, but Ron’s CSV Editor speeds the process of modifying/editing up by the factor of 100.

Now collect from different souces the necessary information, like repeaters analog and digital as well as your hotspot frequencie(s), the DigitalContactList and the TalkGroups you are intersted in. You will see that this will be one of the hardest tasks, as you find so much outdated, non-accurate lists and you may have to edit a lot. How do these files look like ? Just click on the below file name to download and view it in the editor:

Channel Here you will find all channels (all frequencies) you will use. Analog, Digital in Duplex or Simplex Mode
Zone Zones are frequencies grouped together as a zone, for easier selection. A zone can be a functional group like i.e. hotspots, all repeaters in your state or in a country
TalkGroups TalkGroups are areas you are interested in your communication, like i.e. Talkgroup 91 (=Brandmeister World), Talkgroup 262 (=Brandmeister Germany)
DigitalContactList Is the “Phonebook” of all registered DMR/CCS7 users worldwide (CCS7 is your registration id for DMR and DStar) i.e. my callsign is DO1AWD and my DMR/CCS7 Id is 2644671

Where to start ? I started with the codeplug from the Dutch Amateur PC5E. I exported everything and started carefully to edit i.e. the channel list by adding some local repeaters, my hotspot frequencies, my analog repeaters and so on. After modification I imported these files into the CP-Software, saved the CP and uploaded the information to the radio.

The easiest is the DigitalContactList. For some bucks per year, you can download (after registration and donation) the worldwide DigitalContacts for the Anytone radios directly in the right format. Import this file into Anytone’s CP-Software and write it to the radio. I do this once every week, because otherwise I see only the CCS7 Number of new HAM’s instead of details like CCS7, CallSign, Name, Town, State, Country. This magic URL is

I modify Channel and TalkGroups exclusively with Ron’s CSV Editor. Some other information I change within the Anytone CP-Software like the creation of Zones from the Channel list. When you get more experienced and want to create RoamingChannels, you will also use Ron’s Editor for the RoamingChannel list, but the CP-Software to create RoamingZone’s.


My Digital Radio Setup

How it all begun…

I was on a business trip in Plano, TX, some years ago, where I visited a local Ham Radio Outlet (HRO) and bought an ICOM ID51E for DStar and a ZUMSpot. Back home in Germany I made it to work within a few days as this was completely different from my analogue experiences in HF/VHF/UHF so far. But the activities here in Germany on DStar were not overwhelming and in a lot of publications DMR was pushed heavily. The ID51E still exists but I am now mostly on DMR-Brandmeister, which I really like. But now in 2022 I found that Brandmeisters DMR became a bit rough and undisciplined here in Germany, so I often go back to DStar, to enjoy civilized OM’s.

Due to the fact that the ZUMspot can do both, I ordered an Retevis RT90, but we both did not click into each other. I got it working, but the software was not stable, crashed very often and the radio could only be run via Codeplug, no VFO Operation possible. I simply did not like it.

As I bought it at Amazon, I could send it back within 30 days, but I was already highly frustrated after 14 days and simply sent it back. I promised myself to do some more researches which radio could suite me best and came across the ANYTONE radios. I had a look at the AT-D868UV and AT-D878UV Plus (with Bluetooth and Bluetooth-PTT) and ordered it at a distributor here in Germany. Received, unboxed, Software installed. WOW !!! THIS IS COMPLEX AND COMPLICATED ! (Actually it isn’t when you have understood the basics, which I will explain in another post)


During my researches I came across the website of a Dutch HAM, PC5E who is dedicated to a lot of different DMR radios of many manufacturers. I downloaded his Anytone codeplug for Germany, Belgium and the Netherlands and studied what he had done to get the Anytone UV878UV running. Playing around with it I understood the concept of codeplugs. Not in depth and not using all features of the Anytone, but enough to get it running. Now, 6 month after buying the AT-D878UV I create Codplugs for others, using my blueprints and being the proud owner of one AT-D878UV Pro and two AT-D578UV Pro (one in the car, one in the QTH).

Beside the radio’s I own four hotspot’s. One ZUMSpot, which I do not use anymore, as it was making problems (not investigated on it) when I visited a friend in Canada (12/2019) and I will later take care of it. The ZUMSpot was later given to my club after I fixed it. I use two MMDVM (China-Clone) Dual-Hat Hotspots mounted on two Raspberry Pi 3B, one for DStar, one for DMR and a brandnew SharkHF openSPOT3 for use in the car, hotel or anywhere I do not have a proper repeater or do not know the repeater frequencies. The openSPOT3 is typically connected through a LTE wifi hotspot or my mobile phone in tethering mode.

At home I use the Dual-Hat Hotspot for DMR to have TG91 (world) and TG262 (Germany) on Timeslot 1 and Timeslot 2 in static mode as the German Brandmeister Repeater OM’s only have TG262 static, TG91 is set to dynamic, which means you get kicked out every 6-10 minutes. To avoid disturbing the local repeaters too much. With this in mind I use my radios in the QTH to monitor TG91, 262 and 263 (multimode) via the hotspot. Both, TG262 (TS1) and TG91 (TS2) are set to static on my hotspot(s).

The other Dual-Hat hotspot at home is dedicated to DStar. Both Dual-Hat Hotspots run the pi-star software.

Here at home I use a DIAMOND X30 about 10m (30ft.) over the ground on a telescopic mast 6.5m (19.5′) for the AT-D578UV Pro and a special construction on the car for a Diamond NR-770H which can be flipped to a horizontal position which is useful for parking garages. In the car I use the Bluetooth PTT switch, mounted to the gear-stick and a typical BT-Headphone for a mobile phone. This does the job more than well. Same for the handheld AT-D878UV , BT-PTT-Switch attached like a wrist watch (with a wrist watch band) to my right arm with the same BT-headset as in the car. In the QTH I use a callcenter style BT-Headset with the PTT-Switch on the desk or in the pocket.

BT-PTT Switch with a wrist watch band  BT-PTT Switch as delivered


+ QTH use: AT-D578UV Pro with a callcenter like BT headset and the BT PTT-Key either in the pocket or on the desk
+ Portable use: AT-D878UV Pro with a BT headset for mobile phones and the BT PTT-Key with a wrist watch band
+ Mobile use: AT-D578UV Pro with the same BT-headset for mobile phones, BT PTT-Key mounted to the gear-stick

For the handheld I use (depending where I am) the DIAMOND SRH805S which is only 3.5 cm or 1.5″ long (!!) which works very well, the manufacturers antenna and a DIAMOND SRJ77CA Antenna, about 40.5 cm / 15.9″ long. With the SRJ Antenna I could easily reach repeaters in Canada 30km / 19mi away from the livingroom of my friends house. In tests I could reach repeaters 90km / 60mi away.