# Codeplug Assembly

After the basic concepts and technical details of the DMR mode has been discussed, it is time to consider the actual configuration of the DMR radios. This usually not done via the keypad of the radio but with the help of a separate software. The so-called CPS or codeplug programming software.

Before we can start, we need like any other participant in the DMR network a unique number, the DMR ID.

You can get your personal and unique DMR ID from radioid.net. There you need to verify that you are a licensed ham operator.

You will receive your personal DMR ID usually within 24h per Mail. Once you've got your ID, you can start.

As this script is intended for the beginners, it is very likely that you do not own a top-shelf Motorola device but rather one of the cheap devices of the common manufacturers.

If you do not own a DMR device yet but consider to by one, you should explicitly check whether it supports DMR Tier I and II

As usual, DMR is not a single standard but a family of standards. Tier I describes the simplex operation while Tier II considers the repeater operation and time-slots. You will therefore need a device that also implements Tier II to be able to work with repeaters.

. Ignore any marketing BS and check the technical description of the product for Tier I & II. If it is not mentioned there, simply skip that product. This is particularly true for the Baofeng MD-5R but not the RD-5R.

The manufacturer of the device of your choice will provide the CPS for download you need to program your radio. Usually you will also find there firmware updates for your device. The manufacturers usually provide a separate CPS version for every device and even firmware revision. So please check whether you've got the correct CPS version. The configuration of the device differs from device to device and even more from manufacturer to manufacturer. The basic setup, however, remains the same.

When you start the CPS for the first time, you will likely note two things. First, that the user experience stems from the last millennium (about Windows 3.11). And second, that there are a tone of obscure and badly translated options for your device. These options are usually named cryptic and are not documented.

The configuration of your device usually happens in five to six steps:

1. General settings,

2. creating contacts,

3. assembling group lists,

4. creating channels,

5. assembling zones and

6. optionally assembling scan lists.

Within the following sections, I want to guide you through these steps.

The single most important options within the general settings is your DMR ID and your call sign. These options are usually located under the label Radio Settings or General Settings

The actual name may vary from manufacturer to manufacturer.

. Your DMR ID is entered in the field name Radio ID. Many radios support to enter several DMR IDs. This feature is usually not used in ham radio. In fact you will only always need a single DMR ID even with several radios.

Your call can be entered in the Radio Name field.

Once you have made these basic settings, you may create some contacts in your contact list. This list should contain all talk groups you are interested in, some private contacts to OM you know as well as some service numbers for the echo-service, SMS service etc. A sample is shown in tabIntroContacts.

## Example contacts for germany

Name | Typ | Nummer | Name | Typ | Nummer
Local | group call | 9 | Ham/SlHo | group call | 2622
Regional | group call | 8 | NiSa/Bre | group call | 2623
TG99 | group call | 99 | NRW | group call | 2624
All call | all call | 16777215 | RhPf/Saar | group call | 2625
World wide | group call | 91 | Hessen | group call | 2626
Europe | group call | 92 | BaWü | group call | 2627
D-A-CH | group call | 920 | Bay | group call | 2628
Germany | group call | 262 | Sa/Th | group call | 629
Austria | group call | 232 | Echo Test | private call | 262997
Switzerland | group call | 228 | SMS Serv. | private call | 262993
EMCOM EU | group call | 9112 | DAPNET | private call | 262994
EMCOM WW | group call | 9911 | APRS GW | private call | 262999
MeVo/SaAn | group call | 2620 | DM3MAT | private call | 2621370
Ber/Bra | group call | 2621 | ... | ... | ...

Of cause there are much more talk groups. There are also talk groups for specific topics which are not necessarily targeted at a specific region. A rather complete list can be found in the Brandmeister Wiki.

The next step is to assemble so-called Group Lists. These are simple lists of talk groups that you want to receive on a particular channel. As mentioned in the introduction, the network does not know which talk groups you are interested in. This must be programmed into the radio. Group lists do exactly that: The specify which talk groups you want to receive. All others are ignored.

You should at least create two group lists. One for the simplex operation, one for regional communication and optionally one for the trans-regional communication. You should also create one for each region you frequently visit.

The simplex group list is theoretically not necessary as simplex calls should always use the so-called All Call. Frequently, however, also the talkgroups TG99, TG9 and TG8 are used in simplex operation. Hence a group list with these talk groups is needed for simplex operation.

Your trans-regional talk group should include the talk groups for the entire world TG91, your continent (e.g., Europe TG92), your country (e.g., Germany TG262) and also the emergency talk group (e.g., 9112 in Europe).

Finally the talk group for the local/regional communication should contain the local TG9, regional TG8 and the talk group for your region (e.g., TG 2621 for my region Berlin/Brandenbug). As I am also frequently in saxony, I also created a group list for that region. My group list settings are shown in tabIntroGroupLists.

## Example group lists

Name | Group calls
Simplex | Local, Regional, TG99
WW/EU/DL | World wide, Europe, D-A-CH, Germany, EMCOM EU
Ber/Bra | Local, Regional, Ber/Bra
Sa/Th | Local, Regional, Sa/Th

Before we start assembling any channels, I should mention that DMR radios are also able to transmit and receive analog FM. Thus, you can also use them for classic FM simplex and repeater operation. In this section, I describe the configuration of digital DMR channels usually called digital channels. The configuration of analog FM channels is not described. To create a DMR channel, you have to select digital for the channel type, for FM channels analog.

When you already have some experience with the analog FM repeater operation, the configuration of DMR channels may appear quiet weird. For analog FM repeaters, you usually configure exactly one channel. For DMR repeaters you will configure at least two (one for each time slot), but usually many more. To cut a long story short, let me explain it with a concrete example.

### Example simplex channel configuration

Name | RX Freq. | TX Freq. | TS | CC | TX Contact | Grp.List
DMR S0 | 433.4500 MHz | 433.4500 MHz | 1 | 1 | all call | simplex
DMR S1 | 433.6125 MHz | 433.6125 MHz | 1 | 1 | all call | simplex
... | ... | ... | ... | ... | ... | ...

In tabIntroCPSimplexChannels an example for a simplex channel configuration is shown. Of cause, you should extend it to all 8 simplex channels. The first column simply specifies the name of the channel.

The second and third columns specify the transmit and receive frequencies for these channels. For simplex channels, RX and TX frequencies are the same.

In simplex operation, there is no repeater. That is, no instance that dictates a beat. To this end the choice of the time slot (TS) is irrelevant and usually TS1 is chosen.

The color code, however, matters. Repeater as well as your radio will ignore calls with a mismatching color code. For simplex channels, the color code 1 has been established.

The sixth column specifies the default transmit contact. For simplex channels, the so-called All Call should be chosen, to ensure that really everyone can receive the call irrespective of the receivers group list settings. The default transmit contact specifies the contact (private, group or all call) that is called whenever the PTT is pressed. As mentioned earlier, there is an exception to that rule. Whenever you directly answer a call within in the so-called Hang Time, you will answer with the same call you received.

The last column specifies the to so-called Group List. This list specifies which talk groups are received on that channel. As mentioned earlier, no entry should be needed here, as the all-call should be used for the transmit contact on simplex channels. Unfortunately, it is not uncommon to find several talk groups being used as transmit contacts on simplex channels like TG9, TG8, TG99. For these cases, a group list simplex was created earlier.

Within your CPS, you will find many more options for channels. The majority can be left untouched. At the end of this section, I will describe some of these settings briefly. Many of these settings are quite uncommon in amateur radio or even straight illegal.

The Admit Criterion specifies under which conditions your radio is allowed to transmit. For simplex channels, the option channel free should be chosen. This configures the radio to only transmit if the channel is currently free.

Creating repeater channels is slightly more complex than creating simplex channels, as we need to create several channels per repeater. Before you can create any channels, you need to know which DMR repeaters are near to you. A good overview provides the repater book. There you can also filter for DMR repeaters and you get all information you need to configure the DMR repater channels. That is input and output frequencies and the color code of the repeater.

### Example channels for a single repeater DB0LDS

Name | RX Freq. (output) | TX Freq. (input) | TS | CC | TX Contact | Grp.List
DB0LDS TS1 | 439.5625 MHz | 431.9625 MHz | 1 | 1 | - | WW/EU/DL
DB0LDS DL TS1 | 439.5625 MHz | 431.9625 MHz | 1 | 1 | Germany | WW/EU/DL
DB0LDS Sa/Th TS1 | 439.5625 MHz | 431.9625 MHz | 1 | 1 | Sa/Th | Sa/Th
DB0LDS TG9 TS2 | 439.5625 MHz | 431.9625 MHz | 2 | 1 | TG9 | Ber/Bra
DB0LDS TG8 TS2 | 439.5625 MHz | 431.9625 MHz | 2 | 1 | TG8 | Ber/Bra
DB0LDS BB TS2 | 439.5625 MHz | 431.9625 MHz | 2 | 1 | Ber/Bra | Ber/Bra

I think, it is the best to explain the creation of repeater channels using a concrete example for a repeater near to me shown in tabIntroCPRepeaterChannels. This repeater has the call DB0LDS and has the input frequency 431.9625 MHz and output frequency 439.5625 MHz. According to repeater book, this repeater expects the color code 1. These are the elementary information you need to set for all channels using this repeater. Many CPSs allow to copy or clone channels. This way you only need to enter this basic information once.

At the end of introTimeSlot, I mentioned that trans-regional communication is happening on time slot 1 while regional communication is happening on time slot 2. This is visible in this example. The repeater is located in the region Berlin/Brandenbug (Ber/Bra), consequently all channels with within-region talk-groups have the time slot 2, all others have the time slot 1.

The first channel DB0LDS TS1 is a generic channel for the time slot 1. There is no default transmit contact defined for this channel. This channel can be used to perform arbitrary direct and group calls by selecting a contact or talk group from the contact list. This means, that a call cannot be started by simply pressing PTT on that channel. First, a contact must be selected that should get called.

The second channel DB0LDA DL TS1 is almost identical to the first except for the default transmit contact. Here Germany (TG262) is selected. This means, if this channel is selected and the PTT is pressed, the talk group 262 is called. By configuring a separate channel for this talk group allows to start a call to it without having to search for it in the contact list. This also allows to temporarily subscribe this talk group on a repeater easily, by simply pressing PTT briefly.

Irrespective of the default transmit contact, you can always answer to a call within the hang time.

The third channel DB0LDS Sa/Th TS1 is also similar to the first two. Here the default transmit contact is the talk group for Saxony/Thuringia (TG2629) to be able to subscribe that talk group at my local repeater and call it easily. Please not that for this channel the time slot 1 is used. The repeater is located in Brandenburg and therefore any communication with Saxony is inter-regional and should happen on the time slot 1. The group list contains only the talk group for Saxony/Thuringia and thus other inter-regional talk groups are not received on that channel.

Channels four, five and six are for repeater-local (TG9), regional (TG8) and the talk group Berlin/Brandenburg (TG2621) calls. As this is all regional communication, it happens on the time slot 2. Also they all have the group list Ber/Bra set (see tabIntroGroupLists). Therefore, all regional talk groups (TG8, TG9, TG2621) are received on that channel. As the default transmit contact, the corresponding talk group is set. If the channel DB0LDS TG9 TS2 is selected and the PTT is pressed, a call to TG9 is repeated only by the repeater DB0LDS. If the channel DB0LDS BB TS2 is selected and the PTT is pressed, a call to TG2621 is repeater by almost all repeaters in the region Berlin/Brandenbug. Therefore, chose a talk group that is sufficient for you intended communication.

On any channel, you can start an arbitrary call (group, privat, all) by either selecting the contact from the contact list of even simply entering the DMR number into the keypad of the radio. This is independent from the default contact on the current channel. In the end, the default transmit contact is a convenience feature. With the default contact, channels for frequently used contacts can be created.

The so-called Admit Criterion should be set to Color Code for DMR repeater channel. This means, that the radio will only transmit if the channel is free and the color code of the repeater matches the color code of the channel.

The user interface of the manufacturer CPS where you configure the channels, is usually very extensive. There is a huge amount of options that control the behavior of the channel. The majority of these options are not used in ham radio applications. Some of these, however, I want to describe here briefly.

The Admit Criterion was mentioned before. It controls under which conditions the radios can transmit. There are usually three options. Always does exactly what it says: it allows to transmit always. This option should be chosen for analog FM repeater channels. Channel free means that the radio will only transmit if the current channel is free. This option should be choses for simplex channels. When Color code is selected, the radio will only transmit if the channel is free and the color code of the repeater matches the color code of the channel. This option should be chosen for DMR repeater channels.

The TOT setting or transmit timeout specifies the maximum duration of continuous transmission. After that period of continuous transmission, the radio will stop the transmission automatically. The feature is used in commercial applications to avoid the blocking of a channel or talk group by a participant. This option has little sense in amateur radio and can be set to infinity.

The Emergency System is a method to signal an alarm or an emergency situation. Also this feature is not used in amateur radio.

The option Privacy Group or Encryption Key refers to a built-in method of encrypting the traffic. This is actually forbidden in amateur radio.

The flags Emergency Alarm Confirmed, Private Call Confirmed and Data Call Confirmed specify how the radio starts these calls. The radio will first establish a call to the destination and will signal once the call is confirmed. Once the confirmation is received, the actual call starts. These options are not used in amateur radio and should be disabled as they may interfere with the normal operation.

The option Talkaround allows to operate simplex on a repeater channel. That is the radio transmits and receives on the repeater input frequency. This allows to bypass the repeater and to communicate directly with other participants on the same repeater channel. Also this option makes little sense in amateur radio.

When the RX Only flag is enabled, the radio cannot transmit on that channel. This may be useful for out-of-band monitoring channels where you are not allowed to transmit.

The VOX feature is actually used in ham radio. It stands for voice operated switch and allows to start a call using the voice without the need to press PTT. Some radios allow to enable this option on a per-channel bases others only radio-wide.

The Power option allows to specify the transmit power level. This can usually be set in predefined steps like Low, Middle, High. Some radios may also allow a fine grained setting of the power level.

The Scan List specifies a list of channel that are scanned if a scan is started on that channel. This feature might be used as an alternative to a missing roaming feature (see introRoaming).

Once you have assembled all channels of interest, you may notice that the list is quite long. Hence all DMR radios organize the channels in so-called Zones. Zones are simple lists of channels that group them into relevant sets, usually based on the location. You may therefore collect all channels for Home, Work and Holidays into one zone each. How you organize your zones is up to you.

You may also organize these channels by talk groups. This way you may implement some kind of a manual roaming. Once you left the range of a repeater you may search for another one in the same zone. This way you stay connected to a particular talk group. In contrast to the automatic roaming, you have to select the repeater by hand.

Channels that are not assigned to any zone are usually not selectable by the radio. It is, however, perfectly fine to assign a channel to several zones.

Scan Lists are simple lists of channels. When the scan is started on a particular channel, the channels scan list is used. The radio will then step though that list and may stop on a channel that shows activity. It is then possible to answer the received call. This function allows for observing several channels. Additionally, it is usually possible to specify one or more priority channels for a scan list. This channel is then visited more frequently and thus monitored more intensively.