Codeplug from scratch: zones, talkgroups, RX groups and contact list without the pain
Your first codeplug is intimidating: the software (CPS) has dozens of tabs, fields like "RX Group List", "Contact", "Zone", and it's not clear where to start. In reality, every radio — TYT, AnyTone, Radioddity, Baofeng — uses the same logic built from four building blocks. Once you understand it, you can build a codeplug for any radio. Let's go through the logic itself, not the specific buttons.
What a codeplug and CPS are
A codeplug is the radio's entire "brain" in a single file: channels, frequencies, contacts, groups, settings. CPS (Customer Programming Software) is the PC program you use to edit that file and write it to the radio over a cable. Change the codeplug on your PC → write it to the radio → done.
The four building blocks of any codeplug
1. Contacts
A list of "recipients". In DMR these are primarily talkgroups (group calls) — for example, a TG with its own number. Private IDs of specific people go here too. A contact = "where I talk to". First, add the groups you need as contacts.
2. RX Group Lists
A set of talkgroups the radio will listen to on a specific channel (in addition to the one it transmits on). This is "who I hear". For example, a channel transmits on the "Local" TG, while the RX group adds a couple more groups to monitor.
3. Channels
The most important building block. A digital channel = a set of parameters:
- RX/TX frequency (for a hotspot it's the same one, simplex);
- Timeslot — TS1 or TS2 (for a simplex hotspot always TS2);
- Color Code — must match the hotspot/repeater;
- Contact (TX) — which talkgroup your voice goes to by default;
- RX Group List — which groups to listen to;
- type — Digital (DMR) or Analog (in which case it's a CTCSS subtone instead of a TG).
So one channel is "bound" to a single TG for transmit. Want to reach five groups — make five channels on the same hotspot frequency, differing only in the Contact field.
4. Zones
The radio shows channels not as one big list, but in zones — like folders. Into the "Home hotspot" zone you put all your hotspot channels, into "City repeater" the repeater channels. The selector/knob scrolls through the channels within the current zone.
Typical build order
- Enter your DMR ID in the radio settings.
- Add the talkgroups you need as contacts.
- Build the RX receive groups.
- Create channels (hotspot frequency, TS2, Color Code, TX contact, RX group).
- Arrange the channels into zones.
- Upload the DMR ID database (to see callsigns), write the codeplug to the radio.
Half the codeplug — ready in a single import
Don't type contacts in by hand. The DMRhub dashboard has ready-made contact lists for the network in formats for OpenGD77, AnyTone, TYT and more — download, import into CPS, and the groups and operators are already in your radio. All that's left is to add the channels for your hotspot.
Sources
- Codeplug and DMR radio programming — amateurradionotes.com/dmr
- OpenGD77 User Guide (Codeplug section) — github.com/LibreDMR/OpenGD77_UserGuide