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.
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.
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.