Skip to content

xiaozhi-esp32

Home Automation

An MCP‑based voice chatbot using large language models (Qwen/DeepSeek) for multi‑terminal control via the MCP protocol

C++ Latest v2.4.0 · 7d ago Security brief →

Features

  • Voice interaction with streaming ASR, LLM inference, and TTS
  • Multi‑protocol communication (WebSocket or MQTT+UDP)
  • Speaker recognition and device‑side/ cloud‑side MCP control of hardware components
  • Support for ESP32‑C3/S3/P4 chip platforms and 70+ open‑source boards
  • Multi‑language UI (Chinese, English, Japanese) with OLED/LCD emoji display

Recent releases

View all 6 releases →
No immediate action
v2.4.0 Breaking risk

IDF 6 migration + Otto update + Touch disable

No immediate action
v2.3.0 New feature

Board updates + new features

v2.2.6 Breaking risk
⚠ Upgrade required
  • Update dependencies in idf_component.yml to latest versions (esp‑ml30…)
  • Adapt to esp_codec_dev >= 1.5.5
  • Fix compilation errors from default configuration changes of the touch chip
Breaking changes
  • Rename EchoEar to ESP‑VoCat
Notable features
  • ESP‑VoCat: Add BMI270 motion feedback, capacitive slider (v1.2) and single‑pad button (v1.0)
  • Add support for waveshare ESP32‑S3‑ePaper‑3.97
  • Add Waevshare Product ESP32‑P4‑WIFI6‑Touch‑LCD‑4.3 support
Full changelog

What's Changed

  • Rename EchoEar to ESP-VoCat by @laride in https://github.com/78/xiaozhi-esp32/pull/1827
  • Add support for waveshare ESP32-S3-ePaper-3.97 by @DrayxR3X in https://github.com/78/xiaozhi-esp32/pull/1808
  • fix: add explicit UTF-8 encoding to Python file operations for Windows build compatibility by @quantumnic in https://github.com/78/xiaozhi-esp32/pull/1845
  • Fix race condition in GIF emotion switching causing crash by @Copilot in https://github.com/78/xiaozhi-esp32/pull/1848
  • feat: Add Waevshare Product ESP32-P4-WIFI6-Touch-LCD-4.3 Support by @Y1hsiaochunnn in https://github.com/78/xiaozhi-esp32/pull/1858
  • Restore README.md and update Discord links to https://discord.gg/C759fGMBcZ in all language versions by @Copilot in https://github.com/78/xiaozhi-esp32/pull/1862
  • Fix crash when LAMP_GPIO or BUILTIN_LED_GPIO is GPIO_NUM_NC by @Copilot in https://github.com/78/xiaozhi-esp32/pull/1853
  • add waveshare esp32-s3-touch-lcd-1.54 and waveshare esp32-s3-lcd-0.85 by @shunian11 in https://github.com/78/xiaozhi-esp32/pull/1868
  • Assets 资源管理支持更多的场景 by @hushi55 in https://github.com/78/xiaozhi-esp32/pull/1865
  • fix(eda-robot-pro): Optimize gait algorithm by @JasonYANG170 in https://github.com/78/xiaozhi-esp32/pull/1871
  • Update dependencies in idf_component.yml to latest versions: esp-ml30… by @78 in https://github.com/78/xiaozhi-esp32/pull/1867
  • fix json parse StoreProhibited crash issue by @hushi55 in https://github.com/78/xiaozhi-esp32/pull/1873
  • Fix GIF emoji flickering by merging lock scopes in SetEmotion() by @Copilot in https://github.com/78/xiaozhi-esp32/pull/1880
  • Remove unused flag for playing popup sound on listening state in Cont… by @78 in https://github.com/78/xiaozhi-esp32/pull/1881
  • Bump version to 2.2.5 by @Copilot in https://github.com/78/xiaozhi-esp32/pull/1882
  • feat: adapt to esp_codec_dev>=1.5.5 by @laride in https://github.com/78/xiaozhi-esp32/pull/1878
  • fix: Compilation errors caused by default configuration changes of the touch chip by @Y1hsiaochunnn in https://github.com/78/xiaozhi-esp32/pull/1891
  • add waveshare esp32-c6-touch-amoled-2.16 by @DrayxR3X in https://github.com/78/xiaozhi-esp32/pull/1892
  • fix: Default configuration of GT911 by @Y1hsiaochunnn in https://github.com/78/xiaozhi-esp32/pull/1895
  • Add freenove-esp32s3-display-2.8-lcd by @mrrdmr in https://github.com/78/xiaozhi-esp32/pull/1876
  • content: add ESP32-P4-WIFI6-Touch-LCD-3.5 by @CQ793 in https://github.com/78/xiaozhi-esp32/pull/1885
  • add esp32-s3-cam-xxxx by @ggc121238 in https://github.com/78/xiaozhi-esp32/pull/1821
  • Add touch screen support to freenove 2.8 by @mrrdmr in https://github.com/78/xiaozhi-esp32/pull/1901
  • Fix crash when adjusting volume via button while Es8311 audio device is disabled by @Copilot in https://github.com/78/xiaozhi-esp32/pull/1917
  • ESP-VoCat: BMI270 motion feedback, capacitive slider (v1.2), and single-pad button (v1.0) by @almirus in https://github.com/78/xiaozhi-esp32/pull/1902
  • fix: remove submodule by @laride in https://github.com/78/xiaozhi-esp32/pull/1925
  • feat:添加正点原子DNESP32S3B3开发板的小智AI例程 by @Almost-LoverY in https://github.com/78/xiaozhi-esp32/pull/1931
  • feat(cardputer-adv): add TCA8418 keyboard and WiFi config UI by @tkpdx01 in https://github.com/78/xiaozhi-esp32/pull/1929
  • Add NULLLAB-AI-VOX-V3 Board by @kankungyip in https://github.com/78/xiaozhi-esp32/pull/1900
  • add waveshare esp32-s3-touch-amoled-1.43c by @DrayxR3X in https://github.com/78/xiaozhi-esp32/pull/1937
  • chore: upgrade version to 2.2.6 by @Copilot in https://github.com/78/xiaozhi-esp32/pull/1944

New Contributors

  • @quantumnic made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1845
  • @shunian11 made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1868
  • @hushi55 made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1865
  • @mrrdmr made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1876
  • @CQ793 made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1885
  • @almirus made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1902
  • @kankungyip made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1900

Full Changelog: https://github.com/78/xiaozhi-esp32/compare/v2.2.4...v2.2.6

v2.2.4 New feature
Notable features
  • Support for waveshare-s3-epaper-1.54 hardware versions
  • Add waveshare ESP32-S3-Touch-AMOLED-1.75C support
  • Add esp32-s3-touch-lcd-1.85c v2.0
Full changelog

What's Changed

  • Add support for both hardware versions of waveshare-s3-epaper-1.54 by @alexxed in https://github.com/78/xiaozhi-esp32/pull/1583
  • Fix setupui by @78 in https://github.com/78/xiaozhi-esp32/pull/1777
  • fix: waveshare ESP32-S3-Touch-AMOLED-1.75 Touch bugs by @Y1hsiaochunnn in https://github.com/78/xiaozhi-esp32/pull/1784
  • feat: add waveshare ESP32-S3-Touch-AMOLED-1.75C support by @Y1hsiaochunnn in https://github.com/78/xiaozhi-esp32/pull/1786
  • add esp32-s3-touch-lcd-1.85c v2.0 by @ggc121238 in https://github.com/78/xiaozhi-esp32/pull/1782
  • fix: fixed ESP32-C6-Touch-AMOLED-2.06 target error by @Y1hsiaochunnn in https://github.com/78/xiaozhi-esp32/pull/1789
  • feat:MagiClick-2p5增加硬件版本识别,增加对新屏幕的支持 by @MakerM0 in https://github.com/78/xiaozhi-esp32/pull/1797
  • fix: 移除 OttoEmojiDisplay 构造函数中的 SetTheme 调用以修复 LoadProhibited 崩溃 by @txp666 in https://github.com/78/xiaozhi-esp32/pull/1803
  • doc: Update README with IDF version and ESP32-P4 notes by @faywong in https://github.com/78/xiaozhi-esp32/pull/1801
  • add waveshre ESP32-Touch-LCD-3.5 by @ggc121238 in https://github.com/78/xiaozhi-esp32/pull/1794
  • fix: 小智云聊修正AEC记忆+适配UI setup调整 by @Zc365 in https://github.com/78/xiaozhi-esp32/pull/1809
  • Updated AudioService to prevent input task termination on read timeout, introducing a delay instead. by @txp666 in https://github.com/78/xiaozhi-esp32/pull/1810
  • fix(esp32c5): correct PSRAM configuration by @MoveCall in https://github.com/78/xiaozhi-esp32/pull/1813
  • 新增无名科技ABS 2.0开发板 by @NologoTech in https://github.com/78/xiaozhi-esp32/pull/1812
  • Bump to 2.2.4 by @78 in https://github.com/78/xiaozhi-esp32/pull/1816

New Contributors

  • @alexxed made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1583
  • @faywong made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1801

Full Changelog: https://github.com/78/xiaozhi-esp32/compare/v2.2.3...v2.2.4

v2.2.3 Bug fix
Notable features
  • Added streaming OGG demux support
  • Added Bluetooth functionality to 小智云聊
  • Modified CircularStrip constructor parameter types and added SetMul…
Full changelog

What's Changed

  • Fix afe by @78 in https://github.com/78/xiaozhi-esp32/pull/1739
  • 在Display基类中添加SetupUI虚函数 by @baidxi in https://github.com/78/xiaozhi-esp32/pull/1742
  • Waveshare products adjustment by @Y1hsiaochunnn in https://github.com/78/xiaozhi-esp32/pull/1734
  • 增加流式ogg解封装支持 by @smalllin0 in https://github.com/78/xiaozhi-esp32/pull/1705
  • feat&fix: 小智云聊增加蓝牙功能 by @Zc365 in https://github.com/78/xiaozhi-esp32/pull/1732
  • feat: modify CircularStrip constructor parameter types and add SetMul… by @KingingWang in https://github.com/78/xiaozhi-esp32/pull/1750
  • Delay init success sound playback and remove gif playback delay by @78 in https://github.com/78/xiaozhi-esp32/pull/1748
  • chore: Update component versions and enhance UI setup across multiple… by @78 in https://github.com/78/xiaozhi-esp32/pull/1753
  • 修复SetupUI引入的自定义布局调整失效问题 by @smalllin0 in https://github.com/78/xiaozhi-esp32/pull/1747
  • feat: Add project support for the EDA course case team by @JasonYANG170 in https://github.com/78/xiaozhi-esp32/pull/1758
  • Fix M5Stack Tab5's backlight brightness control. by @artisdom in https://github.com/78/xiaozhi-esp32/pull/1764
  • Update low battery popup handling in LvglDisplay class by @78 in https://github.com/78/xiaozhi-esp32/pull/1765
  • fix: add frame buffering to NoAudioProcessor for ESP32-C5 by @MoveCall in https://github.com/78/xiaozhi-esp32/pull/1766
  • chore: Update esp-wifi-connect version in idf_component.yml and refac… by @78 in https://github.com/78/xiaozhi-esp32/pull/1769
  • Bump project version to 2.2.3 and fix release.py by @78 in https://github.com/78/xiaozhi-esp32/pull/1771

New Contributors

  • @baidxi made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1742
  • @JasonYANG170 made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1758
  • @artisdom made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1764

Full Changelog: https://github.com/78/xiaozhi-esp32/compare/v2.2.2...v2.2.3

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
28,172
Forks
6,357
Languages
C++ C Python

Beta — feedback welcome: [email protected]