When I first started out in DMR I found things awfully confusing especially the minefield of the CodePlug. I made an introduction to DMR page here, which I recommend you read first. Since writing that I have still been asked by people for code plugs because they don’t know how to make there own.
Below I will go through, step by step, making a code plug for a repeater near to me and talk about the different ways in which it can be done. As per the title this will be TYT based as this is the radio that I own.
Terms and Re-Cap
So first we will re-cap my previous post regarding the basic terms used in a CodePlug.
First though, I would like to clarify the name CodePlug to me this is just a name given to the programming file of a DMR / Digital radio. If you’ve ever programmed a radio using your PC and have saved the file from the programming software then that is the same as a CodePlug, its just a programming file.
Most people when they first encounter a code plug or get told about them believe they are confusing and complicated. To the uneducated eye this may be what it looks like. But following a simple set of rules should make them easy to understand, create and modify.
CodePlugs are usually created within the manufacturers CPS (Customer Programming Software). There are other 3rd party programs available with most software adding additional features such as being able to reorder channels and having the ability to import and export .csv files. This allows for easier editing within a program such as excel.
Re-capping The Terms
CodePlugs consist of the following main elements:
- Colour Code
- Contacts
- Channels
- Zones
Colour Code
Colour codes are the DMR version of CTCSS. It is not a colour as such as it is just a number from 1-15 that you set in the programming.
Contacts
These are a list of ID’s for talk groups, reflectors and individual users. Each contact can be set as either a group or or private. This set whether it would be a group call or a private call as mentioned in the Talk groups and Reflectors section.
Channels
These are what you would more associate with programming an FM radio. Channels contain the RX and TX frequencies, the colour code and the contact that you wish to communicate with.
You would need to create a separate contact for each talk group you wished to use on a repeater. So all the contacts would be the same except for the Contact. This leads nicely onto Zones.
Zones
These are basically a group of contacts. These are created entirely at the users discretion. You could group contacts for a particular repeater or region for example.
These elements come together to form the programming file or CodePlug for a radio.
Making a CodePlug
before starting you need to download the programming software from your radios manufacturer. Sometimes this is referred to as the CPS (Consumer Programming Software). For me this is from TYT and when you first load it up it looks like this.

You will also need to make sure you have a programming cable specific for your radio. Cables can work with multiple radios but not all. For example, a programming cable for a Baofeng uv5r will not work with my radio, a TYT MD-UV380, even though it has exactly the same connections.
Pre-Setup
Before we go programming anything into the CodePlug we need to do some setup tasks.
First I would recommend reading the data from your radio and then saving this as a ‘blank’ backup.
Secondly you need to go into the general settings and make sure you have your DMR ID set correctly

From this screen you can also set some of the other settings for your radio.
Step 1
The first step is to do your research. In this example I will start by making my CodePlug for my local repeater GB7LN. Yours may be your local repeater or your Hotspot.
Now this repeater is on the Brandmeister Network so you can look it up on the Brandmeister dashboard to get all the information you need. Here you will see its input and output frequencies, its colour code and also any static talk groups it may have set.
Step 2
Now you know what network the repeater will be using you can get a list of the talk groups available. There are loads to choose from but for starters I would choose the ones that are set as static groups on your repeater. For example GB7LN has 91 & 240 on Time slot 1 and 23530 & 23590 on Slot 2.
You should add these talkgroups to your digital contacts.


Once you have the basics setup you can add further contacts for additional talkgroups for dynamic talkgroups on repeaters or users DMR ID’s for simplex operation.
For using Dynamic Talkgroups you way want to add TG4000 to disconnect from them. And Also TG9 as this is the local Talkgroup for use on simplex channels and also when you want to speak locally on a repeater.
Step 3
This next step is where you have a choice. And depending on your radio one may work better then the other.
You now need to move down to the Channels section of your CPS.
Here you will create a channel for each repeater or frequency you want to use.

You need to give each channel a name, Input and Output frequencies, Time slot and Colour Code.
Now some radios when you select the channel it will then allow what can be referred to as manual dial where you type in the Talkgroup that you want, or select it from a menu, and then just hit the PTT button.
The second option, which is the one I use, is to create multiple channels for the same repeater and then set the digital contact of each channel to each of the talk groups in your digital contacts list.

Now when you select a channel then your radio will be pre-set to work with the talk group that you want.
Once you have created your channels they are all listed in the menu on the left.

Step 4
This is the final Step of creating your CodePlug. Now that you have your channels setup you need to add then to a ZONE. This basically groups your channels however you like. For example you can add all your channels for a particular repeater or you could expand this to all channels for repeaters in your county. Channels can be part of multiple Zones depending on your needs.


You can have a mix of Digital and Analogue channels in the zones so you can include all the repeaters in an area.
Advanced options
RX Lists
There are a number of advanced options you can use to enhance the options available to your setup. The first of which is RX Lists. This allows you to set a channel to listen to multiple talkgroups.


This is Very useful when using Dynamic Talk groups on a hotspot. This is because when using TG4000 to disconnect from a talk group the voice acknowledgement is transmitted back out on TG9. So you would set up your channel to transmit on TG4000 but set your RX list to Listen on TG4000 & TG9.
Scan Lists
You can also set Scan Lists so you can have the radio scan through a list of digital and analogue channels. These are created very similar to the RX Lists and are selected from the Scan list menu on the channel configuration screen.


Here you set the Scan List and Set it to auto scan when you select the channel. You need to also set the Contact Name and Group List to None so there’s no chance of it only picking up the one talk group.
Conclusion
So above you have seen the basic process I use to create a CodePlug. Once you get used to this process then it makes editing and modifying your CodePlug easy.
If you have any questions or any ideas or suggestions to improve this then please get in touch by commenting below or emailing me on the address on my contact page.