Codeplug Magic
AvailableOne master channel database. Every radio you own.
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.