Files
xiaozhi-esp32/main/boards/movecall-moji2-esp32c5
MOV 8e34995944 fix: add frame buffering to NoAudioProcessor for ESP32-C5 (#1766)
* 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)
2026-02-13 22:50:58 +08:00
..

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:


🚀 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