EMBEDDED · FIRMWARE

radio_tool: DMR radio firmware tooling

Firmware flashing and packaging for DMR radios from TYT, Baofeng, Radioddity and others. Low-level C++ over USB against undocumented bootloaders, the embedded end of the stack.

STRATUM 01OVERVIEW

radio_tool flashes firmware onto handheld and mobile DMR radios over USB, and wraps and unwraps vendor firmware files so modified firmware can be packaged in the format each radio's bootloader expects.

The bootloader protocols are not publicly documented. radio_tool speaks them in C++ against libusb, so the same tool runs on Linux, macOS and Windows. It also reads codeplugs from the Baofeng UV-5R family.

It has been open source since 2020, and CI publishes binaries for all three platforms.

STRATUM 02WHAT IT DOES

TYT

MD-380, MD-390, MD-UV380, MD-UV390, MD-2017, MD-9600, MD-446 and MD-280.

Baofeng and Radioddity

DM-1701, DM-1801, RD-5R and GD-77 flashing and wrapping; UV-5R, UV-82 and UV-6 codeplug reads.

Others

Ailunce HD1 and Yaesu FT-70DR flashing, Connect Systems CS800D wrapping.

Firmware files

Inspect, wrap and unwrap vendor firmware images.

Need something like this built?

The same engineers who wrote this take on client work. Tell us what you need and you will hear back from the person who would build it.

START A CONVERSATION
STRATUM 03MORE WORK