kk7wme.com

On the air

Amateur radio station

KK7WME

Notes, tools, and guides from a ham radio station that writes software for its radios: DMR codeplug programming, Morse code practice by ear, and the logbooks where KK7WME can be found.

Radio resources

Find KK7WME on the services used to make contacts, exchange QSLs, and follow the signal.

About the station

KK7WME is a United States amateur radio callsign. The K prefix marks a US station, and the 7 is the call district where the license was first issued: the seventh district covers Arizona, Idaho, Montana, Nevada, Oregon, Utah, Washington, and Wyoming. Since 1978 a US callsign no longer has to change when its holder moves, so the digit says where a call started rather than where the station is today.

The call uses the 2-by-3 format (two letters, a digit, three letters) from the FCC's sequential system, the block typically issued to Technician and General class licensees.

The station is registered with RadioID for a DMR ID, which is what lets a digital radio identify itself on DMR repeaters and networks. Contacts are confirmed through the digital logbooks listed above: ARRL Logbook of The World, Club Log, and eQSL.

Projects

Codeplug toolkit for the Baofeng DM-32UV

Programming a DMR handheld through the manufacturer's CPS software means clicking through hundreds of channel, zone, and contact fields one at a time, and doing it all over again whenever a repeater changes. This toolkit treats the radio's configuration as data instead.

  • It pulls repeater listings from the public RadioID and HearHam directories and filters them to the ones near a home location.
  • It compiles channels, zones, and talkgroup contacts straight into the DM-32UV's native 659,456-byte binary codeplug, a format the project reverse-engineered and documented.
  • It talks to the radio over its serial programming cable and uploads only the memory pages that changed.

Writing a bad image to a radio can leave it in a confused state, so every write follows the same rules: a fresh backup must be downloaded from the radio first, the difference against that backup is always shown, and the upload needs both an explicit flag and a typed confirmation. The code is written in Python and laid out so that other radio models can be added alongside the DM-32UV without touching it.

CW Cards: Morse code by ear

CW Cards is a Morse code (CW) trainer built around one idea: learn every character as a sound, never as a pattern of dots and dashes. The app plays a character at full speed and asks which one it was, introducing new characters in Koch-method order as accuracy improves. It tracks accuracy per character, offers a four-choice practice mode for beginners, and includes a sending mode that checks the 1:3:7 rhythm of dits, dahs, and gaps. An earlier version ran on the web and Android; the current version is being rebuilt in Unity.

Guides

What a DMR codeplug is, and how to build one safely

A codeplug is the complete configuration a digital radio carries: every channel, how channels are grouped, and who the radio can talk to. On a DMR radio it usually contains:

  • Channels: receive and transmit frequencies, plus a color code and timeslot for digital channels or a CTCSS/DCS tone for analog ones.
  • Contacts: the talkgroups and private IDs the radio can call.
  • RX group lists: which talkgroups the radio will listen to on a channel.
  • Zones: named folders of channels, such as one zone per city or per network.

Before you program anything, read the radio's current codeplug and save it somewhere safe. That file is your way back if a write goes wrong. Then make changes in small steps, compare the new configuration against the saved one, and check a few channels on the air before trusting the rest. Keeping the source data (repeater lists, talkgroups, zone layout) in plain files makes it easy to regenerate the codeplug when a repeater moves or a new one comes online.

You also need your own DMR ID from RadioID before transmitting on most DMR networks. The ID is tied to your callsign and is entered in the radio's general settings.

Learning Morse code by ear with the Koch method

The Koch method starts with just two characters sent at full speed, often around 20 words per minute, and adds a new character only once you copy the current set with roughly 90 percent accuracy. Because the characters are never slowed down, you learn each one as a single sound instead of counting its dots and dashes, which is the habit that stalls most learners around 10 words per minute.

Standard Morse timing is built on one unit of time:

  • A dit is 1 unit and a dah is 3 units.
  • The gap inside a character is 1 unit, between characters 3 units, and between words 7 units.
  • Speed is measured with the word "PARIS", which takes exactly 50 units, so one unit in milliseconds is 1200 divided by the speed in words per minute.

If full-speed spacing feels overwhelming at first, Farnsworth timing keeps the characters at full speed but stretches the gaps between them, then shrinks the gaps as you improve. Short daily sessions of 10 to 15 minutes work better than occasional long ones.