This is a back up of Jason's work (VK7ZJA), who passed away in January 2023.
The page will not be updated and some links might not work.
Modifications, hints, tips and technical information for the
AnyTone AT-D578UV
dual / tri band DMR digital mobile radio
(Some relevance to Alinco DR-MD500 & DR-MD520 too)
Version 7.4 --- 20 October 2022
Updates made since the previous version are shown in this purple colour
This information is
primarily intended for amateur ’ham’ radio operators who wish to
maintain and adjust their AT-D578UV. Any regulatory authority approval
(e.g. FCC certification) may become invalid by the use of this
information. Users should always ensure that they and their radios are
operating in accordance with their licence conditions. Many of these
mods may also invalidate any manufacturer warranty you may have. In any
case, the user alone accepts all responsibility and risk from the use
of this information and tools provided here.
Band Error and five ways you can fix it
Arrgh, the dreaded ’Band Error’. This happens when the codeplug you try
to write to the radio doesn’t match the operational band the radio is
set to. The radio has certain band limits that can be changed to suit
local requirements, and this can be set to one of several options by the
user. If the codeplug that you are trying to write to the radio
doesn’t match that setting, this is the error you will see.
There are five ways you can correct this issue. Choose the one that best suits you:
The red circle indicates byte 0x0011, which determines what band the
codeplug is, change that data to 0E for band 14, or change it to 12 for
band 18. Also note how the offset (address) shown in HxD indicates where
your cursor is placed.
Band Error has it’s own section, click here to see five different methods on how to fix this problem. |
If you see something similar to this error message, it means you are
trying to load a newer codeplug file than what your CPS software version
can handle. You must make sure your CPS software version matches your codeplug file version and matches your firmware version installed in the radio and that you are using it with the correct matching model radio. |
This error means you are trying to use the wrong CPS / wrong codeplug / wrong firmware for the model of radio you have. For example, you might be trying to use the 578 CPS with an 578-PLUS radio. You must make sure your CPS software version matches your codeplug file version and matches your firmware version installed in the radio and that you are using it with the correct matching model radio. |
If you are getting this cryptic error message when trying to read or
write to your radio, it means that your PC programming (CPS) software
isn’t the same version firmware as what is on your radio. For example,
in the screen grab here, this shows v1.09 software trying to interact
with a radio with v1.10 firmware. You must make sure your CPS software version matches your codeplug file version and matches your firmware version installed in the radio and that you are using it with the correct matching model radio. |
If you see this error, or something similar to it, this means your codeplug is corrupt. The solution is to reset the radio, REBUILD your codeplug, and write the rebuilt codeplug to your radio (thanks to Lane KD2TVW for this one) |
This error means your codeplug has become corrupt in memory. All you need do is perform a reset on the radio and reload the codeplug. I also strongly recommend doing a codeplug REBUILD before reloading it to the radio. |
This error is a little more serious. A similar error message is ’Bad Block.’ Try the following, in order:
|
This message is asking you to "Please enter power on password:" in
Chinese. If you know what the password is, enter it, and then you should
reprogram the radio codeplug to reset the radio back in to English
language. If you don’t know what the password is, you can reset it
using the instructions here (yes, this is a photo of an 878, but the same error could occur on a 578 too - it will display the same) |
This error, or ’RTC ERROR!’ or ’RTC not run!’ means that, for what ever reason, the radio can not read the Real Time Clock. There is a pair of tiny internal batteries, one of which backs up the Real Time Clock and keeps time when the radio is turned off. If that battery becomes too old, or goes faulty, you may see this error. If you continue to ignore this error message and the battery becomes so bad that it short circuits itself, then that could start to induce other new random errors such as the radio freezing up, not accepting any codeplug or firmware updates, and finally becoming completely unresponsive. A short circuit battery will drag down the microprocessor voltage supply, causing these random failures. The RTC backup battery can be replaced by getting access to the bottom side of the PCB and desoldering the old battery and replacing it with a new XH414HG IV01E 3 volt lithium battery. After fitting, a reset of the radio, setting the time & date and reprogramming the codeplug should set everything right. You can find out more information about the little lithium backup batteries here |
Not really an error message as such, if you are seeing white blocks
being displayed instead of an icon after you have made a firmware
update, this means you need to also need to do an icon update to the
radio. So far, the 578 has not had an icon update issued, but if you
still find white squares appearing on the 578, you can use the latest
878 Icon file (it’s the same as what is used in the 578): find Icon
V1.21 update download below. You send the icon .spi file to the radio
by powering up the 578 in the icon update mode by holding down the DIAL
and P1 buttons until UPDATE MODE is displayed. Then use the CPS menu
selections Tool > Firmware Upgrade (while this selection doesn’t
specifically mention ’Icon’ this IS definitely the correct process to
use) and select the icon .spi file Download the 878 v1.21 icons package which uses the same icon file as the 578 (1003kb) here: Download via Mega Download via Google Drive Download via Sabercat host |
Standard MODES selectable on the AnyTone 578 (all flavours) & Alinco DR-MD500 / MD520:
MODE | 578 v1.15 / v2.02 RX | 578 v1.15 / v2.02 TX | MD500 v1.06 RX | MD500 v1.06 TX | MD520 v1.15 RX | MD520 v1.15 TX |
---|---|---|---|---|---|---|
00000 | 400-480 & 136-174 | 400-480 & 136-174 | 400-480 & 136-174 | 400-480 & 136-174 | 400-480 & 136-174 | 400-480 & 136-174 |
00001 | 400-480 & 136-174 (12.5k only) | 400-480 & 136-174 (12.5k only) | 400-480 & 136-174 (12.5k only) | 400-480 & 136-174 (12.5k only) | 400-480 & 136-174 (12.5k only) | 400-480 & 136-174 (12.5k only) |
00002 | 430-440 & 136-174 | 430-440 & 136-174 | 430-440 & 136-174 | 430-440 & 136-174 | 430-440 & 136-174 | 430-440 & 136-174 |
00003 | 400-480 & 136-174 | 430-440 & 144-146 | 400-480 & 136-174 | 430-440 & 144-146 | 400-480 & 136-174 | 430-440 & 144-146 |
00004 | 434-438 & 144-146 | 434-438 & 144-146 | 434-438 & 144-146 | 434-438 & 144-146 | 434-438 & 144-146 | 434-438 & 144-146 |
00005 | 434-447 & 144-146 | 434-447 & 144-146 | 434-447 & 144-146 | 434-447 & 144-146 | 434-447 & 144-146 | 434-447 & 144-146 |
00006 | 446-447 & 136-174 | 446-447 & 136-174 | 446-447 & 136-174 | 446-447 & 136-174 | 446-447 & 136-174 | 446-447 & 136-174 |
00007 | 400-480 & 136-174 | 420-450 & 144-148 | 400-480 & 136-174 | 420-450 & 144-148 | 400-480 & 220-225 & 136-174 | 420-450 & 222-225 & 144-148 |
00008 | 400-470 & 136-174 | 400-470 & 136-174 | 400-470 & 136-174 | 400-470 & 136-174 | 400-470 & 136-174 | 400-470 & 136-174 |
00009 | 430-432 & 144-146 | 430-432 & 144-146 | 430-432 & 144-146 | 430-432 & 144-146 | 430-432 & 144-146 | 430-432 & 144-146 |
00010 | 400-480 & 136-174 | 430-450 & 144-148 | 400-480 & 136-174 | 430-450 & 144-148 | 400-480 & 136-174 | 430-450 & 144-148 |
00011 | 400-520 & 136-174 | 400-520 & 136-174 | 400-520 & 136-174 | 400-520 & 136-174 | 400-520 & 136-174 | 400-520 & 136-174 |
00012 | 400-490 & 136-174 | 400-490 & 136-174 | 400-490 & 136-174 | 400-490 & 136-174 | 400-490 & 136-174 | 400-490 & 136-174 |
00013 | 400-480 & 136-174 | 403-470 & 136-174 | 400-480 & 136-174 | 403-470 & 136-174 | 400-480 & 136-174 | 403-470 & 136-174 |
00014* | 400-520 & 220-225 & 136-174 | 400-520 & 220-225 & 136-174 | 400-520 & 220-225 & 136-174 | 400-520 & 220-225 & 136-174 | 400-520 & 220-225 & 136-174 | 400-520 & 220-225 & 136-174 |
00015 | 420-520 & 144-148 | 420-520 & 144-148 | 420-520 & 144-148 | 420-520 & 144-148 | 420-520 & 144-148 | 420-520 & 144-148 |
00016 | 430-440 & 144-147 | 430-440 & 144-147 | 430-440 & 144-147 | 430-440 & 144-147 | 430-440 & 144-147 | 430-440 & 144-147 |
00017 | 430-440 & 136-174 | 136-174 only | 430-440 & 136-174 | 136-174 only | 430-440 & 136-174 | 136-174 only |
00018 | 400-480 & 220-225 & 136-174 | 420-450 & 222-225 & 144-148 | 400-480 & 220-225 & 136-174 | 420-450 & 222-225 & 144-148 | 400-480 & 220-225 & 136-174 | 420-450 & 222-225 & 144-148 |
578 receiver sensitivity
These measurements were all made in Narrowband FM
mode. Wideband FM results are 4dB higher. DMR sensitivity is listed as
being -117.4dBm for BER 5% and -110dBm for BER 1%
Summary: 0.18uV VHF // 0.28uV 220 MHz // 0.20uV UHF for 10dBQ (approximates 12dB SINAD) Narrowband FM.
Transmit RF power output
with thanks to Sergei for these measurements
Test frequency | Low | Mid | High | Turbo |
---|---|---|---|---|
145.5 MHz | 1.2 | 10 | 25 | 58 |
225.0 MHz | 1.5 | 6.0 | 6.0 | 6.0 |
435.0 MHz | 1.1 | 11 | 26 | 43 |
I strongly recommend you go through each setting and write down what they are before making any adjustments \
578 Setting | Adj. range | Description | Typical value | |
---|---|---|---|---|
1 | UHF AL | nil | A-VFO Low UHF test frequency | |
2 | UHF AM | nil | A-VFO Mid UHF test frequency | |
3 | UHF AH | nil | A-VFO High UHF test frequency | |
4 | VHF AL | nil | A-VFO Low VHF test frequency | |
5 | VHF AM | nil | A-VFO Mid VHF test frequency | |
6 | VHF AH | nil | A-VFO High VHF test frequency | |
7 | UHF BL | nil | B-VFO Low UHF test frequency | |
8 | UHF BM | nil | B-VFO Mid UHF test frequency | |
9 | UHF BH | nil | B-VFO High UHF test frequency | |
10 | VHF BL | nil | B-VFO Low VHF test frequency | |
11 | VHF BM | nil | B-VFO Mid VHF test frequency | |
12 | VHF BH | nil | B-VFO High VHF test frequency | |
13 | FQCA | 0-255 | A-VFO Frequency fine tune | 41 * |
14 | TXDAU | 0-255 | Unknown UHF analogue adjustment | 150 |
15 | PAHU | 0-255 | UHF RF power output turbo setting | 180 |
16 | PAMU | 0-255 | UHF RF power output high setting | 130 |
17 | PALU | 0-255 | UHF RF power output medium setting | 85 |
18 | PASU | 0-255 | UHF RF power output low setting | 25 |
19 | MODU | 0-255 | Overall deviation setting for UHF | 105 |
20 | MIC | 0-63 | Microphone gain set | 54 |
21 | TONEU | 0-255 | Transmit audio tone level, push PTT to transmit a test 1000 Hz tone on displayed UHF FM frequency | 98 |
22 | TONEV2 | 0-255 | Transmit audio tone level, push PTT to transmit a test 1000 Hz tone on displayed VHF FM frequency | 40 |
23 | CTCW | 0-128 | Deviation setting for CTCSS in both UHF & VHF | 39 |
24 | DCSW | 0-128 | Deviation setting for DCS in both UHF & VHF | 28 |
25 | BPFLUA | 0-255 | UHF A-VFO receive tracking gain, low end of band | 35 |
26 | BPFMUA | 0-255 | UHF A-VFO receive tracking gain, mid band | 135 |
27 | BPFHUA | 0-255 | UHF A-VFO receive tracking gain, top end of band | 253 |
28 | BPFLUB | 0-255 | UHF B-VFO receive tracking gain, low end of band | 35 |
29 | BPFMUB | 0-255 | UHF B-VFO receive tracking gain, mid band | 145 |
30 | BPFHUB | 0-255 | UHF B-VFO receive tracking gain, top end of band | 253 |
31 | AGCUA | 0-255 | UHF A-VFO AGC (suspect receiver gain related) | 180 |
32 | AGCUB | 0-255 | UHF B-VFO AGC (suspect receiver gain related) | 170 |
33 | SQTHUA | 0-255 | UHF A-VFO squelch threshold | 90 |
34 | SQTHUB | 0-255 | UHF B-VFO squelch threshold | 100 |
35 | RSSIUA | nil, only displays current value | UHF RSSI A-VFO, inject RF at desired level for 1 bar reading, rotate dial to sample and lock in value | 72 |
36 | RSSIUB | nil, only displays current value | UHF RSSI B-VFO, inject RF at desired level for 1 bar reading, rotate dial to sample and lock in value | 75 |
37 | A OBH | 0-65535 | unknown A+D adjustment | 3000 * |
38 | A OBL | 0-65535 | unknown A+D adjustment | 2700 * |
39 | D OBH | 0-65535 | unknown D+A adjustment | 3000 * |
40 | D OBL | 0-65535 | unknown D+A adjustment | 2700 * |
41 | D FSKLU | nil | Push PTT to send test FSK signal (heard as 2400 Hz on FM receiver) at low end of UHF band | |
42 | D FSKMU | nil | Push PTT to send test FSK signal (heard as 2400 Hz on FM receiver) at mid UHF band | |
43 | D FSKHU | nil | Push PTT to send test FSK signal (heard as 2400 Hz on FM receiver) at high end of UHF band | |
44 | D 600HzU | nil | Push PTT to send test 600Hz signal UHF band (heard on FM as 200 & 400 Hz?) | |
45 | D 300HzU | nil | Push PTT to send test 300Hz signal UHF band (heard on FM as 800 Hz?) | |
46 | D 1031U | nil | Push PTT to send 1031 test sequence UHF band, heard on DMR as 1031 Hz | |
47 | D BERU | nil | Display received BER of received UHF DMR signal | |
48 | D DIGI | nil | Test UHF DMR for both TX & RX as if it were on a regular DMR channel | |
49 | TXDAV | 0-255 | Unknown VHF analogue adjustment | 145 |
50 | PAHV | 0-255 | VHF RF power output turbo setting | 150 |
51 | PAMV | 0-255 | VHF RF power output high setting | 100 |
52 | PALV | 0-255 | VHF RF power output medium setting | 60 |
53 | PASV | 0-255 | VHF RF power output low setting | 20 |
54 | MODV | 0-255 | Overall deviation setting for VHF | 50 |
55 | MODV2 | 0-255 | Overall deviation setting for 222 MHz | 105 |
56 | BPFLVA | 0-255 | VHF A-VFO receive tracking gain, low end of band | 3 |
57 | BPFMVA | 0-255 | VHF A-VFO receive tracking gain, mid band | 135 |
58 | BPFHVA | 0-255 | VHF A-VFO receive tracking gain, top end of band | 253 |
59 | BPFLVB | 0-255 | VHF B-VFO receive tracking gain, low end of band | 0 |
60 | BPFMVB | 0-255 | VHF B-VFO receive tracking gain, mid band | 135 |
61 | BPFHVB | 0-255 | VHF B-VFO receive tracking gain, top end of band | 253 |
62 | AGCVA | 0-255 | VHF A-VFO AGC (suspect receiver gain related) | 170 |
63 | AGCVB | 0-255 | VHF B-VFO AGC (suspect receiver gain related) | 170 |
64 | SQTHVA | 0-255 | VHF A-VFO squelch threshold | 70 |
65 | SQTHVB | 0-255 | VHF B-VFO squelch threshold | 80 |
66 | RSSIVA | nil | VHF RSSI A-VFO, inject RF at desired level for 1 bar reading, rotate dial to sample and lock in value | 61 |
67 | RSSIVB | nil | VHF RSSI B-VFO, inject RF at desired level for 1 bar reading, rotate dial to sample and lock in value | 68 |
68 | D FSKLV | nil | Push PTT to send test FSK signal (heard as 2400 Hz on FM receiver) at low end of VHF band | |
53 | D FSKMV | nil | Push PTT to send test FSK signal (heard as 2400 Hz on FM receiver) at mid VHF band | |
70 | D FSKHV | nil | Push PTT to send test FSK signal (heard as 2400 Hz on FM receiver) at high end of VHF band | |
71 | D 600HzV | nil | Push PTT to send test 600Hz signal VHF band (heard on FM as 200 & 400 Hz?) | |
72 | D 300HzV | nil | Push PTT to send test 300Hz signal VHF band (heard on FM as 800 Hz?) | |
73 | D 1031V | nil | Push PTT to send 1031 test sequence on VHF band, heard on DMR as 1031 Hz | |
74 | D BERV | nil | Display received BER of received VHF DMR signal | |
75 | VBAT | undetermined | Calibrate displayed voltage. Do not adjust, otherwise radio will warn of incorrect voltage and prevent any further adjustments | 109 * |
76 | F1 A0 | 0-65535 | Hex BCD combination of mic gain and mic AGC values, however adjusting has no effect | 42512 |
77 | MODE | 0-18 | Changes operational frequency bands of radio | |
78 | FM RSI | nil | RSSI for FM broadcast band, inject RF at desired level for 1 bar reading, rotate dial to sample and lock in value | 5 |
79 | 087.50M | nil | Receiver test of FM broadcast band | |
80 | 097.50M | nil | Receiver test of FM broadcast band | |
81 | 108.00M | nil | Receiver test of FM broadcast band | |
- | AM BPFL | 0-255 | AM aircraft band receive tracking gain, low end of band (578PLUS only) | 65 |
- | AM BPFM | 0-255 | AM aircraft band receive tracking gain, mid band (578PLUS only) | 110 |
- | AM BPFH | 0-255 | AM aircraft band receive tracking gain, low end of band (578PLUS only) | 180 |
- | AM AGC | 0-255 | AM aircraft band receive AGC (578PLUS only) | 180 |
- | AM RSIV | nil | AM aircraft band, inject RF at desired level for 1 bar reading, rotate dial to sample and lock in value (578PLUS only) | 24 |
The back side of the display board. The GPS module ATGM336H is capable
of tracking GPS & BDS (BeiDou) positioning systems. Also visible is
the Bluetooth module.
The back side of the display board. Bluetooth removed.
The front side of the display board.
578 MCU hides under the LCD display:
The 578 main board top side:
The 578 main board under side:
Close up of the twin 38 MHz IF crystal filters. Note the unpopulated PCB
lands for a future version of the 578 that will have air band RX.
Address in flash | Contents |
---|---|
0x00000000 to 0x0014FFFF | holds alternate language fonts e.g. Chinese, Japanese, Greek, Cyrillic, Roman numerals. There is some English font there but it doesn’t appear to be used at all |
0x00150000 to 0x00159FFF | default AnyTone start-up picture |
0x0015A000 to 0x001FFFFF | multi colour icons bitmaps |
0x003E0000 to 0x0041FFFF | unknown data |
0x00420000 to 0x00434FFF | more multi colour icons bitmaps |
0x00435000 to 0x0043BFFF | monochrome fonts, possibly not used |
0x00800000 to 0x02A9FFFF | codeplug data (not including DMR IDs) |
0x02AC0000 to 0x02AC9FFF | custom start up image bitmap |
0x02B00000 to 0x02B09FFF | background display image bitmap BK1 |
0x02B80000 to 0x02B89FFF | background display image bitmap BK2 |
0x02F00000 to 0x02F80679 | active RF ’soft’ alignment data and backup copies |
0x02FA0000 to 0x02FDFFFF | active ’local information’ radio configuration data and backup copy |
0x02FE0000 to 0x03000000 | unknown data |
0x05500000 to (likely) 0x07FFFFFF | DMR IDs |
0x0C8E0000 to (likely) 0x0FFFFFFF | DMR audio recordings |
© Copyright Jason Reilly, 2018-2022
Except as permitted by the copyright law applicable to you, you may not reproduce or communicate any of the content on this website, including files downloadable from this website, without the permission of the copyright owner.