Bug #8321

Incorrect tone values for ANI/PTT-ID

Added by Dan Allongo over 1 year ago. Updated about 1 year ago.

Status:Closed Start date:10/12/2020
Priority:Normal Due date:
Assignee:Jim Unroe % Done:


Target version:chirp-daily
Chirp Version:daily Platform:All
Model affected:UV-5R


The DTMF tones for ANI and PTT-ID are incorrect for my Baofeng UV-5R (recently purchased from Amazon in Sep. 2020).
The values programmed in CHIRP were sending the wrong tones (but I can produce all tones correctly pressing the keypad manually during transmit).

Entering the following values into the ANI and PTT-ID fields produced the following:
  • programmed "*", output DTMF B
  • programmed "#", output DTMF C
  • programmed "A", output DTMF D
  • programmed "B", output DTMF *
  • programmed "C", output DTMF #
  • programmed "D", output 800Hz tone
Using the Developer Functions (View->Developer->Show raw memories) I was able to figure out the correct values and tones for my radio:
  • 0x0A = DTMF A (Menu)
  • 0x0B = DTMF B (Up)
  • 0x0C = DTMF C (Down)
  • 0x0D = DTMF D (Exit)
  • 0x0E = DTMF *
  • 0x0F = DTMF #
  • 0x10 = 800Hz (PTT + MONI)
  • 0x11 = 1000Hz (PTT + CALL)
  • 0x12 = 1450Hz (PTT + VFO/MR)
  • 0x13 = 1750Hz (PTT + A/B)
  • 0x14 = 2100Hz (PTT + BAND)

Build: CHIRP daily-20200909
OS: Windows 10 Home 1909 (64-bit)
Programming Cable: Baofeng-branded, identifies as CH340 (VID: 1A86, PID: 7523, REV: 0263)

Radio: Baofeng UV-5R (no special branding or model designation, just the standard dual-band, dual-power model)
Firmware: HN5RV011 (151123H)
Power+6: 190831M
Power+3: Ver BFB298

uv5r_fix_for_hn5rv_firmware.py (63.6 kB) Jim Unroe, 10/16/2020 07:11 pm

Related issues

related to Bug #3351: BUG IN CHIRP FOR BAOFENG UV-5R AND UV-5R2+ HT'S Closed 02/18/2016

Associated revisions

Revision 3409:fdf3c9d0165b
Added by Jim Unroe over 1 year ago

[UV-5R] Incorrect Tone Values for ANI/PTT-ID

This patch addresses the changes to the "dtmfchars" brought about by the
HN5RV01 firmware.

While making these changes it was also discovered that the ANI code for these
radios is limited to only numeric DTMF characters. This patch also makes this

Fixes #8321


Updated by Dan Allongo over 1 year ago

I should mention that all 8 units that I've purchased over the past month exhibit this behavior. They are all standard Baofeng UV-5R with the same Firmware, Power+6, and Power+3 messages. Two of them have serial numbers beginning with "19U" and shipped with the A-V85 antenna (about 7" long) and the remaining 6 radios have serial numbers beginning with "13U" and shipped with the standard "rubber duck" antenna (about 6" long). So it would appear that this is a behavior quirk of the 190831M firmware.

Updated by Jim Unroe over 1 year ago

  • Status changed from New to Feedback
  • Platform changed from Windows to All


I've good news and I've got bad news.

The good news - I have confirmed what you are seeing with my Radioddity UV-5RX3.

The bad news - All but one Baofeng UV-5R programming software I have tested with matches CHIRP exactly (it should, CHIRP was programmed from the factory programming software). The exception is the factory programming software for the UV-5RX3. It crashes during the upload when you try to program a PTT-ID with a non-numeric DTMF character (*, #, A, B, C and/or D). I need to test it to see what happens if *, #, A, B, C and D are set to your discovered values.

So far every Baofeng UV-5R like and UV-82 like radio I have programmed the DTMF A, B, C and D digits has worked as expected. The question is, when did Baofeng (un)intentionally make this change? I wonder it if coincides with the introduction of the (my least favorite) HN5RV01 firmware? I've got other radios that I can test when I get a chance.


Updated by Dan Allongo over 1 year ago


I suspect that they never expected or tested anything other than digits 0-9 for ANI. Looking at the ANI in the Menu on the radio, the following is displayed on the screen for each value:

  • 0x0A = ":" (should be "A")
  • 0x0B = ";" (should be "B")
  • 0x0C = "<" (should be "C")
  • 0x0D = "=" (should be "D")
  • 0x0E = ">" (should be "*")
  • 0x0F = "?" (should be "#")

They're seemingly just displaying chr(val + 0x30) instead of doing any sort of lookup.

Updated by Jim Unroe over 1 year ago

I have confirmed that my UV-82T (a tri-band version of the UV-82) also has this issue. The factory software fails in exactly the same way as the UV-5RX3 factory software. If there are any non-numerical DTMF digits (*#ABCD) programmed, the upload will crash crashes the programming software.

CHIRP indicates that it too has N5RV01 firmware. I'm going to dig out some radios from a few years ago that have HN5RV01 firmware and see if they also have this issue.

Something I have learned from all of this, the factory software has never allowed the use of non-numeric DTMF digits for the ANI-ID! And the radio won't accept them either. The radio rejects the the first non-numeric digit and everything after that is stored for the ANI-ID.


Updated by Jim Unroe over 1 year ago

Yep the Retevis RT-5RV with HN5RV01 firmware from 2016 has the same issue. But the factory programming software matches CHIRP (or CHIRP matches the factory programming software depending on your point of view) and not the radio.


Updated by Jim Unroe over 1 year ago


Please give this custom driver module a try. It should adjust "dtmfchars" selection based on whether the image is from a UV-5R/UV-82 like radio with HN5RV01 firmware or not. It also only allows the ANI Code to use DTMF 0-9 characters.

Save the attached custom driver module (left-click the link and choose the "download" link on the page that loads - you cannot right-click to download this file). Then use File -> Load Module to temporarily load this test module. This module is only temporary. It does not permanently change your CHIRP installation in any way. Once you close CHIRP, you must load this module again to use it.

I have to do some more testing on radios that do not have HN5RV01 firmware to make sure they still work. Let me know how this works for you.


Updated by Dan Allongo over 1 year ago


I've tested the module and confirmed that I was only able to set digits 0-9 for ANI and that the DTMF tones for *#ABCD are correctly set and transmitted for PTT-ID. The patch looks good to me.

Updated by Jim Unroe over 1 year ago

  • Status changed from Feedback to In Progress
  • Assignee set to Jim Unroe

Patch to be submitted soon.


Updated by Jim Unroe over 1 year ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100

Patch submitted.


Updated by Anonymous about 1 year ago

  • Status changed from Resolved to Closed

Applied in changeset fdf3c9d0165b.

Updated by Jim Unroe about 1 year ago

Fix available in the latest CHIRP daily build.


Also available in: Atom PDF