How to Build a Code Plug

For those that are new to DMR hopefully this will help you get on air.

You may have heard the term CPS, basically it's the software we use to program the radios. The files created are called "Code Plugs". You may be able to find code plugs created by someone else for your radio that have what you want mostly included however, I find it much more rewarding to write my own. You'll also get a better understanding of how these radios work by writing your own code plug.

There are several parts that all have to be setup properly for everything to work the way you want it. I'll go through setting up a code plug with the Anytone AT-D868UV and show you how to do it with the Radioddity GD-77 too. These instructions should work well for other DMR radios as well so lets get started.

These are the steps I use, in order.

  1. Basic Settings
  2. Create Contacts
  3. Create Receive Groups
  4. Create Scan Lists
  5. Create Channels
  6. Create Zones
The order is pretty important but don't worry you can always add on to a code plug later on. The very first thing you need to do is setup your DMR ID, callsign and other basic settings you need in your radio. At the very least you need your callsign and ID number entered in the radio. This goes under "Radio ID List" for the Anytone and "General Settings" for the GD-77

After that you'll need to add some contacts. In the Anytone CPS they are labeled "Talk Groups" and in the Radioddity CPS they are labeled "Digital Contacts". What you need in these locations is all the talk groups you want saved in your radio. These are group calls to either talk locally on a repeater or through a Brandmeister talk group. These will be associated with the channels we will create later. Each digital channel has a talk group assigned to it.

The next step is a "Receive Group". DMR radios will only listen for talk groups in the receive group unless they are in a monitor or promiscuous mode. You will want a receive group containing the talk groups for the repeater or hotspot you'll be using. We want these groups setup so we can add them while we're creating the channels. For my Anytone I just have one group with all the talk groups added. Make sure you add the talk groups you want to the receive group. You won't hear any talk groups that are not in the receive group assigned to the channel you're on.

The next step is optional if you don't plan on using scan much. If you do want to scan you'll want to have scan lists setup to add to the channels when you create them. You can always go back later and add them but it's much easier to do it now. All you need to do now is add the empty lists and name them. We can't add the channels to the lists until we create them later. We want the lists to be there now though so that we can add them to the channels.

Now we're finally ready to start creating some channels. One thing to remember with DMR is that each channel is assigned only one talk group. So even if your only using one frequency on your repeater or hotspot you will still need multiple channels to cover the talk groups you want to use. You need to check all settings. Time Slot. Color Code, Contact, Frequency, Name, Admit Criteria, Etc.... For hotspots you want "Admit Criteria" set to "Always" and set to "Channel Free" for repeaters.

After you have the channels you want setup in the CPS you'll need to add them to a "Zone". DMR radios store channels in different zones. If a channel is not in a zone you cannot use it. You can setup the zones any way you like. I have one for my hotspot and others for different locations I travel to. If you primarily use one repeater you may want to setup channels in a zone just for that repeater with all the talk groups you want to use. Setting up zones is pretty straight forward. Just name them and add the channels you want.

Don't forget that if you want to use the scan function you'll need to add channels to your scan lists before programming your radio.

Once everything is set the way you want it just click the "Send to Radio" button and load it onto your radio. Power it on, navigate to the zone and channel that you want and you're up and running.


If your having trouble here is a good check list to go through.
  • Do you have the proper "Color Code" set for the channel?
  • Do you have the contact in the "Receive Group"?
  • Do you have the "Receive Group" assigned to the channel?
  • Do you have the "Allow Transmit" or "Admit Criteria" set properly?
Other things to try are turning on "Digital Monitor" or "Promiscuous Mode"

I hope this has helped you and I plan on going over loading contacts from the DMR-MARC database soon.

73s K9NPX


  1. Can these instructions be used with the new ATD878UV as well? If so can I please request a printable version for myself? Pdf would be great but any text form would be appreciated.

  2. I was having troubles understanding the receive group need until I stumbled on to your site. It took care of all of my problems and I was on the air in minutes with my Alinco DJ-MD5! Tnx for taking the time to put this together.




Post a Comment