* Update Kconfig.projbuild 增加设备ESP32-CGC * Update CMakeLists.txt 新增设备EPS32-CGC * Update idf_component.yml 添加ST7735显示驱动 * Update lamp.cc 与ESP32的屏幕GPIO引脚冲突修改 * Add files via upload 新增一个引脚控制风扇 * Update wifi_board.cc 编译提示错误没有这个函数,暂时注释掉 //wifi_ap.SetLanguage(Lang::CODE); * Create README.md 创建新设备ESP32-CGC * Add files via upload 创建新设备ESP32-CGC * Add files via upload ESP32-CGC设备引脚图 * Update esp32_cgc_board.cc * Update idf_component.yml * Delete main/iot/things/newfan.cc * Update lamp.cc * Update wifi_board.cc * Update idf_component.yml * Delete main/boards/esp32-cgc/esp32_cgc_board.cc * Delete main/boards/esp32-cgc/config.h * Delete main/boards/esp32-cgc/README.md * Add files via upload 添加设备ESP32-CGC * Update Kconfig.projbuild 添加ESP32-CGC多屏选择支持,增加一个ST7735-128x128分辨率 * Update config.json * Delete docs/ESP32-CGC-PINMAP.png * Update README.md * Update README.md * Update esp32_cgc_board.cc * Update config.h * Update esp32_cgc_board.cc 跟随主线修改 * Create README.md 加入了ESP32 CGC 144开发板 * Add files via upload 加入ESP32 CGC 144开发板 * Update esp32_cgc_144_board.cc * Update config.h * Update Kconfig.projbuild 增加ESP32 CGC 144 * Update CMakeLists.txt 增加ESP32 CGC 144 * Update config.json * Update config.h * Update esp32_cgc_144_board.cc 修改屏幕控制参数 * Add files via upload * Update Kconfig.projbuild 删除重复定义 * Update esp32_cgc_144_board.cc 修改音量控制,增加语音配网指令 * Add files via upload * Delete main/boards/esp32-cgc-144/esp32_cgc_144_lcd_display.h * Delete main/boards/esp32-cgc-144/esp32_cgc_144_lcd_display.cc * Update board_control.cc 修改背光控制逻辑 * Update esp32_cgc_144_board.cc 跟随主代码更新 * Update config.h 删除不使用的引脚定义 * Update esp32_cgc_board.cc 跟随主代码更新,去除多余引脚 * Update esp32_cgc_board.cc * Update board_control.cc * Update config.h * Update esp32_cgc_144_board.cc * Update Kconfig.projbuild * Update CMakeLists.txt * Update CMakeLists.txt 先移除144开发板 * Update Kconfig.projbuild 先移除144开发板 * Delete main/boards/esp32-cgc-144 directory 先移除144开发板 * Update esp32_cgc_board.cc --------- Co-authored-by: Xiaoxia <terrence@tenclass.com>
XiaoZhi AI Chatbot
This is Terrence's first hardware project.
👉 Build your AI chat companion with ESP32+SenseVoice+Qwen72B!【bilibili】
👉 Equipping XiaoZhi with DeepSeek's smart brain【bilibili】
👉 Build your own AI companion, a beginner's guide【bilibili】
Project Purpose
This is an open-source project released under the MIT license, allowing anyone to use it freely, including for commercial purposes.
Through this project, we aim to help more people get started with AI hardware development and understand how to implement rapidly evolving large language models in actual hardware devices. Whether you're a student interested in AI or a developer exploring new technologies, this project offers valuable learning experiences.
Everyone is welcome to participate in the project's development and improvement. If you have any ideas or suggestions, please feel free to raise an Issue or join the chat group.
Learning & Discussion QQ Group: 376893254
Implemented Features
- Wi-Fi / ML307 Cat.1 4G
- BOOT button wake-up and interruption, supporting both click and long-press triggers
- Offline voice wake-up ESP-SR
- Streaming voice dialogue (WebSocket or UDP protocol)
- Support for 5 languages: Mandarin, Cantonese, English, Japanese, Korean SenseVoice
- Voice print recognition to identify who's calling AI's name 3D Speaker
- Large model TTS (Volcano Engine or CosyVoice)
- Large Language Models (Qwen, DeepSeek, Doubao)
- Configurable prompts and voice tones (custom characters)
- Short-term memory, self-summarizing after each conversation round
- OLED / LCD display showing signal strength or conversation content
- Support for LCD image expressions
- Multi-language support (Chinese, English)
Hardware Section
Breadboard DIY Practice
See the Feishu document tutorial:
👉 XiaoZhi AI Chatbot Encyclopedia
Breadboard demonstration:
Supported Open Source Hardware
- LiChuang ESP32-S3 Development Board
- Espressif ESP32-S3-BOX3
- M5Stack CoreS3
- AtomS3R + Echo Base
- AtomMatrix + Echo Base
- Magic Button 2.4
- Waveshare ESP32-S3-Touch-AMOLED-1.8
- LILYGO T-Circle-S3
- XiaGe Mini C3
- Moji XiaoZhi AI Derivative Version
- SenseCAP Watcher
Firmware Section
Flashing Without Development Environment
For beginners, it's recommended to first use the firmware that can be flashed without setting up a development environment.
The firmware connects to the official xiaozhi.me server by default. Currently, personal users can register an account to use the Qwen real-time model for free.
👉 Flash Firmware Guide (No IDF Environment)
Development Environment
- Cursor or VSCode
- Install ESP-IDF plugin, select SDK version 5.3 or above
- Linux is preferred over Windows for faster compilation and fewer driver issues
- Use Google C++ code style, ensure compliance when submitting code
AI Agent Configuration
If you already have a XiaoZhi AI chatbot device, you can configure it through the xiaozhi.me console.
👉 Backend Operation Tutorial (Old Interface)
Technical Principles and Private Deployment
👉 Detailed WebSocket Communication Protocol Documentation
For server deployment on personal computers, refer to another MIT-licensed project xiaozhi-esp32-server
