Fortunately, it turned out that you were wrong. There is indeed a connection to pin PA4 on the Xiaozhi ESP32-S3, and I was able to utilize it.
Moreover, the Movecall Moji firmware I'm using already assigns the BOOT button to pin GP0 by default.
Now I can use *any* word (English or Chinese) to wake up the Xiaozhi device.
It's strange that the developers don't advertise this feature; it elevates the device above similar products and allows for the creation of a truly useful gadget.
Instead of choosing from the presets like Alexa, Jarvis, or Printer, you can add your own wake words and free up ESP32-S3 memory—previously used by WakeNet—for your own programs.
The device's only downside is the lack of a link between the eye controller and the speech function; otherwise, one could implement features like displaying emoji-style emotions as video files in the eyes that react to the context of the response.
A quick warning for anyone planning to follow my path and implement their own wake words:
You can't simply use *any* word from a language other than English or Chinese. Transliteration won't work either!
The only option is to use a phrase made of English (or Chinese) words that sounds similar. For example, "Peace Duke" or "Yor bunny wrote" (Russian speakers will get the joke).
An added challenge is that the ASRPRO chip is quite precise and requires accurate pronunciation, so you may have to pronounce certain words with a very distinct English accent.
I won't be posting the code; the key isn't the code itself, but the configuration nuances involved in setting up custom wake words. I've compiled the issues I encountered—and the solutions I found on various forums—into a brief guide (writing from memory):
1. Make sure you've reviewed the device instructions on this site, examined all the screenshots, downloaded the necessary files, and installed Tianwen Block. You won't be able to change the interface language from Chinese; I used Google Lens on my phone to understand the menus.
2. The example on the site uses specific command words to change facial expressions, but there are also "wake-up" words.
You need to modify the example as follows:
define pin 4,
add code to the `case` branch to send a signal to pin 4 and the "joy" pin based on the wake-up word IDs,
add your own words to the special comments block: `// {ID:100, cmd "Chinese characters for wake—check the Tianwen Block examples", ASR:"Your word", ASRTO:""}`
3. You need to generate a model for your words using the "Generate Model" button (located to the left of the compile/upload button labeled "2M").
Registration is required for this. You can sign up with just a username and password if you don't have a Chinese phone number, but you won't be allowed to generate the model.
To get access, email info@twen51.com with your username, order receipt, and a close-up photo of the device showing the ASR chip. You should receive a reply and be registered within about a day, after which the "Generate Model" button will work.
4. If generation stops at 76–78%, it means your words are too complex or obscure—i.e., they are missing from the word database—so you need to rephrase them using more common words.
5. To flash the device, solder the wires as shown in the instructions, but do not connect the VCC pin (at least not when using a USB-to-FTDI adapter). To initiate flashing, press the onboard button several times to load the bootloader, followed by the compiled program itself.
6. If the bootloader freezes and displays garbled characters instead of Chinese characters, you need to change your Windows system locale setting for non-Unicode programs from your current locale to Chinese.
After restarting your computer, the bootloader will stop freezing and will be able to display compilation errors and proceed with the upload.
That's basically it; you can now use the ESP32-S3 as desired. You can simply upload the standard Movecall Moji firmware, though note that it only works up to version 2.1.0; newer versions lack audio support.