Installing

The recommended way to install RadioFoundry, update it, back up a radio and restore it is the web installer on the project's web site, radiofoundry.org. It runs in a Chromium-based browser (Chrome, Edge) and needs nothing installed. The files you load into it never leave your computer. Nothing here changes the radio's calibration.

The command line tool rfoundry does the same from a terminal. It is the advanced option: use it for scripts, for a browser that can't talk to a radio, or for a local build (Advanced: rfoundry).

What differs from radio to radio (the stock firmware file, the keys that start the bootloader, the install route) is in your radio's "Installing" section of the Radio reference. A radio that runs a manufacturer's stock firmware and has a migration chapter is covered in Moving from the stock firmware.

What you need

Item Where it comes from
A computer with Windows, macOS or Linux
A Chromium-based browser For the web installer
Your radio's stock firmware file The manufacturer's file, in a version the installer recognizes. Your radio's "Installing" section names it and where to find it
The radio's USB or programming cable The cable that came with the radio

The release firmware has everything except the AMBE codec. The installer either keeps the codec already in your radio, or takes it out of the stock firmware file on your computer and writes it to the radio. The stock file also gives the installer the key the radio's bootloader expects. Once the radio runs RadioFoundry, the installer reads the key from the radio instead. Files are checked by SHA-256, and unknown files are refused.

Back up the radio's current codeplug before you flash, with the program you use now (the manufacturer's CPS, or qdmr). RadioFoundry uses a different codeplug layout from the stock firmware. If you go back to stock later, you need that backup. The web installer's own backup (below) holds it too.

Install with the web installer

Open the web installer, choose Install, and follow the steps:

  1. Radio. Pick your radio.
  2. Build. Pick Full (every feature the radio supports), Amateur, Commercial, or Custom to choose features one by one. Features the radio can't have are marked. A custom build is made when you continue and takes under a minute.
  3. Current firmware. Say what the radio runs now: RadioFoundry (connect it and turn it on), the original firmware, or not sure. The installer asks for the stock firmware file when it needs the codec or the key.
  4. Back up. The installer saves a backup file (a .zip) on your computer: the firmware, the channels and settings and the calibration. Keep it. Where the original firmware can't be read first, the installer backs the radio up right after the installation, before anything else changes.
  5. Install. Put the radio in its bootloader when asked (your radio's keys). The installer writes the changed parts and restarts the radio. Do not unplug the radio until it says the installation is complete.
  6. Verify. The installer reads what the radio reports: the version it wrote, and "DMR voice is ready" when the codec is in place.

On Windows the bootloader needs a driver once (Windows: the bootloader driver).

Then continue with First boot.

Updating RadioFoundry

Start the radio normally with RadioFoundry running, connect it and run Install again. The installer asks the radio whether its codec is in place. If it is, it writes only the new firmware and needs no stock file. The codeplug and the settings stay: they live in separate flash that installing never touches.

Backing up and restoring

Back Up saves a file with the radio's firmware, codec, channels and settings. Restore takes that file and writes back the whole radio, only the firmware, or only the channels and settings. It can also return the radio to its original firmware, from your stock firmware file. A restore from the update mode works even when the firmware is damaged.

If the backup holds the original firmware's codeplug, open the file in the Codeplug Editor. It converts the channels, zones and contacts to the RadioFoundry layout.

Windows: the bootloader driver

Windows has no driver for the USB bootloader of radios that flash over USB, so neither the web installer nor rfoundry can open it until you install one. Do this once per computer, with Zadig:

  1. Download Zadig from zadig.akeo.ie and run it. It needs no install.
  2. Put the radio in its bootloader (your radio's keys are in its Radio reference section) and plug it in.
  3. In Zadig's list, pick Digital Radio in USB mode. The USB ID boxes show 0483 DF11. If it isn't listed, choose Options > List All Devices.
  4. Choose WinUSB as the driver (to the right of the green arrow) and click Install Driver (or Replace Driver). Wait until Zadig says it succeeded.
  5. Unplug the radio, put it back in its bootloader and connect again.

Only the bootloader needs this. The radio's serial port, once it runs RadioFoundry, works without a driver.

Vendor tools that use the same USB ID (the manufacturer's upgrade tool or CPS) need their own driver back. In Device Manager, uninstall the device with Delete the driver software for this device checked, then replug.

Advanced: rfoundry on the command line

Each release carries rfoundry, one file per system, rfoundry-<version>-<system>. You can also pipx install it (tools/rfoundry/README.md).

System Once
Windows Install the bootloader's driver (above). Windows may warn about the unsigned rfoundry file
macOS In Terminal: xattr -d com.apple.quarantine rfoundry-* and chmod +x rfoundry-* (the file isn't signed)
Linux chmod +x rfoundry-*. If rfoundry says access is denied, it prints the udev rule to add. To reach the radio's serial port once it runs RadioFoundry (rfoundry probe, updates), join the dialout group: sudo usermod -aG dialout $USER, then log in again

The examples call it rfoundry, and the stock file STOCK.bin. If you'd rather not pass the stock file every time, let rfoundry keep the key:

rfoundry key --stock STOCK.bin --save

Flash

rfoundry flash --release latest --stock STOCK.bin

Some radios come in hardware versions one image can't cover, such as a UHF and a VHF board. They have one image per version. rfoundry picks it from what a radio already running RadioFoundry reports, otherwise it asks, or takes --option BAND=vhf. Your radio's section names its versions.

rfoundry downloads the newest release, checks it, decides about the codec (below) and prints a plan: which flash sectors it will erase and write, and which it leaves alone. Add --dry-run to see the plan without touching the radio. Then it asks you to put the radio in its bootloader:

  1. Turn the radio off.
  2. Connect the cable to the radio and the computer.
  3. Hold the radio's bootloader keys and turn it on. The screen stays dark.
  4. Release the keys.

rfoundry finds the bootloader, asks once more, and writes. When it finishes, the radio restarts into RadioFoundry, and rfoundry checks what the radio reports.

Keep the codec, or write it

The radio runs rfoundry
RadioFoundry, and DMR voice works Keeps the codec: it writes only RadioFoundry's own sectors. It asks the running radio over USB before you switch it to the bootloader (or run rfoundry probe first)
Anything else, or you're not sure Writes the codec: from the copy it saved from this radio the last time it ran RadioFoundry, otherwise from the stock file (--stock)

The stock firmware keeps the codec where RadioFoundry's own firmware goes, so a radio fresh from stock needs the stock file once. After that, rfoundry keeps a copy of the codec on your computer.

If rfoundry keeps a codec that isn't actually in the radio, nothing breaks: RadioFoundry checks the codec before it uses it. FM works, and DMR calls show "No codec: voice off". Flash again with --stock to fix it.

Update

rfoundry flash --release latest

Building it yourself

Developers build with make BOARD=<board> and flash the result with rfoundry flash build/<board>/rfoundry_<board>.bin --board <board> (same codec choices). With the stock file in codecs/, the build also writes rfoundry_<board>_codec.bin, which carries the codec: rfoundry flash build/<board>/rfoundry_<board>_codec.bin flashes it with no --board, and --stock is needed only for the bootloader key. See building.

No codec ("No codec: voice off")

DMR calls show on the screen but there's no audio: the radio has no usable codec. Run the installer again and give it the stock firmware file, or from a terminal:

rfoundry flash --release latest --codec merge --stock STOCK.bin

If something goes wrong

The bootloader lives in a part of the flash the installer never erases, so you can always start over: put the radio in its bootloader and install again. If the radio stays dark after flashing, that's what to do. The web installer's help page walks through the update mode. See also Troubleshooting.

Going back to the stock firmware

  1. Put the radio in its bootloader.
  2. In the web installer choose Restore, load your backup and pick the original firmware, with your stock firmware file. Or run the manufacturer's firmware upgrade tool and load the stock file.
  3. Write your codeplug backup with the manufacturer's CPS. The stock firmware can't read the codeplug RadioFoundry used.

Your radio's section in the Radio reference says which way applies.

View the source of this page