Skip to content
Rob Fisher edited this page May 18, 2023 · 10 revisions

AT-D578UV Software Mic wiki

The AT-D578UV software mic is a software-based solution that emulates the functionality of the physical microphone for the AT-D578UV radio. It utilizes hex codes that correspond to the button presses on the hand microphone to control the radio's operations.

To capture the hex codes, traffic on the wire between the radio and the physical microphone was sniffed. The communication traffic was intercepted to determine the specific hex codes associated with each physical mic button press. These hex codes represent commands that control various features of the radio, such as zone and channel selection, menu browsing, VFO switching, PTT control, and more.

By emulating the hand microphone's functionality through software, the AT-D578UV software mic provides users with an alternative interface to control the radio. This software-based approach offers flexibility and customization options that may not be available with the physical microphone. This also allows the radio to be used without changing the mic control setting from UART to Volt detection.

Code Demo

YouTube Video Link

Homebrew Cable

This work uses a digirig and requires the following homebrew cable be built. Check the digirig website in the future for consumer cable availability. See the digirig forum for a discussion on cables: https://forum.digirig.net/t/cable-for-anytone-at-d578uv-iii-pro-plus/548

wire-diagram

Code Configurations

This code is a proof of concept that requires a few tweaks to make it run on your system. You'll need to update the Port in the "port" variable to match your system and digirig configuration. You can also update the callsign with your own. It's likely you will need to update the image paths to match your system as well.

image

Configurable callsign label.

image

CAT Commands

  • PTT On = 4101000000000006 or \x41\x01\x00\x00\x00\x00\x00\x06
  • PTT Off = 41 00 00 00 00 00 00 06 or \x41\x00\x00\x00\x00\x00\x00\x06
  • SetFreq_Data_method= TBD
  • SetFreqVfoA_Cmd= TBD
  • SetFreqVfoA_param_length= TBD
  • SetFreqVfoA_hz_res= TBD
  • ReadFreqVfoA_Cmd= TBD
  • ReadFreqVfoA_Result_Data_method= TBD
  • ReadFreqVfoA_Result_hz_res= TBD
  • ReadFreqVfoA_Result_Length= TBD
  • ReadFreqVfoA_Result_Freq_Start_Pos= TBD
  • ReadFreqVfoA_Result_Freq_Length= TBD

See hex keys for full list.

VarAC_cat_commands.ini

[Anytone AT-D578UVIII]

CmdType=HEX

PTTOn=4101000000000006

PTTOff=4100000000000006

Clone this wiki locally