Skip to content

HD1 Codeplug


I have just recently entered the world of Amateur Radio and one of the first radios I purchased was the Ailunce HD1 DMR Radio. Anyone who is involved in DMR knows there is a trade-off between price and ability to programme. Also, programme requires you to get your head around Talkgroups and Channels and Contacts. I started with a simple Excel spreadsheet to track different talk groups and channels I wanted to use. I also started playing around with Hotspots given I live in a pretty little village with limited access to repeaters. I ended up with 3 hotposts, one for DMR+, one fo Brandmeister and one for TGIF having repurposed a bunch of Raspberry PI’s I had lying around.

As I got more and more into DMR and using the Talkgroups I started playing around with automating the creation of the necessary CSV files that the HD1 CPS uses. Python is my go-to scripting langauge and this code is the result of me turning my ideas into a usable script.

How It Works

Each DMR network uses talk groups, they are all number 1 to NNNN, some are shared, and others are not. Within the HD1 you create priority contacts for each talkgroup. You then create contacts for each talkgroup and for each hotspot you are using. This script saves a lot of the grunt work by

  • Combining all the talkgroups into none repeating list of contacts with generic names such as TG1, TG2, TG 3250 etc
  • Creates a set of Channels for each network with the Alias you provide and assigns the appropriate priority contact
  • Creates corresponding CSV files you can load into the HD1
  • Creates an additional zone file you can use to create zones with the appropriate contacts in your HD1

The HD1 Codeplug editor can be found on Github at