Discovering DMR – 3
3) Putting it all together
Okay, time to kick things into high gear and get on the air with DMR!
3a) First things first: Register for CCS7 ID
To operate on the DMR system, you need to register with an authentication and routing system called CCS7 (Callsign Communication System, 7-digit).
The DMR system uses the CCS7 ID number instead of your callsign, though its authentication service maps your CCS7 ID number to your callsign.
Worldwide registrations are now handled by the European DMR-ID registration system⩘ . Choose "Register services for an individual callsign (including private hotspots and private repeaters)."
The registration system is administered by volunteers so be patient, it can take a few days to receive your CCS7 ID.
- Note 1: If you already have a CCS7 ID—for example, I got one, 3108883, to use with D-STAR on DCS reflectors—that also will work for the DMR system.
- Note 2: Since DMR operates using the CCS7 ID, your callsign isn't transmitted to the radio the way it is with D-STAR, so you need to announce your callsign just like you do on analog.
3b) Customer Programming Software (CPS)
Many ham radios can be programmed from the keypad on the radio, but the process is cumbersome. In many cases, the manufacturer or a third party offer radio programming software to make it easier to program a radio, especially when you want to add a lot of memory channels.
DMR radios are different because typically they allow programming the radio only from an application called Customer Programming Software (CPS). In fact, because of this, commercial DMR radios often don't have keypads; although some DMR radios made for amateur radio now do allow some limited amount of programming to be done via a radio's keypad.
Using the CPS, you add your basic settings and defaults, like your CCS7 ID and, in some cases, how you want certain buttons to behave (for example, do one thing when you short press them and another when you long press them). You also add your contacts, RX group lists. zones, and scan lists, and then weave them all together as channels.
3c) "Read" your radio to start a new codeplug
I'm a fairly cautious person, so the way I started out was to open the CPS and "read" my new radio, save that as a codeplug backup file, and then make a copy of it to work in. That way I'll have the radio's original codeplug to go back to in case, for example, I mess things up badly enough that I want to start over, or if I want to reset the radio to give it to someone else.
Most DMR radios I've seen require a special cable that enables them to be connected to the PC's USB port. Once it's plugged in, open the CPS, turn on the radio, and then click the CPS Read button. It takes just a few moments to read the radio's data.
Similarly, whenever you want to update your codeplug, make a copy of it, and then make your changes to the copy. That way, if you need to you can revert to the previous working codeplug.
3d) General settings
There are a variety of general settings. The most important one is to enter your CCS7/DMR ID as the device or radio ID.
Other settings control things like how buttons behave, how menus are displayed, and whether and how one-touch calls are set up.
3e) Create contacts
There are a couple kinds of contacts: talkgroups and individuals. For each:
- Contact name/alias: A description of the talkgroup (for example, Colorado statewide) or individual (callsign and first name).
- Call type: Group call, Private call, or All call. For amateur radio, Group calls are most common. A Private call is rarer for ham radio; an example of when it is used is a parrot call (echo test) or for linking to unlinking from a reflector. An All call is primarily a commercial feature used by a user in a supervisory capacity, for example, a call from an individual radio to all radios in a system.
- Call ID: A talkgroup ID number or an individual's CCS7 ID.
- There may be other options, for example, whether or not a receive tone sounds prior to unmuting the radio when a Group, Private, or All call is being received.
3f) Create RX group lists
I'm still learning about RX group lists, and there's conflicting information.
One thing I've heard is that you need an RX group list for every contact you're going to create a channel for, and the list must at least contain that same TX contact (and optionally, you can add more contacts to the RX group).
However, I've also read that, at least for some radios, you don't need to create an RX group list if all you need for the channel you're creating is to receive the TX contact. Another example: the Hytera AR865 supports only 32 RX group lists, so obviously that can't need an RX group list to match each TX contact. So this appears to vary from radio to radio.
The DMR Programming for Amateur Radio⩘ by Mike, K0NGA, Rocky Mountain Ham Radio, contains a good explanation of how the RMHAM network prefers hams using their network to set up their RX group lists.
For my own codeplug, I set up just a few RX group lists to use with channels that I set for local repeaters that have multiple talkgroups sharing a single time slot.
3g) Create digital channels
This is where it all comes together!
i) Primary channel settings
The following essential items that must be set up for each channel:
- Channel name
- Color code – Hotspots typically use color code 1.
- Time slot – Hotspots typically use time slot 2.
- RX frequency – When setting up a hotspot, you choose a frequency to use with it, which should be one that is mostly unused in your area. Then you use that frequency for every channel that uses the hotspot.
- TX frequency – In some CPS applications, this can be auto-generated from the offset. Hotspots are simplex.
- TX contact
- RX group list (depends on radio)
- Power level (default) – On my radio, the choice is Low (1 watt) or High (4 watts). I chose Low for all the hotspot channels I set up, and High for the DMR repeater and analog channels.
- Admit criteria – This controls when your radio is allowed to transmit on a DMR repeater. The most common recommendation I heard was to use color code free, which means that you're allowed to transmit on the repeater when no one else is. That way, you avoid doubling. This is one advantage of the DMR standard: your radio is constantly receiving from the repeater in between your micro transmissions, so it knows the status of the repeater at all times.
ii) Other channel settings
In addition, there are a few other items that can be set up for each channel, including:
- Talkaround (on/off) – This typically means using the RX frequency (a repeater's output channel) for direct simplex communication, radio to radio, rather than through the repeater. For example, talkaround can be useful if someone with a more powerful radio that can hit the repeater wants to talk to someone nearby with a less powerful radio that can't hit the repeater.
- TX Timeout Timer (TOT) – A limit on how long you can transmit (in other words, the length of time that you can hold down PTT). This is done to protect the radio. A reasonable timeout is 120 - 180 seconds (in any case, it should be set to an amount of time less than the repeater's timeout). There's also a TOT pre-alert tone that you can set to warn you a few seconds before the timeout, so you can transmit "Pause," and then reset.
- Scan list – This is a "Which comes first, the chicken or the egg?" step. You have to create channels first in order to create scan lists (see the next step), but then after you create the scan lists, you have to come back and add them to the channels you want to have them available for.
3h) Create scan lists
This is another area where I'm still learning. So far, I've set up just a few scan lists, for example, one that includes US Wide and Tac 310/311/312, another that includes all the BrandMeister regional talkgroups, and a third that includes all the talkgroups on nearby DMR repeaters.
I created a channel in each of the associated zones that has an appropriate scan list selected for it, so I can dial in that channel and then begin scanning.
3i) Create analog channels
Setting up an analog channel for a DMR radio is similar to what you do for an analog radio. There is one difference in the CPS I use: I need to set the CTCSS tone for both the RX and TX frequencies, even when they are the same.
3j) Create zones
When I created my zones, I thought about the groups of channels I think I'll want to use in proximity.
Since most of my activity will be via the hotspot, and since that hotspot has separate connectors for the BrandMeister and DMR-MARC networks ¹, I set up my zones this way:
- The BrandMeister talkgroups I'll monitor most frequently via hotspot.
- The UHF analog frequencies I use.
- The DMR-MARC talkgroups I'll monitor most frequently via hotspot.
- Talkgroups on the nearby DMR repeaters I'll monitor when driving.
- All the BrandMeister regional talkgroups via hotspot.
- All the BrandMeister U.S. statewide talkgroups via hotspot (obviously, this requires multiple 16-channel zones).
Then I added the appropriate channels to each zone, and organized the channels in the order I figure I'll flip through them.
 As of openSPOT firmware version srf-osp-1.1-0101.bin dated 2017-02-19, openSPOT now appears to use a single connector for both the BrandMeister and DMR-MARC networks.
3k) Save codeplug and write to radio
As you're working in the CPS, you should save regularly, and again when you're finished.
The final step is to connect your radio to your PC with the programming cable, turn on the radio, and then click the CPS Write button to transfer the codeplug to the radio. It takes just a few seconds. My radio restarts when the write is complete. At that point, all the new contacts, zones, channels, basic settings, etc. are in the radio and ready to use.
And it worked. I fired up my hotspot, set the connector to Homebrew, turned on my radio, selected a channel with a BrandMeister talkgroup, announced myself (DMR ettiquette is to give your callsign and announce which talkgroup you're monitoring, for example, "KE0FHS monitoring 3108"). And then I had my first DMR chat. Sweet !