Skip to content

Two-way radio interop: channels, CTCSS and DCS

Two radios on "the same channel" can still fail to hear each other, often only in one direction. Here are the settings that have to match, what each one does, and how to set up a programmable radio so it talks to a fixed-channel PMR446 walkie-talkie.

Challenge

I have a Midland XT10 Pro (a PMR446 walkie-talkie) and a Baofeng UV-9R Plus (a programmable handheld). When I transmitted on the Midland, the Baofeng heard it. When I transmitted on the Baofeng, the Midland stayed silent.

The radios themselves were fine. The problem was one setting that didn't match, so this post covers all of the settings that have to match.

The rule: five things must agree

For two radios to talk both ways, they must agree on:

  1. Frequency, the channel itself.
  2. Squelch codes: what one radio sends (TX code) must be what the other requires (RX code). These are CTCSS or DCS.
  3. Bandwidth, narrow (12.5 kHz) or wide (25 kHz).
  4. No transmit offset: both on simplex, not repeater mode.
  5. Nothing that alters the audio, such as a scrambler.

Fixed-channel radios (PMR446, FRS, toy walkie-talkies) set all of these for you. Programmable radios like the Baofeng make you set each one yourself, so when a mixed pair doesn't work, the problem is almost always on the programmable side.

1. Frequency: the PMR446 channels

PMR446 channels are 12.5 kHz apart, starting at 446.00625 MHz. Channels 1–8 are the original set; 9–16 were added in 2016, so older radios may only have 1–8.

Ch MHz Ch MHz
1 446.00625 9 446.10625
2 446.01875 10 446.11875
3 446.03125 11 446.13125
4 446.04375 12 446.14375
5 446.05625 13 446.15625
6 446.06875 14 446.16875
7 446.08125 15 446.18125
8 446.09375 16 446.19375

Frequency step

These frequencies end in ...0625 and ...1875, which needs a 6.25 kHz (or 2.5 kHz) tuning step. On a 12.5 or 25 kHz step a programmable radio may round 446.00625 to 446.000 without telling you.

2. Squelch codes: CTCSS and DCS

These are sold as "privacy codes", but they aren't private. Anyone on the channel with the code turned off still hears you. A code is a squelch key: the receiving radio stays muted unless it hears the matching code in the signal.

  • CTCSS is a continuous low tone below the voice range, 67.0 to 250.3 Hz.
  • DCS is a repeating digital pattern, written like D023N. The N or I is the polarity (normal or inverted).

A radio set to CTCSS can't open on a DCS code, and the other way round. They are two different systems.

Every radio has a TX code (what it sends) and an RX code (what it needs to hear before it opens). A PMR446 radio sets both with one code number. A programmable radio sets them separately, so it's easy to end up with a radio that hears everyone (RX off) but sends a code the other radio doesn't expect. That gives you exactly the one-way problem I had.

CTCSS code numbers

PMR446 radios show a code number, not the tone. Most use the standard order below for codes 1–38. Check your radio's manual, as a few brands differ.

1 = 67.0 2 = 71.9 3 = 74.4 4 = 77.0 5 = 79.7
6 = 82.5 7 = 85.4 8 = 88.5 9 = 91.5 10 = 94.8
11 = 97.4 12 = 100.0 13 = 103.5 14 = 107.2 15 = 110.9
16 = 114.8 17 = 118.8 18 = 123.0 19 = 127.3 20 = 131.8
21 = 136.5 22 = 141.3 23 = 146.2 24 = 151.4 25 = 156.7
26 = 162.2 27 = 167.9 28 = 173.8 29 = 179.9 30 = 186.2
31 = 192.8 32 = 203.5 33 = 210.7 34 = 218.1 35 = 225.7
36 = 233.6 37 = 241.8 38 = 250.3

Set the tone by Hz, not by list position

Programmable radios usually list 50 CTCSS tones, including extras like 69.3 and 159.8 Hz. Their 12th entry is therefore not the walkie-talkie's code 12. Always pick the tone by its Hz value.

3. The other settings

  • Bandwidth. PMR446 is narrow (12.5 kHz). A wide radio still gets through, but it sounds loud and distorted on the narrow radio, and the narrow radio sounds quiet on the wide one.
  • Offset / shift. It must be off. With an offset, the radio listens on one frequency and transmits on another, which is meant for repeaters. That's the other classic cause of one-way audio.
  • Dual watch. Many programmable radios show two frequencies and can receive on one while transmitting on the other. Turn it off while setting up.
  • Scrambler. Off. The other radio would hear garble.
  • Power. Use low. More power doesn't fix a mismatched code, and at close range it can overload the other receiver.
  • Busy channel lockout. Off while testing, or the radio may refuse to transmit.

4. Recipe: programmable radio to PMR446

  1. Note what the PMR446 radio shows: the channel and the code number. No code means "open".
  2. On the programmable radio, switch to frequency (VFO) mode, turn dual watch off and set the step to 6.25 kHz.
  3. Enter the channel's frequency from the table above.
  4. Set offset off, bandwidth narrow, power low and scrambler off.
  5. Set the TX CTCSS to the Hz value of the PMR446 code. Make sure TX DCS is off.
  6. Set the RX CTCSS to the same tone, or leave it off to hear everyone on the channel.
  7. Test in both directions, then save it to a memory channel. Or program all 16 channels at once with CHIRP.

Worked example: Midland XT10 Pro and Baofeng UV-9R Plus

Baofeng UV-9R Plus

Midland XT10 Pro Baofeng UV-9R Plus
Type PMR446, fixed channels Programmable dual-band VHF/UHF handheld
Frequencies Only the PMR446 channels Anything in range, typed in or stored
Power 0.5 W, fixed antenna Low or high (several watts), removable antenna
Bandwidth Narrow only Wide or narrow
Codes CTCSS 1–38 only, no DCS CTCSS and DCS, set separately for TX and RX

The Baofeng had T-DCS set to D023N. The Midland only does CTCSS, so it never recognised the Baofeng's signal and stayed muted. The Baofeng's RX code was off, so it heard the Midland fine.

The fix was to turn the Baofeng's DCS settings off. These are the UV-9R Plus menu numbers (press MENU, then the number):

Menu Name Setting
1 STEP 6.25K
2 TXP LOW
5 WN NARR
7 TDR OFF
10 R-DCS OFF
11 R-CTCS Same tone as T-CTCS, or OFF
12 T-DCS OFF
13 T-CTCS Hz value of the Midland's code (or OFF if the Midland has no code)
23 BCL OFF
25 SFT-D OFF
26 OFFSET 00.000

The Baofeng also had an offset set (a + or – next to the frequency). Its frequency jumped when PTT was released, and pressing * (reverse) swapped TX and RX. Setting SFT-D off and OFFSET to zero cleared it. If the shift is saved in a memory channel, menus 25 and 26 won't override it: switch to frequency mode (VFO/MR), set it up there, then delete the old channel (menu 28) and save it again (menu 27).

After that, the two radios talked both ways.

A note on licensing in South Africa

PMR446 radios (0.5 W, fixed antenna) are the licence-free kind. A Baofeng isn't a PMR446 radio. It's higher power, has a removable antenna and isn't type-approved for PMR446, so under ICASA rules it belongs on the amateur bands with an amateur licence, or on a licensed business channel. Transmitting with it on PMR446 frequencies, even on low power, is outside the licence exemption. Check ICASA's current regulations before you transmit.

Takeaways

  1. "Same channel" means five things must match: frequency, codes, bandwidth, no offset and no scrambler.
  2. If audio only works one way, look at the TX code on the radio that isn't being heard.
  3. CTCSS and DCS are different systems. A CTCSS-only radio will never open for a DCS signal.
  4. Set tones by Hz, never by list position.