TYT MD-UV380 / MD-380: complete DMR radio setup
The TYT MD-380 family is, without exaggeration, a legend of amateur DMR. Thousands of hams around the world made their first step into digital with one, open firmware was written for it, and the radios themselves are still in heavy use and sold brand new. But it is precisely the "zoo" of closely related models — MD-380, MD-390, MD-UV380, MD-UV390 — that easily confuses a newcomer: which CPS to install, which cable to buy, how the dual-band differs from the single-band, and what exactly the famous md380tools does. Let's lay it all out and walk through the setup from the box to going on air.
If the settings file format is still a fog for you, keep the basic primer on what a codeplug is close at hand — we will refer to its concepts extensively here.
Who's who in the MD-380 family
All these radios are built on a single platform (AT1846S chip + STM32) and differ in their bands and the presence of GPS. Understanding the differences immediately answers half the questions about "the wrong CPS" and "the wrong frequency".
- MD-380 — a single-band radio. Released in two variants: UHF (400–480 MHz) and, less commonly, VHF (136–174 MHz). The most widespread and the most "hackable" model.
- MD-390 — the same as the MD-380 but in a rugged housing (higher dust and water resistance) and often with GPS. Single-band.
- MD-UV380 — the dual-band (VHF + UHF) version. A single radio works on both 2 m and 70 cm.
- MD-UV390 — a dual-band radio in a rugged housing, usually with GPS. This is the twin of the Retevis RT3S.
The practical takeaway: for a new user the dual-band MD-UV380/UV390 is almost always more convenient — you don't have to guess the band, and you can keep analog on 2 m and DMR on 70 cm. The single-band radios are good if you know for certain you work in one segment, or if you want to experiment with open firmware — there is the most of it for the MD-380.
The official CPS and cable
A fundamental point: the single-band radios (MD-380/390) and the dual-band ones (UV380/UV390) use different CPS versions and a different codeplug format. A file from a UV380 will not load into an MD-380 and vice versa. Get the CPS strictly for your model.
- CPS. Download the official CPS from the TYT site for your specific model and matching your firmware version. A mismatch between the CPS version and the radio's firmware is a common cause of garbled reading/writing.
- Cable. The official TYT USB cable for the MD series with a built-in controller (the radio shows up as an HID/COM device). Generic "two-plug Kenwood programmers" do not work here. If the radio is not detected in the CPS, the cable or the driver is almost always to blame — covered in detail in the article on programming cables and drivers.
- First connection. Install the CPS and the driver, connect the radio while it is off, switch it on, let the system detect it, then read.
Before any changes, be sure to Read the factory codeplug and save it to a file as a backup. This will save you if a write goes wrong or you decide to put everything back the way it was.
Building the codeplug: the assembly order
The logic is the same as across the whole MD/RT family: build from the bottom up — first the reference entities, then the channels, then the zones.
1. Your Radio ID and digital contacts
In the general settings you enter your personal Radio ID — your DMR ID. Without it the network will not accept your calls. The number is issued for free; how to obtain it is in the guide on registering a DMR ID, and on the DMRhub portal it is issued right from your account.
Next you create your digital contacts. In DMR a contact is a destination address: a talkgroup (Group Call) or a specific subscriber by DMR ID (Private Call). Create one entry for each group on your network.
2. RX Group List
You assemble an RX Group List — the list of groups the radio will receive on a digital channel in addition to the one it transmits to. This is critical: with an empty receive list you will talk but not hear the replies of neighboring groups. Details are in the article on the RX Group List.
3. Channels
A digital channel in the MD/UV is a bundle of a frequency and DMR parameters with links to a contact and a receive list. The minimum fields:
- Channel Mode — Digital for DMR (or Analog for FM).
- RX/TX Frequency — on simplex and a hotspot RX = TX; on a repeater the TX is offset by the split.
- Color Code — the color code must exactly match the repeater/hotspot, otherwise the channel stays silent (see about Color Code).
- Time Slot — TS1 or TS2; for a hotspot and most simplex channels it is almost always TS2.
- Contact (TX) — the talkgroup your voice goes to when you press the PTT.
- RX Group List — the receive list you assembled.
- Admit Criteria — for network discipline set Color Code free.
4. Zones
You group the channels into zones — folders like "Hotspot", "Repeaters", "Analog 2m", and so on, which are convenient to switch between from the front panel. How to lay out channels without duplicates is in the article on zones in a codeplug.
Writing the codeplug to the radio
Once everything is assembled, before writing double-check the Radio ID, Color Code and time slots on the key channels, then:
- Connect the radio with the cable and switch it on.
- In the CPS run Write. Do not disconnect the cable or switch the radio off during the process.
- After the write the radio will reboot — check that the zones and channels appeared and that the hotspot's digital channel hears the air.
About frequencies and mode: there is no separate "amateur mode" switch in the MD/UV — the working frequency window is set by the firmware, and you simply create channels on the frequencies you need. If the radio refuses to transmit ("TX inhibit"), the frequency is outside the window allowed by the firmware. Do not go beyond the amateur segments and observe the terms of your license and local regulations.
Alternative firmware: md380tools and company
The main reason for the MD-380's cult status is its open firmware. The best-known project, md380tools, takes the radio far beyond its factory capabilities: loading the full database of DMR subscribers (tens of thousands of records, so that instead of a bare ID the display shows the caller's name and callsign), a "promiscuous" receive mode (hear any group/slot without precisely configuring contacts), display and audio improvements, and reading the call log.
This is powerful, but it is not free of risk and does not behave the same across all models. md380tools shows its full potential specifically on the single-band MD-380; on the UV380/UV390 the support situation is different and less smooth. Flashing is done at your own risk, requires careful work with the bootloader and a factory backup you can roll back to. All the nuances of exactly what md380tools provides, which models it fits and where the installation pitfalls are, are covered in a separate article on md380tools and its extended features — read it in full before flashing.
Pitfalls newcomers stumble on
- The wrong CPS version — the software differs for the UV380/UV390 and the MD-380/390; the wrong CPS reads the codeplug with distortions.
- No Radio ID filled in — the radio transmits "into nowhere", the network does not see it.
- A mismatched Color Code or time slot with the hotspot/repeater — the channel is silent both ways; check this first.
- An empty RX Group List — you hear only your own group, the replies of neighbors are lost.
- The wrong band on a single-band MD-380 — you entered a frequency outside the radio's physical segment.
- The digital contact list not loaded — the display shows bare ID numbers instead of names; solved by importing a database (and with md380tools, the full user database).
These and other pitfalls, with solutions, are gathered in the breakdown of common codeplug mistakes. Separately, for analog channels it can be handy to prepare frequencies in an external editor — there is a dedicated article about CHIRP, although the digital DMR part is still configured with the official CPS.
Setting up for your network and hotspot
For working in DMRhub the scheme is standard: take your DMR ID and talkgroup list from your account, create the contact groups, assemble a "Network" RX Group List, and create channels on the hotspot's frequency with the right Color Code and TS2. The voice is decoded on the network side by the server AMBE vocoder, so no external dongle is needed. The easiest way to bring up a hotspot is from the ready-made RadioStar image for Raspberry Pi — it provisions itself for your account, and the channels in the radio are configured by the steps above.
Get your MD-UV380 on air
Create a DMRhub account, get a DMR ID from your dashboard and bring up a hotspot from the ready-made image — then build the radio's codeplug following this guide.
Conclusion
The TYT MD-380 family lives on precisely thanks to the combination of an affordable price, a clear architecture and open firmware. To make the setup go smoothly, keep three things in mind: identify your model precisely and get the CPS strictly for it, always back up the factory codeplug, and build the settings from the bottom up — Radio ID and contacts, RX Group List, channels with the correct Color Code and TS2, then zones. If you want more — subscriber names on the screen, promiscuous receive, a call log — the single-band MD-380 has md380tools waiting for you, but only after a backup and with an understanding of the risks. A radio set up properly reliably holds your DMR network and serves for years.
Sources
- TYT (tyt888) — official site: MD-380/UV380 pages, the official CPS and manuals
- md380tools — the open repository of firmware and tools for the MD-380
- BrandMeister Wiki — talkgroups, time slots and Color Code in DMR
- ETSI TS 102 361 — the DMR standard: the radio interface, TDMA, group and private calls.