XiaoZhi AI Budget Version - ESP32 Development Board Implementation
Overview
XiaoZhi AI Budget Version is a low-cost AI chatbot solution built using early version ESP32 development boards (non-S3/C3). This article details all the steps for building XiaoZhi AI using regular ESP32 development boards, including hardware selection, wiring methods, firmware flashing, and common issue resolution. Compared to using ESP32-S3 development boards, this solution is more cost-effective and suitable for entry-level users.
ESP32 Development Board Version XiaoZhi AI (Budget Version)
This ESP32 is not from the S3 or C3 series, but rather early version ESP32 series development boards, basically with 4MB flash and no external PSRAM. Commonly referred to as “Budget XiaoZhi” or “Lite XiaoZhi,” it lets you experience XiaoZhi at the price of an S3 development board.
I. About the ESP32 Series
1.1 Supported Hardware
- Supports ESP32-S
- Supports ESP32-DevKitC
- Supports NodeMcu-32S
1.2 Hardware Selection Recommendations
- Recommend selecting ESP32-DevKitC or ESP32-S
- NodeMcu-32S also works, but its 30-pin design makes it more challenging for wiring on breadboards
1.3 Hardware Limitations
- Limited functionality due to hardware constraints
- No PSRAM means only essential functions are available
- Does not support multi-round dialogues (may be added in future updates)
II. Hardware Requirements
2.1 Core Components
- ESP32 development board (early version with 4MB flash, not S3/C3)
- Digital microphone: INMP441
- Amplifier: MAX98357A
- Speaker: 8Ω 2
3W or 4Ω 23W - Wires: Set of jumper wires
- 400-hole breadboard
- 128x32 I2C(IIC) LCD display, SSD1306 driver (optional but recommended)
2.2 Component Selection Notes
- Due to memory constraints, you may experience occasional memory overflow when using all peripherals
- If you don’t need the display, you can omit the OLED screen to save memory
III. Wiring Guide
3.1 Standard ESP32 Wiring
Microphone Wiring (INMP441)
ESP32 Development Board | Microphone(INMP441) |
---|---|
GPIO32 | WS (Data Select) |
GPIO14 | SCK (Data Clock) |
GPIO15 | SD (Data Output) |
3V3 | VDD (Power Positive 3.3V) |
GND | GND (Ground) Short Connect L/R (Left/Right Channel) |
Amplifier Wiring (MAX98357A)
ESP32 Development Board | Amplifier(MAX98357A) |
---|---|
GPIO22 | DIN (Digital Signal) |
GPIO26 | BCLK (Bit Clock) |
GPIO25 | LRC (Left/Right Clock) |
3V3 | Vin/VCC (Power) Short Connect SD (Shutdown Channel) |
GND | GND (Ground) Short Connect GAIN (Gain and Channel) |
OLED Display Wiring (Optional)
ESP32 Development Board | OLED Display |
---|---|
GPIO21 | SDA (Data Line) |
GPIO22 | SCK (Clock Line) |
3V3 | VCC (Power Positive) |
GND | GND (Ground) |
Important Note: Some ESP32 development boards may have different pin numbering. Please verify your specific board’s pin layout before wiring.
3.2 Wiring Diagram
Please refer to the official channel for the latest breadboard wiring diagram, as it may be updated periodically.
IV. Firmware Flashing
4.1 Download Firmware
Download the specific ESP32 Budget Version firmware from the Firmware Download Page
4.2 Flashing Steps
- Connect the ESP32 development board to your computer via USB
- Put the board in flashing mode by holding the BOOT button while pressing RESET
- Use the ESP32 Flash Download Tool or Web Flashing Tool
- Select the downloaded firmware file
- Choose correct COM port and flashing parameters (baudrate: 921600)
- Click Start to begin flashing
4.3 Common Flashing Issues
- Connection Error: Check USB cable and driver installation
- Flash Failed: Ensure the board is in flash mode (hold BOOT while pressing RESET)
- Incompatible Board: Verify you’re using the correct firmware for your ESP32 board
V. Network Configuration
Network configuration follows the same process as the standard version:
- After flashing, the device enters AP mode
- Connect to the “XiaoZhi-xxxx” WiFi access point
- Open 192.168.4.1 in a browser
- Follow the prompts to configure your home WiFi
VI. Performance Comparison
Aspect | ESP32 Budget Version | ESP32-S3 Standard Version |
---|---|---|
Cost | Lower (25-35 CNY) | Higher (45-60 CNY) |
Memory | 4MB Flash, No PSRAM | 16MB Flash, 8MB PSRAM |
Processing Power | Adequate for basic functions | Better overall performance |
Multi-round Dialogue | Not supported (yet) | Supported |
Response Speed | Slightly slower | Faster |
Stability | May experience occasional reboots | More stable |
VII. Troubleshooting
7.1 Common Issues
- Continuous Reboots: Likely a memory overflow issue. Try disconnecting the OLED display.
- No Sound: Check amplifier and speaker connections.
- Microphone Not Working: Verify INMP441 connections and orientation.
- Cannot Connect to WiFi: Ensure you’re using a 2.4GHz network (5GHz not supported).
7.2 Support
For additional help, check the FAQ section or join the official community channels.
VIII. Future Updates
The development team is working to optimize the budget version further:
- Memory optimization for better stability
- Exploring ways to enable multi-round dialogues
- Additional peripheral support
Check for firmware updates regularly on the Firmware Download Page.