Author Topic: DMR FOR DUMMIES - A Hands On Guide to Programming Motorola MotoTRBO DMR Radios.  (Read 4830 times)

0 Members and 1 Guest are viewing this topic.

Offline W1RC

  • NEAR-Fest Founder & Benevolent Dictator.
  • Administrator
  • Extra
  • *****
  • Posts: 972
  • Karma: +9/-0
Motorola Digital Mobile Radio (DMR) FOR DUMMIES
Updated November 20th 2023
A ?hands-on? guide or
Writing a MOTOROLA Codeplug from Scratch - The Basics.


This treatise is for the edification of newcomers to Motorola MotoTRBO Digital Mobile Radio (DMR) to help guide them through the maze of settings that are inherent in using the Motorola CPS (Customer Programming Software).  This is a Windows version of the older DOS-based Motorola RSS (Radio Service Software) still considered a "holy grail" by amateurs who like using older surplus Motorola equipment. 

Please note that these instructions apply only to the Motorola CPS which is for the MotoTRBO Digital,Mobile Radios (DMR).  In recent years there have been many new DMR radios of Chinese origin;  each with their own programming software and they are not the same. However the general DMR principles are and pretty similar and you may be able to adapt what you learn here to your specific model of radio and software you have chosen to use.

Before you continue you must also be registered which means you have been assigned a seven-digit DMR Subscriber ID number that corresponds to your callsign.  If you don't have this number stop right here and do it now.  You will need this ID number to use the radio on the DMR digital network (although you may still use the radio on analog/FM).  You can register here.!

Registration is pretty straight-forward and does not happen immediately.  There is no charge to register.  You will need to upload an image of your current F.C.C. or Industry Canada Amateur Radio license so have it handy.   Some people obtain a separate DMR registration number for each radio; others may want obtain one for VHF and another for UHF.   It is a good idea to have a separate Subscriber ID numbers for each radio if they might be used simultaneously.  You will receive your DMR registration number later by email, often same day, but sometimes it does take a bit longer because your application is examined by a human who is a volunteer. There is no fee for registration but DMR-MARC and our local organization, The New England Digital Emergency Communications Network, or NEDECN, gratefully accept donations through PayPal...........

The CPS Software, Programming Cables and The Codeplug File.

The latest Motorola programming software is called CPS v2.0.  The latest iteration of Version 1 is 16.  My advice on upgrading is:  Try to avoid using CPS 2.0 if you can.  It is totally different and uses the Microsoft model of Annual Subscriptions and you really don?t want to go there.  Please understand that converting a radio codeplug to 2.0 is NOT REVERSIBLE!  Eventually we will have to install 2.0 for newer radios but I would not upgrade any of my radios to 2.0 without a damned good reason for doing so.

When this was first drafted Motorola's licensing agreement allowed for "group purchase" of CPS software so members of a club or organization could legally share software within the group.  This means that your club could purchase a three-year subscription to CPS and the members may each have a copy. Any of you who have been playing with Motorola software programmable radios for any length of time will know immediately how big a concession this is. 

Latest update: Motorola CPS 20. is free of charge BUT you will have to create an account and this is a major PITA (pain in the ass)!  Then if you want to get the wideband ?entitlement key? is even a bigger PITA.  You must take ?training? then you may order your entitlement key which can take MONTHS. 
Only one reason to stick with CPS 16!

I understand that the two versions of CPS will coexist peacefully on the same PC but I haven?t tried it so don?t hold me or NEAR-Fest responsible if you try it and it bites you in the butt.

This writer assumes that you have a recent version of the Motorola CPS (and the 25 KHz entitlement key) installed in your computer, the correct programming cable (make sure you have the "B" cable for the XPR5000 series (also works with the XPR5000 and 7000 series) and your radio is powered up and connected to the computer which is able to read and write from and to the radio.  Connect the cable to either the mic connector on the front or the multi-pin on the back depending on which cable you have.  The ?A? cable reportedly only works with the XPR-4550 series radios.

This document will focus primarily on the essential settings that you will need to enter in the CPS in order to use the radio on the amateur bands.   The CPS is written in Motorola-speak but fortunately there are context-sensitive help windows that are somewhat helpful in deciphering the jargon.  Radios acquired from overseas may require their own version of the CPS a fact you should know especially when buying a radio online, particularly on eBay.

The CPS software looks very intimidating to the uninitiated and it is.  Do not lose sight of the fact that you are playing with COMMERCIAL equipment whose users have needs that are far beyond Amateur requirements.   The CPS is complex but once you begin to understand how it works you can work with it.  You should know there are literally hundreds of settings and options that you do not need to change, especially if you are cloning a radio using a file from another radio already programmed for amateur radio service which happens all the time in which case you only need to add your call sign and DMR registration code and you are good to go. 

It is important to note that not all CPS versions data files are compatible with those written with another CPS version.  These files are called "codeplugs" in Motorola-speak; a term that goes back to the very early days of programmable radios when the programming "code" was burned into a chip that was mounted inside a plug-in module.   A Codeplug written using v13 cannot be read by CPS v12 or lower.  A higher version will read a lower version codeplug BUT will save it in its own format which means you will not be able to read that codeplug with the version that was used to write it.  If you are in this situation be sure to rename the higher version edit accordingly.  Again keep backups of old codeplug files just in case.....

There are several stock codeplugs available for download from the NEDECN.ORG, DMR-MARC.NET as well as other DMR radio web sites.  You may also obtain one from a buddy.  You can use these codeplugs as a starting point to customize your own radio according to your operating preferences. This article will provide instructions on how to do this as well as how to write a basic codeplug from scratch by copying and pasting some of the information from another codeplug.  It assumes that you have an existing codeplug available so you can copy and paste some of the data which will save you a great deal of time and effort as well as a lot of frustration and aggravation in the process.

Additionally it is very important to understand that each iteration of every radio model's programming file is different.  A codeplug file cannot be written to a radio even if it is the same model if there are any variations in the two radios.  An example of this is that an XPR5550 VHF 25 Watt radio's codeplug cannot be cloned to an XPR5550 VHF 40 Watt radio and vice versa.  You could however use an existing codeplug to create a new one by "copying and pasting" certain information into the file that you are creating.  I wrote this guide to show you how to do this.

Once you have determined what you want to do you can customize the file to suit your particular needs and operating habits.  However it is very important to save the original file you have read from your radio before starting to dink around with the settings or you may be very sorry you didn't.  If something goes wrong you can easily restore the radio and start again.  This is always a wise practice to follow when working with any software programmable radios. 


The first thing you should do after you connect the radio to your computer is to read the codeplug already stored in it.  Save it and name it "original" or something like that.  I date the codeplugs I create as follows: CALL_MODEL_BANDV_RXX_YYYY-MM-DD so they will sort with the newest versions last.  Example: W1RC_XPR5550V_R16_2021-01-20. 

Now you can start to create the new codeplug based on the old one that is known to work with your radio by changing settings that need to be changed to produce your new codeplug file. 

1.  Go to GENERAL SETTINGS.  Make the following changes:

Radio Name - usually your callsign and first name.
Radio ID - your registration number as assigned by

GPS - uncheck this box. The digital GPS in these radios cannot be used for APRS which is analog and is for all intents and purposes useless.

Scroll down to the blue bar that says MICROPHONE

Analog Mic AGC - uncheck the box.
Digital Mic AGC - uncheck the box.

More on calibrating the audio to match the microphone you will be using:

You probably won?t have to do this with the XPR-5550 radios.

Next three steps should be done in this order:
Create your TALKGROUPS list as outlined below.
Create your ZONES.
Create your CHANNELS and put them into ZONES
Optional steps:
Create Receive Groups
Create Scan Lists
Create Roam Lists


If you want to use the DMR talkgroups (TGs) you will need to do this next. 

Before you start you need to know the name of each talkgroup you want to enter and its' corresponding TG NUMBER.  You should also note the TIME SLOT number which you will need later when you actually program the CHANNELS.  This is what we are using in New England.

It is probably a good time to discuss an important DMR operating principle that all users need to understand and observe.  Many talk groups cover a large area; states, regions, continents (and even the entire world).  Using a talk group such as Region North, or North America for example, will key up a couple hundred or even a thousand repeaters.  This is great for nets or use as a calling channel but once you have established contact you should move to one of the so-called ?TAC Channels? such as TAC310, TAC-311, NETAC1, NETAC2,  etc, for your QSO thus freeing up all the repeaters in the talk group and sparing the rest of us from having to listen to what often is uninteresting chatter and sometimes drivel......

The rule of thumb here is to choose the TG that covers the smallest territory and the fewest number of repeaters to communicate with the station(s) with whom you wish to converse.  The FM equivalent is moving from a repeater to a simplex channel so as not to tie up or ?monopolize? the repeater.
Now back to our regular scheduled programming......

Open the codeplug file from which you will be copying and go to CONTACTS -> DIGITAL.  CPS allows you to have multiple codeplug files open which makes this process a lot easier.

Right click on DIGITAL.  Choose SORT -> BY TYPE and click on it.  This will bring the talkgroups to the top.  Click on the + by DIGITAL which will expand the section.  Click on the top listing, hold the SHIFT key and click on the last listing before the call signs.  Right click and choose COPY.  Go back to the new codeplug file you are creating, place the cursor on DIGITAL, right click and choose PASTE. 

You can add the user contact names and calls later.  It is optional.  All this does is to enable the receiving radio to display the callsign and person's name that they entered in the GENERAL SETTINGS -> RADIO NAME page in the CPS as described above. If you choose not to add the information the display will show the RADIO ID number in theDMR database they received when they registered with DMR-MARC.NET.

SAVE the codeplug file and continue.

NOTE:  You cannot Copy and Paste the following:

-Receive Groups
-Scan Lists
-Roam Lists

3:  Create the RX (Receiver) GROUPS LIST.  This step is optional.  Say, for example, you want to be on MA STATEWIDE (Talkgroup 3125 ) but want to also monitor NH STATEWIDE (Talkgroup 3133 ) simultaneously.  You can easily create this option in the RX GROUP LIST.  Otherwise you don't need to do this. 

Navigate to RX GROUPS LIST -> DIGITAL. Click on DIGITAL. 
Right click -> ADD -> RX GROUP LIST.  Click on it to create a new list.  LIST1 will appear at the bottom of the DIGITAL tree.  The drop-down picklist on the left shows the available talkgroups.  Click on one (or more) and it will copy to the right column. This allows you to monitor multiple talkgroups according to what you choose from the pick list on the left. Rename LIST1 according to your preference.  Make as many RX Group Lists as you want or none at all because you don't need any if you don't want to monitor more than one talkgroup at a time.  You can also turn this feature on and off easily when setting up your CHANNELS.

Please note that you cannot copy and paste the RX GROUPS as well as the SCAN and ROAM lists which will be discussed later.  You must create them from scratch for each codeplug that you write.  However some groups lists are very likely to be present in any codeplug you may be given or download and they can be edited by you to suit your preferences.

A personal note:  I do not use this function because I find it too distracting especially when operating mobile. 

4. Now go to CHANNELS.  This is where you can copy and paste the ZONES and CHANNELS from the source codeplug. 
Analog channels usually copy correctly.  However, with digital channels, sometimes there is a glitch in the copy and paste process where the GROUP LIST and/or the CONTACT NAME  does not copy properly.  Check your work carefully.  It is always wise to verify these are correct before saving the file.  Otherwise you will not get the desired results and may waste a lot of time trying to figure out why it doesn't work as expected.  Even a small mistake will result in non-operation and it can be a real PITA trying to deal with it later.   

Or you can create your own CHANNEL listing.  Here's how:

You need to know the name of the CHANNEL, the COLOR CODE (CC NUMBER), the RX GROUP LIST if you are using one, the TALKGROUP name, REPEATERS/TIME SLOT NUMBER (TS NUMBER), again if you are using one, the RX frequency, the TX fRequency as well as the OFFSET (MHz) frequency.

With the cursor on CHANNELS right click -> ADD ->ZONE.  A ZONE is more commonly called a "channel bank" and is simply a group of channels.  ZONE1 will appear at the bottom of the list.  Move the cursor arrow to it and right click -> ADD -> choose ANALOG CHANNEL or DIGITAL CHANNELS.

To add a new digital channel then you will start by entering the COLOR CODE (the sub-audible, CTCSS or "PL" tone) and the REPEATER TIME SLOT number for this channel at the top.  This information may be obtained from the DMR-MARC.NET Repeater Map listed below.  Make sure ARS is disabled and check ALLOW TALKAROUND if you want the capability to transmit on the repeater output frequency which is sometimes very useful.

If you want this channel to be part of a ROAM LIST be sure to check the IPSC (IP SITE CONNECT) box. Otherwise the ROAM LIST will ignore this channel.  ROAMING operates under the same principle as is used in cellular telephone technology and will be discussed later. 

Now enter the RX frequency.  The GROUP LIST is optional and if you don't want to monitor multiple talkgroups select NONE.  Now go to the TX side of the screen and enter the TX frequency.  You can leave the OFFSET (MHZ) box at 0.0000.  The CONTACT NAME is where you will select the talkgroups for this channel and if you click on the down arrow a picklist will appear.  Choose the appropriate talkgroup, set the power level and the TOT (Time Out Timer) and you are done.

Since this is not essential to getting the radio on the air and working the instructions are not included in this treatise at this time.  I may add them to a later version once I have a thorough understanding of how they operate.

5. The last two things you can add are the SCAN and ROAM lists. 

A:  The SCAN lists are simply a group of channels you make up from the list of all channels programmed into the radio.  You can use up to sixteen channels per SCAN LIST and they can be mixed analog and digital.  Motorola radios have excellent scan functions that scan very fast.

RIGHT CLICK on.       ->
Name it something descriptive.
Create list from the drop-down pick list.

Check box.  Duration of hold.


B: The ROAM LISTS are pretty cool!  ROAMING works on the same principle as your mobile phone.  Motorola DMR repeaters send out a "beacon" signal periodically when they are silent for purposes of the roaming feature.  Having a ROAM LIST allows you to drive around tuned to a specific talk group while the radio silently searches for the strongest repeater signal on that talk group.   If your DMR receiver receives a signal less than the preset RSSI threshold value that has been programmed into your ROAM LIST for the repeater you are using the your radio automatically searches for a stronger signal and transparently switches to that repeater.
You may enable roaming on your radio to have it automatically change to the repeater with the strongest signal.  It is recommended that you program your receiver' RSSI threshold to -100dBm and your portable radio to -95dBm as starting points.

ROAMING works very well in flat terrain situations where one repeater "hands off" your radio to the next repeater down the road.  However in hilly and mountainous terrain especially in rural areas ROAMING may not work as well because of the time delay used for the beacon signals from the repeaters that are not being used.  In this case SCAN might be the better choice.

Please note that you cannot use both ROAM and SCAN on the same channel.

Finally, (and completely optional):  You can also configure the four Buttons on the front panel marked P1, P2, P3 and P4 to perform customized functions.  If your microphone has buttons they can also be configured on this screen.  Each button has up to two functions depending on whether it is pressed quickly (short press) or held down for a bit (long press).  And, yes, you can even set the amount of time that determines which is which.  I set mine as follows:

BUTTON      SHORT PRESS                 LONG PRESS
P1                 Scan ON/OFF                     Brightness (screen)
P2                Tight/Normal Squelch      Permanent Monitor
P3                High/Low Power                Repeater/Talkaround
P4                Zone                                      Roam

My mic has two buttons which I have programmed thusly:

1 dot           Channel up
2 dot           Channel down

Portables have different programable button layouts depending on the model.  My XPR6550 has three buttons on the side, one on top and two on the keypad.

You should be aware of the fact that under normal conditions these radios can only be programmed with the Motorola CPS with the modified codeplug written to the radio via a special programming cable.  (The XPR5000 and XPR7000 radios may be programmed via Bluetooth).

These radios are not "field programmable".  This is because FCC law states that commercial radios must not be "easily programmable by the end user."  There are modifications that allow some of the radios to become "field programmable" but I have no experience with these and cannot comment.

Offline W1RC

  • NEAR-Fest Founder & Benevolent Dictator.
  • Administrator
  • Extra
  • *****
  • Posts: 972
  • Karma: +9/-0
Re: DMR FOR DUMMIES Part II - Summary.
« Reply #1 on: February 03, 2021, 07:39:41 AM »

Register to obtain your DMR Subscriber ID number:!

A visual programming guide.......

1. READ THE RADIO.   Save the original codeplug in case.
2. GENERAL SETTINGS -> RADIO NAME  your callsign
                                -> RADIO ID  your assigned DMR Subscriber ID number.
                                -> GPS box unchecked
                                 -> Analog Mic AGC - box unchecked
                                 -> Digital Mic AGC - box unchecked
                                 -> Copy and Paste from another codeplug file.  CPS   
                                      allows for multiple files to be open.

4. Create the RX GROUPS list (optional).

5. CHANNELS.  Copy and paste ZONES and CHANNELS from another codeplug.  Check all digital channel entries to ensure that the GROUPS LIST and CONTACTS entries were copied correctly.

6. Create a SCAN list (optional).

7. Create a ROAM list (optional).

8. Get on the air!  Have fun.  Experiment.  Learn.  Share.  Enjoy!


The DMR-MARC web site:

Two excellent DMR Web sites with emphasis on DMR in New England:

1.  Bill, NE1B, who is the "DMR Wise Man" here in New England, runs a very comprehensive Web site on the subject.  Without Bill's solid commitment, wisdom, experience and hard work the DMR network in New England would simply not exist as it does now.  There are currently 95 VHF and UHF repeaters in the network and the DMR system continues to grow every month.  Thanks to Bill and a large number of dedicated radio amateurs the New England Digital Emergency Communications Network (NEDECN) is, in the opinion of this writer, the premier such network in the world today.

N1DM?s excellent PowerPoint programming presentation that was presented at Deerfield in 2014 is available here on the NEDECN web site.

2. My good friend Dave, KQ1L, who is the "Benevolent Dictator" of DMR in the state of Maine and another wise man also has an excellent Web site.  It is specific to DMR operations in that state but contains a great deal of very useful information that is common to all DMR operation and is well worth a visit.

3.  This is the Motorola Amateur Radio Club (MARC) DMR Web site.  It is NOT affiliated with the Motorola corporate entity or endorsed by them in any way.  This site is also a "Mother lode" of information and knowledge,

DMR Repeater Worldwide Map

4.  Finally, there is the VA3XPR Web site in Toronto, Ontario.  Although most ex-Montrealers have little good to say about that city I must admit that this site is outstanding and is eminently worthy of inclusion in this document.

5.  These sites offer an incredible amount of general information on VHF and UHF FM operation and repeaters.  They are NOT endorsed by Motorola or any other manufacturer.

Please note:  You will NOT find any programming software on any of these sites and the mere request for same will get you booted off and your IP address banned quicker than as you can say "intellectual property infringement lawsuit".  You have been warned.

Note that these worthy organization's gratefully accept donations through PayPal to continue their good work.  Please consider donating a few bucks towards this end.

This document is dedicated to the memory of Eric Meth of Niagara-on-the-Lake Ontario, VE3EI and VE3NUU, (formerly VE2DFE and VE2AS) my first Motorola Mentor in the 1970s.  Eric sadly became an SK in April 2017.

73 and enjoy DMR!

Michael Crestohl, W1RC/VE2XL
Marblehead Mass.

"MIster Mike",
Benevolent Dictator,
New England Amateur Radio Festival, (NEAR-Fest).

NEAR-Fest is a proud DMR Supporter helping to build the NEDECN with some of the proceeds from our semi-annual hamfests.  Visit our Web site at and come to our hamfest held at the beautiful Deerfield (NH) Fairgrounds every May and October.

Copyright 2015, 2021
Michael Crestohl, W1RC/VE2XL
New England Amateur Radio Festival, Inc

Offline W1RC

  • NEAR-Fest Founder & Benevolent Dictator.
  • Administrator
  • Extra
  • *****
  • Posts: 972
  • Karma: +9/-0
Re: DMR FOR DUMMIES - A Hands On Guide to Programming Motorola DMR Radios.
« Reply #2 on: February 03, 2021, 02:21:01 PM »
DMR - Making a Programming Cable for Motorola Radios.

I want to thank my friend Reece Fowler, W1RCF (SK) for these instructions.  Reece was a very avid supporter of DMR and the NEDECN since its? inception.   His presence and wisdom are sadly missed.

This uses a simple USB cable and the Motorola PMLN5072 or PMLN5072A connector and 4 pins.  Cut the small or square connector off the cable leaving the flat connector that plugs into the USB port on the computer on the end of the wire.   Strip the wires and connect then to the pins that go into the Motorola connector as follows:

White Data - Pin 2
Green Data + Pin 1
Red Vbus Pin 3
Black ground Pin 4

If you don't have the special crimping tool for the pins you can carefully solder the wires to them. 

Looking at the back of the radio the connector facing you the pins are as follows:

Upper left side of the connector is pin 2
Lower left side of the connector is pin 1
Pin 4 is next to pin 2
Pin 3 is next to pin 1

It has been learned (the hard way) that on occasion the green and white wires may have been swapped in the USB cable, so you might want to check your USB connector before making the assumption that the white and green wires are what they really say they are. Some cheapie cables may have the colors swapped depending on who made them and might not follow the standard color configuration.  Check to see that it works properly by carefully inserting them into the connector on the radio as detailed above before inserting the pins into the black plastic connector body from the kit you obtained to make the cable.  If you get it wrong the pins are very difficult to remove from the connector body so be warned,

The cable in the photo on the left is the one that was made for under $10. The one on the right was purchased for more than $30. These cables are sold on eBay for as much as $60. So before tossing old mice and keyboards salvage the USB cables and keep them for making programming cables.

You should be aware that a cable exists that uses the front microphone connector.  However it may not program everything on the radio.  This cable is not recommended because it uses some system proprietary to Motorola.  However using the connector on the back of the radio will program everything.

Sometimes these cables will work with an XPR4000 series but not with the XPR5000 series.  I have found this to be the case with a cheap copy front programming cable acquired on eBay.  If you are going to do a lot of programming it would behoove you to purchase a genuine Motorola cable, part number PMKN4010B.  Make sure it is a 'B' cable.

Here is a YOUTUBE video that you might want to watch:

73 and enjoy DMR!

Michael, W1RC,

"Mister Mike",
Benevolent Dictator,
New England Amateur Radio Festival, (NEAR-Fest).

NEAR-Fest is a proud DMR Supporter helping to build the NEDECN with some of the proceeds from our semi-annual hamfests.  Visit our Web site at and come to our hamfest held at the beautiful Deerfield (NH) Fairgrounds every May and October.

Copyright 2015, 2021
Michael Crestohl, W1RC/VE2XL
New England Amateur Radio Festival, Inc