Skip to content

1. Firmware and Flashing

▫️1. How do I flash the UART-MCP firmware?

  • Details: First time using the board, how do I flash the firmware?
  • Answer:
    1. Download the UART-MCP firmware: Click to Download
    2. Connect the AI module to your PC using a Type-C cable
    3. Hold the BOOT button, then power on (insert USB)
    4. Release the BOOT button — the device enters download mode
    5. Use the flashing tool BLDevCube to select the firmware and flash

▫️2. Flashing fails?

  • Possible causes:
    • Did not enter download mode correctly
    • Firmware version mismatch
    • CH343P driver not installed
  • Solutions:
    • Re-hold the BOOT button while powering on
    • Check that the correct port is selected
    • Install the CH343P driver

▫️3. How do I develop with the emMCP library?

2. Power Supply

▫️1. PD decoy cannot output high voltage?

  • Troubleshooting steps:
    1. Confirm the charger supports PD protocol
    2. Check if the PD decoy chip is configured correctly
    3. Measure the output voltage with a multimeter
    4. Ensure the load power does not exceed the charger's rated power

3. Voice and AI

▫️1. How do I customize the wake word?

  • Answer: The current default wake word is "Xiao An" (你好小安). Custom wake words are not currently supported.

▫️2. Low wake-up success rate?

  • Optimization suggestions:
    1. Ensure the microphone is not obstructed
    2. Use it in a relatively quiet environment
    3. Speak 0.5–1 meter from the microphone
    4. Speak at a moderate pace with clear pronunciation
    5. The module board has a reserved MIC wiring terminal — you can extend a better-quality microphone

▫️3. Difficulty interrupting the AI's speech?

  • Details: When the device is speaking, the interrupt success rate is low or cannot interrupt
  • Cause: The speaker volume is too loud, affecting the MIC pickup
  • Solution:
    • When the speaker is loud, get closer to the MIC to wake/interrupt
    • Lower the speaker volume appropriately, e.g., say "Set volume to 50"

4. Networking

▫️1. Cannot find the device during network configuration?

  • Possible causes:
    • Bluetooth not enabled
    • Location permission not granted
    • "Allow nearby device connections" not enabled on some phone models
  • Solution: Enable Bluetooth and location services. If the issue persists, enable "Allow nearby device connections."

5. STM32 Development FAQ

  • Possible causes: Driver not installed, wiring error, BOOT0 not pulled low
  • Solutions:
    1. Install the ST-Link driver (STSW-LINK009)
    2. Check wiring: SWDIO→PA13, SWCLK→PA14, GND→GND, 3.3V→VDD
    3. Confirm BOOT0 jumper cap is pulled low (connected to GND)
    4. If still unable to connect, try holding the reset button and clicking download

▫️2. Compilation error: "undefined reference to ..."

  • Possible cause: Missing emMCP library source files
  • Solution: Ensure the following files are included in the build:
    • port/uartPort.c
    • uart-mcp/emMCP.c
    • uart-mcp/cJSON/cJSON.c

▫️3. Cannot receive data from AI module via serial port

  • Possible causes: Development board not properly plugged in, baud rate mismatch, module not network-configured
  • Solutions:
    1. Confirm the Ai-WV01-32S-Kit development board is correctly plugged into the baseboard
    2. Confirm serial baud rate is 1500000 (STM32 debug port) or 115200 (AI module)
    3. First verify that the Ai-WV01-32S-Kit has been successfully configured for networking (voice dialogue works)

▫️4. Registered tool cannot be called by the AI

  • Possible causes: Tool name contains special characters, RegistrationTools not called
  • Solutions:
    1. Use only [a-z0-9_] or Chinese characters in tool names
    2. Confirm emMCP_AddToolToToolList() and emMCP_RegistrationTools() have been called
    3. Observe the registration process using serial logs

▫️5. OLED not displaying or display abnormal

  • Possible causes: SPI pin contact issue, initialization order wrong, font chip failure
  • Solutions:
    1. Check OLED SPI pins (CS/DC/SCLK/MOSI) are firmly connected
    2. Call OLED_Test() after initialization to verify the hardware is functioning
    3. If garbled display, verify the GT20L61S font chip driver

▫️6. PD decoy cannot output high voltage

  • (Already covered in existing FAQ, linked to the existing entry)

Released under the MIT License.