Codeplugs for specific use (QTH, Car, Mobile)

Let’s assume you have the same gear as I have. One 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-578UV QTH none, static local connects to repeaters nearby, always the same ones
D-878UV Always with me, beltclip often, dynamic Europe or Countries I will travel to connects to repeaters when available but mainly to a hotspot
D-578UV CAR mounted often, dynamic Europe or Countries I will travel to connects to known repeaters or hotspot, roaming should be enabled for common regions

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 with a little twist.

The D-578UV in the QTH knows only my hotspots at home and 8 repeaters I can reach from here. BUT I have multiplied each repeater 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 DO0ERK as DO0ERK World, DO0ERK Germany and so on. In the channel list is for each channel of the same repeater a different TG associated as you can see here in the snippet (for a download of the whole file click here):

Channel Name Receive Frequency Transmit Frequency Channel Type Transmit Power Band Width CTCSS/DCS Decode CTCSS/DCS Encode Contact Contact Call Type
DO0ERK World 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM World Group Call
DO0ERK Germany 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM Germany Group Call
DO0ERK Regional 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM Regional Group Call
DO0ERK Local 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM Local Group Call
DO0ERK Europe 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM Europe Group Call
DO0ERK German 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM German Group Call
DO0ERK DACH 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM DACH Group Call
DO0ERK DL-TAC 1 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM DL-TAC 1 Group Call
DO0ERK DL-TAC 2 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM DL-TAC 2 Group Call
DO0ERK DL-TAC 3 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM DL-TAC 3 Group Call
DO0ERK DL-TAC 4 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM DL-TAC 4 Group Call
DO0ERK DL-MultiM 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM DL-Multimode Group Call
DO0ERK EMCOM112 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM Emcom(112)EU Group Call
DO0ERK SachsAnh/ 145.71250 145.11250 D-Digital Turbo 12.5K 67.0 Off BM SachsAnh/Meck Group Call

The zones I have defined are the analog repeaters nearby, the digital repeaters with associated TG’s and my hotspots. The TG-List is still there with all TG’s available worldwide, but for nomal use, I just need the channel knob to switch between repeaters and their associated talkgroups. Very convenient. A roaming list is not needed, as this radio normally do not move.

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. DO0ERK has two entries DO0ERK-1 and DO0ERK-2 For -1 the TG Germany is associated, for -2 the TG World is associated. That saves channel entries.

I have in my channel list all (and I mean ALL) European repeaters after this methodology. Countries can be selected by the zone list, where each country has its own entry with the corresponding repeaters associated. With one look at the repeater name I can see 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. In such a case I have LTE connection for my DMR hotspot to the WLAN routher in the car. In addition I have created a roming channel list and a roming 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.

The handheld radio has the same channel-list and zones, but as I use mostly my hotspot with the handheld, that’s why I did not create a roaming channel or roaming zone list.

I hope that my idea behind these different CP’s became clear to you, if not pls. blame me as I must have explained it in an unclear 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. But if you are familiar with Excel (or Ron’s CSV Editor which I prefer due to simplicity), you are nearly there.

DMR is not complicated, it is complex. The other problem you will find is that many information’s in the internet is either wrong, outdated, not very clear or goes too deep into details which are not important for the programming of a radio by the Codeplug (CP) -Software. Basically 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 or region), a Talkgroup-list of Talkgroups (TG) you are interested in (World, local, regional, country, state, county, language or specific use like emergency comm.)

You personally need an CCS7 Identifier, a seven digit number which represents you 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 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.

Further more you have to deal with two Timeslots (TS) named TS1 and TS2 as on one frequency two QSO’s simultaneously can be held, a color code which has to be the same in your frequency list as the correspondign repeater you want to use.

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 of 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. Both kind of TG’s can be on any TS.


Was it that hard ?


More useful 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…

When I was on a business trip in Plano, TX, 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.

Due to the fact that the ZUMspot can do both, I ordered an Retevis RT90, but we both did no 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.

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. 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 (I personally don’t understand that and think it is a shame not doing TG91 static – it is contrary to the idea of amateur radio). With this fact in mind I use my portable radio to monitor TG91 via the hotspot and the D-578UV in the shack to monitor TG262. 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 and  under the roof for the AT-D578UV Pro and a special construction at 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 from 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.