This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2564MODAEM: HFP voice issue(mic part) with CC2564MODAEM and STM32F407G-DISC1

Part Number: CC2564MODAEM



I made below changes on each board to make it compatible with nonOS HFP example which is given for EVAL board of ST.

Hardware changes

1.      Changes in STM32F407G   - DISC1

  1. Crystal X2 hanged to 25 MHz from 8 MHz.
  2. The resistor R24 is changed to 390R.
  3. Flying wires have been connected between ST-LINK/V2-A virtual COM port (ST-LINK VCP on U2 pin12 and 13) and STM32F407 USART2 (PA2 and PA3: P1 pin 14 and 13)
  4. Removed resistor R68 

    2.      Changes in CC256XEM – STADAPT V 1.0

    1. Resistor R42, R32, R12, R22 and R52 are shorted
    2. Resistor R43 is kept open
    3. Connected jumper (J1,j2,j3,j4,j5,j6) on discovery side

      3.      Changes in CC2564MODAEM

      1. Sorted R18 
      2. Removed R19 and R11 

Firmware changes

  1. Done below changes mentioned in “Enable STM32 Discovery Eval.pdf”
    1. Change In the project options (Under- General Options, Target) the Device to: ST STM32F407VG, from the ST devices, in the drop-down list.
    2. Under the ST-LINK, in the project setting choose SWD and in the Reset drop down list choose: Connect during reset.
    3. In order to work with the UART console, change the I/O definition, in Platform/HALCFG.h file; to UART 2 and use PA2 as the TX and PA3 as the RX pin. Also change the LED I/O in the same file, to PD13 for the Orange LED.
    4. In order to work with the Bluetooth CC256x Adapter board via UART HCI, first change the UART to non-DMA one. Remove the HCITRANS.c file from the Bluetopia Group. Add Bluetopia/hcitrans/HCITRANS.c file to the Bluetopia Group.
    5. For the Discovery HCI UART I/O definition, change the Bluetopia/hcitrans/HCITRCFG.h file, to UART 3 and use: PD8 as the TX, PD9 as the RX, PD12 as RTS, PD11 as CTS. Also change the Bluetooth RESET I/O in the same file, to PE14.
  2. In AUDIO.c file, changed frequency for AUDIO_RESET_PIN to 50MHz. In addition, Modified AUDIO_RESET_PIN handling as per discovery board.
  3. In AUDIO.c file, used AUDIO_I2S_BASE macro instead of hard code SPI2.
  4. Added waverecorder.c file and its dependency.
  5. Removed analog mic part from AUDIO.c file.
  6. Removed USB part from waverecorder.c file and created API to start/stop listening from mic.
  7. Called start/stop mic api while call establishment and disconnection in HFPDemo.c file.
  8. Added queue logic to send PCM input data over the air.

Firmware is attached here.


After call setup, we can hear voice of person, who is at opposite end of phone line, at audio jack of discover kit. However, that person is only hearing random noise although we are speaking at MEMS of discovery kit.

It seems like some issue in MIC path.

Please provide input for possible issue.



  • Khodidas,

    First of all, I do not recommend uploading the entire dual mode BT stack SDK on the public forums. Pretty sure it violates the software license agreement you agreed to when installing the SDK. So, please remove it from the thread as soon as possible.

    Regarding the mic issue on the discovery board, it is a known limitation of that EVM. Please refer to the following notes from the latest SDK User's Guide (swru498).

    Best regards,