Radio Elmer User manual

Radio Elmer is a desktop app for programming two-way radios, powered by CHIRP: it's built on CHIRP's radio drivers, so it can program hundreds of radio models by cable. It adds guidance, safety checks and travel tools aimed at newer amateur radio operators.

The name comes from ham radio's word for a mentor: an Elmer is the experienced ham who helps a newcomer get licensed, choose and program a radio, put up an antenna and make a first contact. Radio Elmer tries to be that for programming your radios. (It was called Radio Desk before version 0.9.0.)

This manual is inside Radio Elmer: open the 📖 Manual tab, or press ? in the top bar. From there you can print it or open it in its own window.

1. About Radio Elmer

Radio Elmer runs on your own computer and opens in its own window. Nothing is sent anywhere except the lookups you ask for (repeater lists, weather stations, call sign lookups, online receivers). Under the hood:

  • CHIRP (chirpmyradio.com) does the talking to the radio: reading its memory, understanding each model's channels and settings, and writing it back. Radio Elmer uses CHIRP's driver library as is.
  • Radio Elmer adds a guided way to work: a working copy you edit safely, a check for problems, repeater and weather search, trip channel blocks, keeping several radios in step, a backup of every read and send, and rules that only program frequencies you're licensed for.

Three ideas run through the whole app:

  1. You edit a working copy, not the radio. Changes reach the radio only when you press Send to radio, review the list of changes and confirm.
  2. Everything is backed up. Each read and each send is saved, and backups are never deleted by Radio Elmer.
  3. Only what you're licensed for. By default Radio Elmer refuses frequencies your licence doesn't cover (see Licences).

2. Installing and starting

What you need

  • Windows 10 or 11: nothing else if you use the Windows package, which includes Python and CHIRP's radio drivers. (Running from source needs Python 3.11 or newer from python.org and Git.)
  • Linux: Python 3.10 or newer and Git. macOS should work like Linux but hasn't been tested.
  • The programming cable for each radio (for example a USB cable with an FTDI chip and the right plug for the radio).

Starting

Linux or macOS: in a terminal, run sh start-radio-elmer.sh from the Radio Elmer folder. The first run tells you if anything is missing (on Ubuntu: sudo apt install python3-venv python3-pip git). To use a cable on Linux, add yourself to the dialout group (sudo usermod -aG dialout $USER, then log out and in).

Windows installer: run Radio Elmer Setup and follow the steps. It installs just for you (no administrator needed), adds Radio Elmer, Radio Elmer user manual and Uninstall Radio Elmer to the Start menu, and can add a desktop shortcut. Windows may warn that the publisher is unknown because the installer isn't code-signed: choose More info, then Run anyway. Uninstalling (from the Start menu or Apps & features) removes the program but never your own files in Documents\Radio Elmer.

Windows zip: unzip it anywhere (for example into Documents) and double-click Start Radio Elmer. Nothing needs installing. To update Radio Elmer later, replace the folder with the new one; your own files are kept separately in Documents\Radio Elmer.

Windows, from source: double-click Start Radio Elmer.bat. A small black window opens. Leave it open while you use Radio Elmer; closing it quits the app. Radio Elmer opens in its own window. Only one Radio Elmer window opens at a time.

From source, the first start takes a minute or two: it installs CHIRP's radio library into %LOCALAPPDATA%\RadioElmer. This is separate from the CHIRP desktop app, so both can be installed.

Radio Elmer only needs to run while you're using it. Close the black window when you're done.

3. The setup assistant

The first time you start Radio Elmer, the setup assistant walks you through four things. You can run it again any time from ⚙ App settings → Open the setup assistant.

  1. Your licence. Type your call sign and press Look up. Radio Elmer fills in your licence class and expiry from FCC records (through callook.info). Check them and continue. No licence yet? Leave it blank; you can still listen online and program NOAA weather channels. A GMRS licence can be added by hand.
  2. Your home location. Type your town as City, ST (for example Waco, TX), or use the computer's location. It's used to find nearby repeaters, weather stations and online receivers.
  3. Your radios. Start typing the make and model and pick it from the list. Give it a nickname if you like, and say whether it's your base station (the main rig, usually mobile or at home) or a portable (a handheld). Add as many as you have. Models marked ✓ tested have been tried with Radio Elmer; the others use the same CHIRP drivers but haven't been tried here yet.
  4. All set. Plug in the cable, pick the radio and its port at the top, and press Read from radio.

4. Finding your way around

The top bar

ItemWhat it does
Call sign badgesYour amateur call sign and class, and your GMRS call sign, from your saved licences.
📻 radio listWhich radio you're working on. Each radio has its own cable port, working copy and backups.
Port list and ↻The cable's COM port. Likely programming cables are marked ★. ↻ looks again after plugging in.
Generation (UV-50X2 only)1st gen or G2. Both answer the cable the same way, so pick yours once; it's remembered.
Read from radioCopies what's in the radio into Radio Elmer (and saves a backup).
Send to radio…Shows your changes and, after you confirm, writes them to the radio. The number shows how many changes are waiting.
⚙ and the colour listApp settings, and the colour scheme.
?This manual (the 📖 Manual tab).
Auto-connect, LiveSee Auto-connect and Live.

The tabs

Channels, Check, Find repeaters, Weather, Range test (UV-50X2), Equipment, Setup guide, Licenses, 🎧 Listen, Trips & imports, Radio settings, Backups & files, ⚙ App settings and 📖 Manual. Until a radio has been read, only the start panel, backups and settings are shown.

5. Reading your radio

  1. Plug the programming cable into the radio and the computer. Push the plug in firmly; a half-seated plug is the most common reason a radio doesn't answer.
  2. Turn the radio on. Close the CHIRP app if it's open: only one program can use the cable at a time.
  3. Pick the radio in the 📻 list and its port (marked ★).
  4. Press Read from radio. A progress bar shows while it reads (up to a minute or so).

What was read is saved as a backup straight away, then becomes your working copy. You can also work without the radio by opening a saved image from Backups & files.

You must read the radio in each session before Radio Elmer will let you send to it. That way you always edit what's really in the radio.

6. Channels

The channel list shows every memory in the working copy. Use the buttons above it to show a block (Home, Weather, GMRS/FRS, Trip, or All) and Show empty to see unused channels.

The channel plan

Radio Elmer organises channels in blocks so trips can be swapped in without touching your everyday channels:

ChannelsUsed for
0–19Home: your local repeaters and simplex. Locked unless you tick Unlock home channels for this session.
20–29Weather: NOAA Weather Radio, receive-only, skipped when scanning.
30–99Free (or GMRS/FRS listen-only if you turn that on).
100 and upTrip: replaced for each trip (100–199, or as far as your radio goes).

Editing a channel

Click a channel to open it. You can set the frequency, name (as long as your radio allows), offset direction (simplex, + up, − down, or receive-only), offset, tone (none, transmit tone, or tone squelch) and the CTCSS tone, power, mode and scan skip. From the same window you can Copy there, Move there or Swap with another channel, or delete it.

Changing several at once

Tick the boxes on the left. A bar appears to set power or mode, skip or include in scan, make receive-only, or delete the ticked channels. Move / copy a block… shifts a range of channels. Print channel card makes a pocket or car card of the channels shown.

7. Check

Check looks through the working copy for problems and offers a fix for each one. The number on the tab shows how many it found. It looks for:

  • channels on frequencies you're not licensed for, or that would transmit outside your privileges;
  • weather channels on the wrong frequencies, or not skipped in scan;
  • unusual repeater offsets, and missing tones;
  • names that are confusing or repeated;
  • the radio's frequency (VFO) mode set to transmit outside your privileges, which channel protections don't cover.

Press a fix to apply it to the working copy, or Fix all. Fixes to home channels need the home channels unlocked.

8. Find repeaters

Type a place, or a route through towns: Dallas, TX to Waco, TX to Austin, TX. Add towns along the way for a better route. Choose the bands and how far from the route to look, then press Find.

The results come from RepeaterBook (through CHIRP's copy, refreshed monthly). The Updated date shows how current each entry is. Only repeaters you can use are offered: both the output (where you listen) and the input (where you transmit) must be within your licence. Tick the ones you want and add them to the trip block.

Check anything important before relying on it, for example with the repeater club's own website. Repeater listings go out of date.

9. Weather

Type a destination to find the nearest NOAA Weather Radio transmitters (the official weather.gov list). Radio Elmer puts them in channels 20–29, receive-only and skipped in scan, nearest first, then the rest of the seven weather frequencies.

10. Trips & imports

  • Trip library: save the current trip block under a name, and load it again later.
  • Copy from another radio: copy the home and weather channels, or the trip repeaters, from another of your radios. Trips are packed to fit a smaller radio; anything that doesn't fit is listed.
  • Import a channel plan: open or paste a channel plan file (.json) someone shared with you, check it, and apply it to the working copy. Use plan.json from my Radio Elmer folder loads one saved there.
  • Import a CHIRP CSV: bring in channels exported from the CHIRP app or another radio. Channels you're not licensed for are skipped and listed.
  • Clear the trip block: empty it before a new trip.

11. Radio settings

Every setting CHIRP supports for your radio (squelch, beeps, display, keys, power-on message, and so on), grouped as CHIRP groups them. Changes go into the working copy like channel changes.

For the BTECH UV-50X2 there are two extras:

  • Recommended setup suggests mobile-friendly settings and corrects frequency (VFO) mode if it would transmit outside your privileges. Tick what you want and apply.
  • Four windows (A–D) sets what each of the four lines on the display shows, which is the main (transmit) window, and quad watch. Suggest fills them from your home channels or the current trip.

12. Sending to the radio

  1. Press Send to radio…. A list shows every change between what's in the radio and your working copy.
  2. Check it, then press Upload this to the radio. Keep the cable in and the radio on until it finishes.
  3. Radio Elmer reads the radio back to confirm everything arrived, and saves both the send and the check as backups.
  4. Turn the radio off and on again so it picks up every change.

If anything goes wrong mid-send, the radio still has a backup: see Backups & files to restore.

13. Several radios

Add your radios in the setup assistant or in Equipment → My radios: type the make and model, choose base or portable, and press Add this radio. Any radio CHIRP can program by cable can be added (more than 500 models). Remove takes a radio off the list but keeps its files and backups.

Base station and portables

One radio is the base station; the others are portables. With Keep in sync on, a portable is matched to the base whenever you pick it: same channels wherever both radios can use them (home, weather, simplex and repeaters; trips packed to fit), so they can always talk to each other. Sync now does it on demand. Syncing only changes the portable's working copy; you review and send each radio yourself.

Cables

Each radio remembers its own port. Radios of the same model can share one cable (plug it into whichever you're programming). Radio Elmer won't use another model's cable by mistake.

14. Licences and what you may program

Your licences

The Licenses tab has a page for each licence you've saved: call sign, class, status, grant and expiry dates, a renewal reminder, rules to remember, and (for amateur licences) a table of where your class may transmit and by which modes. Green rows are bands the current radio can use. GMRS has a channel chart and the family rules.

✎ Add or edit a licence: for an amateur licence, type the call sign and press Look up to fill the details from FCC records, or enter them yourself. GMRS licences are entered by hand (the FCC's ULS licence search has the details).

What Radio Elmer lets you program

SettingWhat it means
Only what my licence covers (default)Frequencies outside your licence are refused. Transmit is checked by class and mode, following FCC Part 97: for example FM on 144.05 MHz is refused because 144.0–144.1 is CW only, and a General may use voice on 7.200 MHz but not on 7.150. NOAA weather is allowed, receive-only.
Also receive-only channels anywhereAdds listening channels on any frequency your radio can receive (airband, marine, railroad, public service, MURS, GMRS…). They are always programmed receive-only. Transmit still follows your licence.
No licence checksFor operators outside the US, or licences Radio Elmer doesn't know. Radio Elmer programs whatever your radio supports, like the CHIRP app. You are responsible for only transmitting where you're allowed. NOAA weather frequencies are still kept receive-only.

An expired licence counts as no licence: Radio Elmer won't program amateur transmit frequencies until it's renewed and updated here. 60 m isn't offered (it uses fixed channels with special rules).

GMRS

Radio Elmer never programs GMRS/FRS to transmit; use a GMRS-certified radio for that. With an active GMRS licence you can allow GMRS/FRS listen-only channels on the GMRS page (off by default).

15. Equipment and setup guide

Equipment keeps a list of your station gear: each item's model, connectors, where it came from, its status (to order, ordered, received, in use…), quantity and notes. Above it, How it connects describes the chain from radio to antenna, and SWR readings records your antenna checks. Print makes a one-page station sheet.

Start over with a blank list… is for setting up a new station. Before anything changes it shows exactly what it will do: every item it will remove, by name, and that it also replaces How it connects. Your SWR readings, radios, channels, backups and setup guides aren't touched. If you go ahead, Radio Elmer first saves a copy of your list in your Radio Elmer folder (equipment_saves), then puts six empty starter rows in its place. Restore a saved list… shows every saved copy and brings any of them back (and saves the list it replaces, so nothing is ever lost).

Setup guides

The Setup guide tab makes a hook-up guide for each way you set up your station, for example Home, Car and Field. Press + New guide and answer a few questions: the kind of station (home, vehicle, or portable/field), which radio, the power source, the antenna and where it goes, the coax and how it gets there, whether you have an SWR meter, and a test frequency. Suggestions come from your Equipment list, and a preview updates as you type.

Radio Elmer draws a numbered hook-up diagram and writes the steps: Set it up, Check it (SWR at low power on the test frequency, identifying with your call sign), Taking it down (vehicle and field), and Before you drive (vehicle). Add your own steps to any section, one per line. ✎ Edit changes a guide, Remove takes it off the list, and Print this guide prints the one shown.

Guides are kept in your Radio Elmer folder (setup_guides.json; saved pages in setup_guides\).

Until you've checked your antenna's SWR, new repeaters load at Low power and Recommended setup suggests Low everywhere. Tick I've checked SWR once your readings are good.

16. Range test (UV-50X2)

Find out which repeaters you can actually reach from your station. Pick your station setup (which sets a rough reach estimate), then run a listening test: nearby repeaters load into channels 150–199 at Low power, only they are scanned, and you tick Heard or Got in for each. Start quick test walks you through one repeater at a time (about 30 seconds each): turn to it, say your call sign and "testing", and mark the result. Everything is put back when you press Finish.

Results show as ✓ heard or ✗ not heard in Find repeaters, and Tick what I can reach uses them.

17. 🎧 Listen

A car-radio style tuner for listening online, through public KiwiSDR receivers (0–30 MHz: AM broadcast, shortwave, ham HF, time signals). It's for listening only and doesn't touch your radios.

Tuning

  • Pick a station from the categories (On air now, Favorites, News, Religious, Weather/sea/air, Big AM stations, Ham radio, Time signals, My channels, All), filtered by language, region and what's on air now.
  • Or type a frequency: a whole number of 100 or more is kHz (820), a decimal is MHz (7.2).
  • The buttons work like a car radio. ⏮ ⏭ seek: they jump to the previous or next station actually on the air (Radio Elmer looks at the band for a few seconds first). ◀ ▶ move one channel down or up; hold one to keep going. Play starts and stops the sound.
  • Step sets how far ◀ ▶ move. Auto (one channel) picks the right step for the band: 10 kHz on AM broadcast (9 kHz outside the Americas), 5 kHz on shortwave broadcast, 1 kHz on the ham bands, 5 kHz on VHF/UHF FM. You can choose a fixed step instead.
  • Presets 1–6 are your first six favourites: press one to tune straight to it. ☆ saves the current station as a favourite (★ means it's already saved).
  • The receiver's own panel appears below the tuner: press its ▶ once per session to start the sound, and type your call sign if it asks for a name.

Receivers

Radio Elmer uses the receiver nearest your home. If it's busy it tries the next one. Open the Receiver box to pick one yourself, or press Back to automatic. 2 m, 70 cm and NOAA weather are above 30 MHz, which these receivers can't hear.

🎛 Sound processor

Noise reduction (RNNoise, running on your computer), a voice filter that adjusts to AM, SSB or CW, and a leveller for fading stations, between the receiver and your speakers. Turn Sound processor off to hear the plain receiver for comparison. The signal meter shows the receiver's S-meter.

These receivers are run by volunteers and shared by everyone listening. Radio Elmer uses one connection at a time, identifies you by your call sign, and never changes a shared receiver's band by itself.

18. Backups & files

  • Working copy: discard your edits (back to what's in the radio), save a copy as an image (.img) or CSV, or open an image file.
  • Compare: see what changed between any two versions.
  • Backups: every read, send and check, newest first. Open one to look at it or restore it.

Restoring an old setup

Open the backup, check it, then Send to radio as usual.

19. Auto-connect and Live

  • Auto-connect (on by default): when the radio is turned on with the cable in, Radio Elmer finds it within about 10 seconds and reads it. While the radio is off it waits.
  • Live (off by default): each change is sent to the radio about 6 seconds after you stop editing, then read back to confirm. Before each send the radio is read again and your edits are put on top, so changes made on the radio itself are kept. Anything Check calls a problem pauses Live. The radio is busy for about a minute during each update.

Reading the radio never throws away unsent edits: they're kept on top of what was read.

20. App settings and your files

⚙ App settings (the last tab, or ⚙ in the top bar):

  • Colour scheme: Auto (follows Windows), Light, Dark, CHIRP classic (the plain Windows look of the CHIRP app), High contrast, and Night (red), which protects your night vision in the car or in the field.
  • CHIRP radio drivers: keep CHIRP's drivers up to date (see below).
  • Your Radio Elmer folder: where your files are kept.
  • Setup: the setup assistant, licences and radios.

Keeping CHIRP's drivers up to date

CHIRP fixes radio drivers and adds new radios often. Each time Radio Elmer starts, it asks CHIRP's website whether a newer CHIRP is out (the same check CHIRP itself makes). If one is, a notice at the top says so, at most once a week. To update, in ⚙ App settings → CHIRP radio drivers:

  1. Press Get CHIRP from chirpmyradio.com. CHIRP's website opens in your browser; download CHIRP's Python package (the .tar.gz file).
  2. Press Install the file you downloaded… and pick that file.

Please get CHIRP from its own website rather than anywhere else: the CHIRP project is free, and the companies that help pay for it look at how many people visit the site.

Before a new version is used, Radio Elmer checks it: CHIRP loads, its drivers load, and each of your radios' working copies opens and reads with it. Only if that passes does it become the version used next time Radio Elmer starts. Restart Radio Elmer to switch. Every version stays listed, so Use this one takes you back if a radio misbehaves. If a version ever fails to load, Radio Elmer starts with the one it was installed with instead.

Where your files are

Everything that's yours is kept in Documents\Radio Elmer, separate from the app:

File or folderHolds
radio_elmer.jsonYour settings and radios
license.jsonYour licences
working.img, radios\Each radio's working copy
backups\ (and radios\<name>\backups)Every read and send
trips\Your trip library
setup_guides.json, setup_guides\Your setup guides
station_equipment.json, web_receivers.json, reach_log.jsonEquipment list, saved receivers, range test results

Back up that folder to keep your setup. Updating or reinstalling Radio Elmer doesn't touch it.

21. Safety built in

  • Nothing goes to a radio until you review the changes and confirm.
  • You must read the radio in each session before you can send to it.
  • Every read and every send is saved as a backup, automatically, and never deleted by Radio Elmer.
  • Home channels 0–19 are locked unless you unlock them for the session.
  • Only frequencies you're licensed for are programmed (unless you change that setting), checked by licence class and mode.
  • After each send the radio is read back to confirm everything arrived.

You are the control operator: Radio Elmer programs radios but never transmits.

22. Troubleshooting

ProblemTry
"Radio did not respond" or the read stopsPush the cable plug in fully; make sure the radio is on; pick the right port (★, or ↻ after plugging in); close the CHIRP app if it's open; then try again.
No port marked ★The cable's driver may be missing. Unplug and replug it, press ↻, and check Windows Device Manager → Ports.
Radio Elmer doesn't openLook at the black window for a message. If it says Radio Elmer is already running, use the window that's open.
A channel won't save: "not a frequency you're licensed for"Check your licence on the Licenses tab (class and expiry). For receive-only listening, choose Also receive-only channels anywhere.
No sound in 🎧 ListenPress the receiver's own ▶ once. If a receiver is busy or far away, press Back to automatic or pick another.
A radio reads or sends wronglyTry the same in the CHIRP app. If it goes wrong there too, it's a CHIRP driver problem: report it on CHIRP's issue tracker (chirpmyradio.com). If only Radio Elmer gets it wrong, report it to Radio Elmer.
You need help with a problem⚙ App settings → Something not working? → Save a problem report makes a zip to attach to your question. It leaves out your call signs, name, address and home location.
Something went wrong after a sendBackups & files → open the newest backup from before the send → Send to radio.

23. Radio Elmer and the CHIRP app

Radio Elmer and the CHIRP app use the same radio drivers, and images saved by one open in the other. Only one of them can use a cable at a time, so close one before reading or sending with the other.

Some CHIRP features aren't in Radio Elmer yet. Until they are, use the CHIRP app for:

  • DCS (digital) squelch codes and polarity, cross-tone modes and split receive tones; tuning step, comments and per-radio extra channel fields; D-STAR channel fields;
  • banks;
  • radios that are programmed live over the cable (some Icom, Kenwood and Yaesu models);
  • repeater sources other than RepeaterBook (RadioReference, DMR-MARC, satellites, European directories) and CHIRP's ready-made channel lists;
  • cut, paste, sort, find and undo in the channel list; developer tools.

24. Credits and licences

  • CHIRP, by Dan Smith (KK7DS) and the CHIRP contributors, chirpmyradio.com. GNU General Public License v3. Radio Elmer uses CHIRP's driver library and is shared under the same licence.
  • RNNoise noise suppression by Xiph.Org (BSD), through @shiguredo/rnnoise-wasm (Apache-2.0) and @sapphi-red/web-noise-suppressor (MIT).
  • Repeater data: RepeaterBook, through CHIRP. Weather stations: NOAA / weather.gov. Call sign lookup: callook.info (FCC ULS data). Online receivers: the KiwiSDR network and its volunteer operators (receiver list from rx.linkfanel.net). Shortwave schedules: EiBi (eibispace.de).

Licence rules follow FCC Part 97 (amateur) and Part 95 E (GMRS) as understood when this version was written. Always check the current rules: you, the licensee, are responsible for your transmissions.