Matching Baofeng and Motoroal DCS/CTCSS privacy codes on PMR 446
1. Introduction
Put the first radio on a specific channel, the second on the same and you are done. Right? Well no! It is unfortunately (or fortunately ?) not that simple.
PMR446 radios are channelized in 12.5 kHz steps. It means that users cannot just pick a random frequency. Instead, the select a channel, usually 1 through 8 or 1 through 16. The radios then resolves internally what frequency is assigned to a given channel.
2. Baofeng BF-88ST Pro
This post is not about comparing Motorola and Baofeng radios. The reader probably already made his own opinion and "the best" PMR446 radio will depend on the usage and the users.
The Baofeng BF-88ST Pro is a great radio for the price. I got a set of two for the kids. They have 16 channels out of the box, they are easy to program, support DCS and CTCSS tones. The accessories are also pretty good for the price.
The build is as cheap as you’d expect for the price range but this is not ridiculous.
On the Boafeng, the channel list is set and fixed, the user cannot change the frequency of a given channel.
Channel | Freq. (MHz) | Channel | Freq. (MHz) |
---|---|---|---|
01 |
446.00625 |
09 |
446.10625 |
02 |
446.01875 |
10 |
446.11875 |
03 |
446.03125 |
11 |
446.13125 |
04 |
446.04375 |
12 |
446.14375 |
05 |
446.05625 |
13 |
446.15625 |
06 |
446.06875 |
14 |
446.16875 |
07 |
446.08125 |
15 |
446.18125 |
08 |
446.09375 |
16 |
446.19375 |
3. Motorola XT420/XT460
The Motorola XT420 and XT460 are also PMR446 radios. Compared to the Baofeng, it is easy to spot the differences. The build is much better on the Motorola and the radio is more configurable… assuming you are willing to take the time to do so.
The Motorola RM Series CPS Programming Cable Black will set you back around 53 EUR an be required for some of the modifications mentioned in this other post.
When you received you XT Radio, you will find 16 channel set on the following frequencies:
Channel | Freq. (MHz) | Channel | Freq. (MHz) |
---|---|---|---|
01 |
446.00625 |
09 |
446.00625 |
02 |
446.01875 |
10 |
446.01875 |
03 |
446.03125 |
11 |
446.03125 |
04 |
446.04375 |
12 |
446.04375 |
05 |
446.05625 |
13 |
446.05625 |
06 |
446.06875 |
14 |
446.06875 |
07 |
446.08125 |
15 |
446.08125 |
08 |
446.09375 |
16 |
446.09375 |
You can already spot an issue if you want to use your Motorola with the Boefeng channels 9..16 but this is covered in another post.
4. Matching the DCS/CTCSS codes
Once again, you may be tempted to think that things will work if you just pick the same number in both radios… once again, it is not as straight forward.
Both Baofeng and Motorola use tables to map the DCS/CTCSS codes to the actual frequencies. So when you select DCS / 23 in a Boafeng radio, it is actually not the DCS code 23… but the DCS code 23 as per the Baofeng table. Boafeng makes it even litghly easier than the Motorola radios since you first select either DCS or CTCSS and then the code. Motorola mixes both DCS and CTCSS in a single table with the CTCSS frequencies first, followed by the DCS codes.
5. Note of warning
(Un?)fortunately, you will not find a 100% match between the radios and some of the codes can only be found in one or the other. Motorola also allows customizing some of the code, which actually can help clear up from the code a Baofeng radio can use, effectively preventing a Boafeng from intereferring with a Motorola.
That being said, you will find most of the codes in both radios
6. Now what ?
If you already proceeded to the frequency extension on your Motorola radio, you will have complete freedom, if not, for now, you will need to stick with the first 8 common channels.
Now say you have channel 1 on your Baofeng set with DCS Code 23, how can you program your Motorola to match this ? Luckily, I went thru the hassle of making those tables but read on… you won’t need to read them :)
Check out those tables for the raw data as CSV.
7. Terminal magic
The following section requires the use of a Linux Terminal. I think Windows also allows using one.
First we initialise some VARS, it makes the next commands easier to read and understand. Those are just aliases to the long URLs on Github:
export MOTO_DCS=https://gist.githubusercontent.com/chevdor/85f08df67da5bbe11c01dcb15aca55c0/raw/f0ae4d24ca924eae159c62d333a96a175a83053d/motorola_xtserie_dcs.csv
export MOTO_CTCSS=https://gist.githubusercontent.com/chevdor/85f08df67da5bbe11c01dcb15aca55c0/raw/f0ae4d24ca924eae159c62d333a96a175a83053d/motorola_xtserie_ctcss.csv
export BAOFENG_CTCSS=https://gist.githubusercontent.com/chevdor/85f08df67da5bbe11c01dcb15aca55c0/raw/f0ae4d24ca924eae159c62d333a96a175a83053d/baofeng_88st_pro_ctcss.csv
export BAOFENG_DCS=https://gist.githubusercontent.com/chevdor/85f08df67da5bbe11c01dcb15aca55c0/raw/f0ae4d24ca924eae159c62d333a96a175a83053d/baofeng_88st_pro_dcs.csv
export SCRIPT=https://gist.githubusercontent.com/chevdor/85f08df67da5bbe11c01dcb15aca55c0/raw/5d30dc07d76b366836d1fa863d32d7a76a8dd731/translate.sh
Now let’s set the input code:
export CODE=1
Now we can, for instance, translate from BAOFENG to MOTOROLA with the following command:
curl -s $SCRIPT | bash /dev/stdin $CODE $BAOFENG_DCS $MOTO_DCS
The output will show:
1 > 23 > 39
Which means that the Baofeng code 1
is DCS 23
and matches the code 39
on the Motorola radio.
or from MOTOROLA to BAOFENG:
curl -s $SCRIPT | bash /dev/stdin $CODE $MOTO_DCS $BAOFENG_DCS
The output will show:
1 > ❌ > ❌
Which means that motorola has no code 1
for DCS.
If you run:
CODE=39; curl -s $SCRIPT | bash /dev/stdin $CODE $MOTO_DCS $BAOFENG_DCS
you will find the Baofeng code for the Motorola code 39
: 1
.
8. Summary
You have now all the information and some scripts to match DCS and CTCSS codes between your Baofeng and Motorola radios. This will allow you using those radios on compatibles channels with privacy code or on the opposite, pick code that you know will not be available for the other radios.