Codeplug Magic

Available

One master channel database. Every radio you own.

Platforms
macOSWindowsLinux
Built with
Tauri 2RustReact 19TypeScript
License
GPL-3.0

Latest release

Builds for macOS, Windows and Linux — .dmg, .msi and .exe, AppImage, .deb and .rpm. Unsigned, so the first launch needs one extra step on macOS and Windows; the README covers both.

What it does

Master channel database

One library of repeaters and channels, reused across every codeplug you generate, instead of a separate vendor CPS and a separate list per radio.

One codeplug, several radios

Build a codeplug for a trip or a region once and send it to as many radios as you're taking — each one gets what its hardware supports, with no copying channels between vendor apps to keep them in step.

Search RepeaterBook in the app

Search RepeaterBook directly with your own free token and import the repeaters you pick — or bring in a RepeaterBook export, CHIRP-style CSV, or manual entry with lat/lon geocoded from a city name.

Direct USB and cable programming

Reads the radio's current image, applies your changes, writes, and verifies the result byte-for-byte.

Cable-free radios too

For the Yaesu FT5D and FTM-300DR, Icom ID-52 and Kenwood TH-D75 it patches the radio's own microSD backup file, so the radio restores it from its own menu with no vendor software involved.

Backed up before anything is written

The radio's existing image is read and saved untouched before a write, so it can be put back exactly as it was. Menu settings travel with the channels as a radio profile, and the whole database backs up and restores from a single portable file.

DMR contacts

A local mirror of the radioid.net DMR-ID to callsign database, with prioritized export and, on the AnyTone D890UV, direct caller-ID database programming.

Honest about band limits

Channels the radio can hear but not transmit on — GMRS, marine, NOAA, air band, 220 — are programmed receive-only rather than dropped. Frequencies outside the receiver's real coverage are excluded with a reason, not silently written to an empty slot. The limits are measured on the radio, not copied from its manual.

What it’s for

A codeplug is the channel, zone, scan-list and contact programming that goes into a handheld or mobile radio. Every manufacturer ships its own programming software, in its own format, with its own idea of what a channel is — so owning four radios means maintaining four separate channel lists that drift apart.

Codeplug Magic inverts that. You maintain one master database of repeaters and channels, then generate or directly program a codeplug for whichever radio you’re holding.

Supported radios

Radio Modes Programming Capacity
Baofeng UV-5R Analog FM Direct USB 128 channels, flat memory
TIDRADIO TD-H3 Analog FM/NFM/AM, tri-band Direct USB 200 channels
AnyTone AT-D890UV DMR + Analog Direct USB 4000 channels, full DMR zones and talkgroups, 308k-entry caller-ID database
TYT MD-380 DMR + Analog, UHF Direct USB 1000 channels in zones of 16, talkgroup contacts and scan lists
Binteradio BT-9000 Analog FM/NFM, quad-band Direct USB 960 channels in 15 zones, 42 menu settings. Also sold as the Radtel RT-950 Pro, Bajeton BJ-9000 and Tenway TP-900 Pro
Kenwood TH-D72 APRS + Analog Direct USB 1000 memories, 113 menu settings
Kenwood TM-D710 APRS + Analog mobile Serial cable 1000 memories, 95 settings including the APRS position, status texts and station icon
Icom ID-5100 D-STAR + Analog mobile Data cable 1000 memories in 26 named banks, 292 menu settings including D-PRS
Yaesu FT5D C4FM (System Fusion) + Analog microSD 900 channels in 24 banks
Yaesu FTM-300DR C4FM (System Fusion) + Analog mobile microSD 999 memories, 147 menu settings including APRS and SmartBeaconing
Icom ID-52 D-STAR + Analog microSD 1000 memories in 100 groups
Kenwood TH-D75 D-STAR + APRS + Analog microSD 1000 memories in 30 groups

Direct USB and cable programming reads the radio’s current image, applies your changes, backs up the original, writes, and can verify the result byte-for-byte. The ID-5100 clones its whole image at once and answers a clone it can’t accept by resetting itself to factory defaults, so the app checks every memory against the radio’s receive coverage before anything is sent.

Cable-free radios are programmed through their own microSD card instead. The app patches the file the radio itself wrote, so the radio restores it from its own menu with no vendor software involved. Because those files carry the radio’s settings as well as its memories, the codeplug and the radio profile travel together.

Radios in development

Drivers on the roadmap:

Radio Modes
AnyTone AT-D578UV DMR + Analog mobile
AnyTone AT-D868UV DMR + Analog handheld
Icom ID-51 D-STAR + Analog handheld
Icom IC-9100 HF / VHF / UHF base
Icom IC-7610 HF / 6 m SDR base
Quansheng UV-K5 Analog handheld
Yaesu FT-891 HF / 6 m mobile
Yaesu FTM-400 C4FM + Analog mobile

Each is added the way the radios above were: research the published format, measure anything unpublished against real hardware, build channels and menu settings together, and verify on the actual radio before shipping. Adding a radio takes hardware to verify against, so the order follows what’s on the bench.

Features

  • Zones, scan lists, and talkgroups with per-channel scan-list assignment.
  • D-STAR call signs — per-channel URCALL / RPT1 / RPT2, so a D-STAR repeater channel carries its own routing.
  • Gentle on RepeaterBook — searches are rate-limited and cached, your token lives in the operating system’s credential store, and one setting removes every RepeaterBook repeater and the token together.
  • Radio profiles — every radio’s menu settings are read out of the radio (or its card file), edited in the app, and written back alongside the channels.
  • CSV / JSON export for radios without a direct driver.
  • Whole-database backup and restore to a single portable file.

A word of caution

This is early software. The programming paths for the radios above have been verified on real hardware, but always keep a backup of your radio’s existing codeplug before writing to it. The app takes one automatically; keep your own too.

License and credits

GPLv3. Portions of the radio protocol logic are derived from CHIRP, also GPLv3 — struct layouts, tone tables and encode/decode routines for the Baofeng and TIDRADIO drivers, the FT5D settings map, the Icom .icf container format and clone protocol, the ID-5100 memory layout, and the TH-D75 channel memory layout. The AnyTone call-sign database encoder draws on qdmr, also GPLv3.

Repeater data courtesy of RepeaterBook.com.

Want to know when this ships? I'm at QRZ — or watch github.com/ww8l.