Skip to main content

DMR Code Plug Basics: Building Your First Config from Scratch

A step-by-step guide to building a DMR code plug in any CPS software. Covers DMR ID, talk groups, receive groups, channels, and zones — in the right order.

Note: This is the English version of the guide. For Portuguese and Spanish versions, see the corresponding files in the same directory.

A code plug is just a configuration file — some software calls it that, some calls it a config, but they mean exactly the same thing. If you’ve been staring at your CPS (Customer Programming Software) feeling overwhelmed, this guide is for you. The key insight is simple: order matters. Build the blocks in the right sequence and everything clicks into place.

This method works with any manufacturer’s CPS. Button labels may differ slightly, but the underlying structure is universal.

Video reference: This post is based on the excellent walkthrough by Jim (WT1W) on FP Labs Radio. Watch it alongside this written guide.


The Five Building Blocks

Think of a code plug like building a house. You don’t start with the roof — you start with the foundation. Each step below depends on the previous one being done first.

  1. Your DMR ID
  2. Talk Groups (Digital Contacts)
  3. Receive Groups (possibly optional)
  4. Channels
  5. Zones (highly recommended)

Step 1 — Enter Your DMR ID

This is the foundation. Nothing works without it.

In your CPS, find the section labelled something like Radio ID, My Radio, or DMR ID. Enter your personal DMR ID (the number you received when you registered at radioid.net).

Most radios support multiple IDs. If you operate under a club callsign that also has a DMR ID, you can add it here and switch between them. For now, one is enough.


Step 2 — Add Your Talk Groups

Talk groups are the “rooms” of the DMR network. You must enter them before you can assign them to a channel.

In your CPS, look for Talk Groups, Digital Contacts, or similar. For each talk group you want to use, create an entry with:

  • Name — anything you like (e.g. Worldwide, TAC 310, Local Repeater)
  • Number — the talk group ID (e.g. 91 for Brandmeister Worldwide)
  • TypeGroup Call for talk groups

Important distinction: If you also want to call a specific person directly (radio-to-radio), add their DMR ID as a Private Call instead of a group call. The Parrot echo test service (usually ID 9990) is also a Private Call.

Do not move on until you have added all the talk groups and private call contacts you intend to use.


Step 3 — Create Receive Groups (Possibly Optional)

Receive Groups (also called Receive Group Call List) tell the radio which talk groups to listen for on a given channel. On modern radios made in the last few years this step is often not required, but it doesn’t hurt to do it and some older hardware needs it.

The simplest approach is one receive group per talk group:

  1. Create a receive group named Worldwide
  2. Add the Worldwide talk group contact to it
  3. Repeat for each talk group from Step 2

You can get more advanced later (e.g. one receive group that contains several talk groups), but that is beyond the scope of this intro guide.


Step 4 — Create Channels

A channel ties a frequency to a talk group. This is where everything from Steps 1–3 comes together.

For each combination of frequency + talk group you want to use, create a channel:

Field What to enter
Name Anything descriptive (e.g. House HS — Worldwide)
Frequency Your hotspot or repeater frequency
Mode Digital
Power Low for a nearby hotspot; High for a distant repeater
Color Code 1 (default for most hotspots and repeaters — check yours)
Time Slot 2 (default for most hotspot software like Pi-Star/WPSD)
Digital Contact Select the talk group from Step 2
Radio ID Your DMR ID from Step 1
Receive Group Select the matching receive group from Step 3

If you have multiple hotspots or use a local repeater in addition to a home hotspot, you will create multiple channels for the same talk group — one per frequency. For example, House HS — Worldwide on 433.925 MHz and Repeater — Worldwide on 438.800 MHz are two separate channels pointing to the same talk group.

Analog channels follow the same idea but simpler: just set the mode to Analog, enter the frequency and any CTCSS/DCS tones, and you’re done.


Step 5 — Organise with Zones

Zones are optional but strongly recommended. A zone is a named group of channels. When you switch to a zone on your radio, you only see the channels inside it — everything else is hidden.

Without zones you end up scrolling through every single channel every time. With zones you might have:

  • House Hotspot — all DMR channels on your home hotspot frequency
  • Truck Hotspot — DMR channels on the mobile hotspot frequency
  • Local Repeater — DMR and analog channels for the club repeater
  • Analog — all your analog simplex and repeater channels

When you switch to House Hotspot, you only see those channels. You can also use dual VFO radios to monitor two zones simultaneously — for example, an analog zone on VFO A and your home hotspot on VFO B.


Step 6 — Load the DMR User Database (Optional)

Related Guide: Running Baofeng DMR CPS on Linux with Wine — see the related guide for how to set up your programming software.

This last step is a convenience feature, not a requirement. The worldwide DMR database maps DMR IDs to callsigns and names. If you load it (or a regional subset of it) into your radio, when someone calls you or appears on a talk group, the radio will display their callsign and name instead of a raw number.

You can download contact databases from radioid.net or your radio manufacturer’s website (some offer free tools, some charge a small subscription). Be aware that most radios have a contact limit (e.g. 150,000 entries) that is less than the full worldwide database (~210,000+ entries), so you may need to filter by region.

If you skip this step, the radio still works perfectly — you simply won’t see caller names.


Quick Checklist

Before writing the code plug to your radio, run through this:

  • DMR ID entered in Step 1
  • All talk groups added as Group Calls in Step 2
  • Any direct-call contacts added as Private Calls in Step 2
  • Receive groups created (one per talk group) in Step 3
  • Channels created with correct frequency, color code, time slot, and linked talk group
  • Zones created to organise channels logically

Follow this order and your radio will be on the air. 73 de OH2DQH.