Skip to content
Enhanced Toolkit for md380tools- MD-380 / MD-390 / Retevis RT3 or RT8 radios. Windows VM or Linux
Python C Shell
Branch: master
Clone or download
KD4Z Tech Note - Version 5 Hardware with MD380tools
Describes the procedure to adjust the calibration values in the radio to
eliminate the 5 second sleep bug.  Note, the "no-sleep" tweak is no
longer needed, and will be removed in a future changeset.
Latest commit e655adf Oct 31, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
archive Update stable firmware for restore to current Apr 11, 2018
.gitattributes initial commit Dec 13, 2016
Handleiding_NL_1.04.pdf Dutch, German translations Apr 13, 2017
KD4Z_Toolkit_Version_4.0_enhancement_notes.pdf 4.0 Image links now active Dec 24, 2017
MD380tools_Menu_installation_on_native_linux_KD4Z.pdf Added new prerequiste python request extension Mar 13, 2018
MD380tools_VM_Keyboard_TimeZone_config_1.0.pdf Advanced statusline, sidebutton extension, display RX/TX freq from CP Dec 12, 2017
MD380tools_VM_installation_3.08.pdf Add tweak definition to disable country abbreviations Feb 4, 2017
MD380tools_VM_installation_3.08_DE_(OE7BSH).pdf Dutch, German translations Apr 13, 2017
MD380tools_VM_installation_3.08_IT_(IU5FHF).pdf Updated. Includes new keyboard change instructions. May 25, 2017 Fix minor warnings Dec 25, 2017
addstatic <change url for new location of user.bin> (#38) Jul 3, 2019 dmr-marc is dead, long live ham-digital . Thank you Hans, DL5DI May 9, 2018
exec.pre New RX screen, added Timeout countdown bar Feb 17, 2018
filter.sys Change URL for data Apr 4, 2019
flashdb wget timeout increase Mar 23, 2017 Fallback to alternate data download if dmr-marc data failing Apr 4, 2018
helpMenu.pdf Version update to 3.06 Jan 17, 2017
init No Sleep workaround for new "Version 5" radios Oct 16, 2018
lookup add function aliases to remove ~/ requirement - fix strings syntax Jan 25, 2017
menuopts Back to static file on Apr 30, 2019 Remove proper casing on abbreviated fields Mar 6, 2018 Nickname update Sep 12, 2018
rotatebins Add command: flashold for MD380 Old vocoder Jan 8, 2018
snap Fix minor warnings Dec 25, 2017
static.users.example Add support for static DMR IDs in User.bin before flashdb Dec 24, 2016
stats Data du jour, now May 15, 2018
strings Added missing Slovenian strings and translations. (#35) Jun 19, 2019
tweakopts No Sleep workaround for new "Version 5" radios Oct 16, 2018
updatecheck Version 4 commands now enabled in Native Linux scripting Jan 14, 2018
writeblankplug Version 4 commands now enabled in Native Linux scripting Jan 14, 2018

KD4Z Toolkit - MD380tools VM for VirtualBox, VMWare or just BASH Warren Merkel, KD4Z

From github project

Current Version: 4.00 (after glv is run)

Image file updated: 12/25/2017 Version 4.0

Installation PDF updated: 01/28/2017

Version 4 Release Notes:

Follow the installation directions in the PDF found here:





You only need to download a couple of files from this github site! The rest are used by the installed VM.

  1. The Installation instructions pdf. (choose one above)
  2. The Image File for the Virtual Machine.

These instructions describe how to install software on your Windows or Mac, that runs linux in a Virtual Machine environment. You don't need to know anything about linux to use it! Don't worry, the Installation steps seem to be quite long....just take them a one at a time. I have tried to make it easy on both you and me (less emails), so I've explained a lot of things you need need to know.

If you are linux savy, and would rather just use the scripting framework on your existing Linux box, see the linux install pdf document for brief installation instructions. This allows you to use your existing linux environment such as Debian, Ubuntu or Raspian on a Raspberry Pi. This guide will discribe how to install exactly the same scripting framework used in the VM. Once installed, it will self update in the same way the VM does.

See MD380tools_Menu_installation_on_native_linux_KD4Z.pdf here: If you run into something I missed in this brief document, please forward that information on to me so I can update the document.

Facebook Support group, specializing in Dutch and English, courtesy of Rob van Rheenen, PD0DIB.

What does this thing do?

The VM allows you to create the latest firmware for the MD-380 / MD-390 series of radios from Tytera (TYT) and Retevis RT3/RT8. It leverages the MD380tools project by Travis Goodspeed found elsewhere on github. It also downloads the whole dmr-marc contact database into the radio.

The VM provided provides simple single-word menu that is easy to use, and does all of the heavy lifting of installing the MD380tools project files.

Other interesting tweaks in this VM make it stand out as producing better results than just using other scripting or VM solutions.

  • Automatically updates itself to the latest scripting and source code. You will always, ALWAYS have the absolute latest features.
  • That means you only have to install this stuff ONE TIME!
  • Pulls current main branch of source directly from Travis Goodspeed's Github respository.
  • Single, one word commands to do the primary functions.
  • Builds the "firmware" for radios having GPS and not having GPS. No need to download firmware from websites.
  • Builds the contact list on-the-fly, directly from the dmr-marc database. Currently over 61K records worldwide.
  • After running one command, the computer with the VM can be offline from Internet, and still write firmware and the User DB (contact data) to the radio.
  • Larger font on contact name with redline data separator in User DB modes / green line separator in Talker Alias modes.
  • More detail in EU contact data.
  • Support for private DMR IDs automatically appended in with the dmr-marc contact database. (via a static file or from an ftp server)
  • Scripting framework functions can be extended for custom actions before firmware compilation, after compilation, and after contact data is downloaded.
  • Commands to save and restore firmware and contact data in snapshots. Restores to a stable firmware if the latest gets sideways.
  • Screen language defaults to English. Six alternate languages available: Dutch, Portuguese, Spanish, Italian, German and French!
  • Lite weight version for Linux! The scripting is all done using Bash scripts. You can install just the scripting on Linux or Raspberry Pi. Creates the exact same firmware.

Be sure to read the installation completely before emailing questions! 99% of all questions are answered in the installation PDF. If you are stuck, join the Facebook group mentioned above for help.

It's your choice. You can use Oracle Virtual Box or VMware player to run this VM image. Choose one, and select the correct image download below.

** Please update to the most recent version of Oracle VirtualBox before installing this image

  • For the VirtualBox Appliance image file, use these links

Single file download:

#Mirror 1:

[Single Download 1.2 Gigs] (


#Mirror 2:

[Single Download 1.2 Gigs] TBA

Use one of the above links, or download all 4 links below. **Don't do both!

Parts - Use these links if you have trouble downloading the large file above.

[Part 1] (

[Part 2] (

[Part 3] (

[Part 4] (

[Part 5] (

[Part 6] (

For the part files, download each one. You will need to use the 7-zip program to extract them back into the actual OVA Appliance file.

Get 7-Zip here:

Install 7-Zip, and then Right-Click on the first part file, find the 7-Zip menu, and choose the extract option. You will end up with a single, large ".OVA" file. This file is imported into the Virtual Box software.

THE VMWare Images are still for the version 3.0

4.0 version is not ready yet.. work in progress

  • If you decide to use VMware instead of VirtualBox, use the following links, as this image has been pre-converted for easier import into VMWare.

Single file download for VMWare image:

-OR Download the VMWare image in parts - don't download these if you download from the single link above.

Parts - Use these links if you have trouble downloading the large file above.

[Part 1] -

[Part 2] -

[Part 3] -

[Part 4] -

  • Multiple language support. Currently 6 alternate languages are supported.

    Dutch (enable with: touch ) Courtesy of PD0DIB

    Portuguese (enable with: touch ) Courtesy of CS7AGH

    Italian (enable with: touch ) Courtesy of IW0QPP

    Spanish (enable with: touch ) Courtesy of EA8EE

    German (enable with: touch ) Courtesy of OE7BSH

    French (enable with: touch ) Courtesy of ON7CL

    If you can help translate into other languages, create a branch, and modify the "strings" script (found here), and request a pull. Or send me the new language section in email.

    Power Users! You can customize the build process using your own bash scripting. Callouts to user scripts are provided. prior to glv, after source download (before the Make), and after glv is completed. So knock yourself out!

    A couple of quick notes regarding recent discoveries:

    1 - Unless you are using a PS2 style mouse (not a USB mouse), always configure Virtual Box to use a PS/2 mouse! That way, it won't try to steal your USB mouse. The VM doesn't need your mouse anyway. In Oracle VM VirtualBox Manager, go to Settings / System / Change the "pointing device" to "PS/2 mouse"

    2 - If you have a hotspot, be sure to either turn it OFF or change your radio to a different channel such as an analog channel, BEFORE trying to use the flash / flashgps / flashdb commands. The firmware flash cycle seems to be corrupted if the radio receives a signal during the flash steps. If your radio reboots itself after first powering it up, remember this tip!


You can’t perform that action at this time.