* add: Moji 2 has built-in ESP32-C5 dual band Wi-Fi * feat: PowerSaveTimer 160 >> 240 * fix(audio): add frame buffering to NoAudioProcessor On chips where CONFIG_USE_AUDIO_PROCESSOR is unavailable (e.g., ESP32-C5, which is excluded by Kconfig despite having PSRAM), NoAudioProcessor is used. The original implementation passed through 160-sample chunks directly, but the Opus encoder expects 960 samples (60ms @ 16kHz), resulting in frame size mismatch errors, high CPU usage, and watchdog resets. Added output_buffer_ to accumulate audio samples until reaching frame_samples_ (960) before outputting, matching AfeAudioProcessor behavior. other: Turn off sleep mode (PowerSaveTimer) * fix(config): enable SPIRAM for ESP32-C5 build
Build and Configuration Guide
This document provides instructions on how to configure and build the firmware for Movecall Moji2.0 (Xiaozhi AI Edition).
🛠 Prerequisites
- ESP-IDF Version: v5.5
- Target Chip: ESP32-C5
🔗 Hardware Information
This project is based on the following open-source hardware:
- OSHWHub Link: https://oshwhub.com/movecall/moji2
🚀 Build Steps
1. Set the Build Target
Initialize the project to target the ESP32-C5 chip:
idf.py set-target esp32c5
2. Configure the Board Type
Open the graphical configuration menu:
idf.py menuconfig
Navigate to the following path to select your board:
Xiaozhi Assistant -> Board Type -> Movecall Moji2.0 小智AI衍生版
Note: After selecting, press S to save (then Enter to confirm) and press Q to exit.
3. Build the Project
Run the following command to start the compilation:
idf.py build
🔧 Useful Commands
Clean Build Files (Recommended if you encounter errors):
idf.py fullclean
Flash Firmware to Device:
idf.py flash
Monitor Serial Output:
idf.py monitor