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:
- Download the UART-MCP firmware: Click to Download
- Connect the AI module to your PC using a Type-C cable
- Hold the BOOT button, then power on (insert USB)
- Release the BOOT button — the device enters download mode
- 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?
- Answer: The first step after soldering is to flash the UART-MCP firmware, otherwise control is not possible. Ai-Thinker has developed a dedicated adaptation library for UART-MCP: emMCP, which requires only simple porting to use.
- Resources:
- Source code (emMCP): Gitee - emMCP
- UART-MCP firmware download: Click to Download
- MCP reference: MCP Protocol Documentation
- emMCP programming guide: emMCP Getting Started Guide
2. Power Supply
▫️1. PD decoy cannot output high voltage?
- Troubleshooting steps:
- Confirm the charger supports PD protocol
- Check if the PD decoy chip is configured correctly
- Measure the output voltage with a multimeter
- 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:
- Ensure the microphone is not obstructed
- Use it in a relatively quiet environment
- Speak 0.5–1 meter from the microphone
- Speak at a moderate pace with clear pronunciation
- 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
▫️1. ST-Link won't connect?
- Possible causes: Driver not installed, wiring error, BOOT0 not pulled low
- Solutions:
- Install the ST-Link driver (STSW-LINK009)
- Check wiring: SWDIO→PA13, SWCLK→PA14, GND→GND, 3.3V→VDD
- Confirm BOOT0 jumper cap is pulled low (connected to GND)
- 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:
- Confirm the Ai-WV01-32S-Kit development board is correctly plugged into the baseboard
- Confirm serial baud rate is 1500000 (STM32 debug port) or 115200 (AI module)
- 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:
- Use only
[a-z0-9_]or Chinese characters in tool names - Confirm
emMCP_AddToolToToolList()andemMCP_RegistrationTools()have been called - Observe the registration process using serial logs
- Use only
▫️5. OLED not displaying or display abnormal
- Possible causes: SPI pin contact issue, initialization order wrong, font chip failure
- Solutions:
- Check OLED SPI pins (CS/DC/SCLK/MOSI) are firmly connected
- Call OLED_Test() after initialization to verify the hardware is functioning
- 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)

