Skip to content

xiaozhi-esp32

Home Automation

An MCP‑based voice‑interaction chatbot for ESP32 devices using large language models like Qwen/DeepSeek

C++ Latest v2.2.6 · 1mo ago Security brief →

Features

  • Voice wake‑up and streaming ASR + LLM + TTS interaction
  • Multi‑protocol control via MCP (device‑side GPIO, cloud‑side smart home extensions)
  • Supports Wi‑Fi, 4G LTE Cat.1, offline voice detection, speaker recognition

Recent releases

View all 4 releases →
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

v2.2.2 New feature
Notable features
  • Add ESP-SensairShuttle support
  • Add WAVESHARE ESP32-C6-Touch-AMOLED-1.8 board support
  • Add M5Stack Cardputer Adv board support
Full changelog

What's Changed

  • feat: Add ESP-SensairShuttle by @laride in https://github.com/78/xiaozhi-esp32/pull/1620
  • Use esp_audio_codec and esp_audio_effects to replace 78opus by @majingjing123 in https://github.com/78/xiaozhi-esp32/pull/1632
  • feat: update emote display by @espressif2022 in https://github.com/78/xiaozhi-esp32/pull/1629
  • Fixed build error with IDF v5.4 by @espressif2022 in https://github.com/78/xiaozhi-esp32/pull/1637
  • 修复ESP-Hi报错 by @dunxuan in https://github.com/78/xiaozhi-esp32/pull/1643
  • Enhance audio service: Add mutex for input resampler and reset logic … by @78 in https://github.com/78/xiaozhi-esp32/pull/1653
  • Fix abnormal screen and camera display on DF K10 when running on Box by @tangjie133 in https://github.com/78/xiaozhi-esp32/pull/1648
  • Fix K10 compile doc error by @YeezB in https://github.com/78/xiaozhi-esp32/pull/1654
  • feat: New support for third-party boards: waveshare ESP32-C6-Touch-AMOLED-1.8 by @Y1hsiaochunnn in https://github.com/78/xiaozhi-esp32/pull/1656
  • add waveshare esp32-s3-rlcd-4.2 by @DrayxR3X in https://github.com/78/xiaozhi-esp32/pull/1639
  • Add bread-compact-nt26 board by @78 in https://github.com/78/xiaozhi-esp32/pull/1663
  • Add esp32s3_camera for ESP32-S3 and refactor camera selection by @Kevincoooool in https://github.com/78/xiaozhi-esp32/pull/1670
  • Esp32 camera by @78 in https://github.com/78/xiaozhi-esp32/pull/1671
  • 对 auto 模式进行特殊处理,等待音频驱动的缓冲区为空再切换成listen模式。 by @KingingWang in https://github.com/78/xiaozhi-esp32/pull/1675
  • Fixed compilation errors that occurred after enabling blufi by @KingingWang in https://github.com/78/xiaozhi-esp32/pull/1677
  • Add an open-source server-related project to the document. by @KingingWang in https://github.com/78/xiaozhi-esp32/pull/1688
  • 新增clang-format对代码进行格式管控 by @KingingWang in https://github.com/78/xiaozhi-esp32/pull/1694
  • add 征辰科技 AI camera wifi board and 4G board(26 Resubmit) by @Taikoto in https://github.com/78/xiaozhi-esp32/pull/1689
  • Support both ov2640 and ov3660 with esp_video by @HonestQiao in https://github.com/78/xiaozhi-esp32/pull/1695
  • 增加USB RNDIS上网卡支持 by @ZhouKes in https://github.com/78/xiaozhi-esp32/pull/1655
  • Change the Bluetooth device name by @KingingWang in https://github.com/78/xiaozhi-esp32/pull/1701
  • Add support for RNDIS board and enhance camera initialization by @78 in https://github.com/78/xiaozhi-esp32/pull/1702
  • add esp32-s3-touch-lcd-4.3c by @H-sw123 in https://github.com/78/xiaozhi-esp32/pull/1691
  • Fix LVGL object deletion crash and thread safety issues in SetChatMessage by @Copilot in https://github.com/78/xiaozhi-esp32/pull/1708
  • fix: reset esp-box-3 display to lvgl by @78 in https://github.com/78/xiaozhi-esp32/pull/1715
  • Refactor emoji initialization for Electron and Otto boards to use Assets system by @txp666 in https://github.com/78/xiaozhi-esp32/pull/1704
  • Enhance memory management in asset download and OTA processes by repl… by @78 in https://github.com/78/xiaozhi-esp32/pull/1716
  • Update project version to 2.2.2, enhance chat message handling by add… by @78 in https://github.com/78/xiaozhi-esp32/pull/1720
  • Refactor audio channel handling and wake word detection in Applicatio… by @78 in https://github.com/78/xiaozhi-esp32/pull/1722
  • Fix AfeWakeWord: Ringbuffer of AFE(FEED) is full by @78 in https://github.com/78/xiaozhi-esp32/pull/1723
  • Update ml307 component version by @78 in https://github.com/78/xiaozhi-esp32/pull/1724
  • feat: add M5Stack Cardputer Adv board support / 新增 M5Stack Cardputer Adv 开发板支持 by @tkpdx01 in https://github.com/78/xiaozhi-esp32/pull/1718
  • Enhance Otto Robot camera support by adding configuration for OV3660 by @txp666 in https://github.com/78/xiaozhi-esp32/pull/1726
  • Fix: uart-uhci compiling errors by @78 in https://github.com/78/xiaozhi-esp32/pull/1728

New Contributors

  • @majingjing123 made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1632
  • @dunxuan made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1643
  • @tangjie133 made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1648
  • @Taikoto made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1689
  • @H-sw123 made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1691
  • @Copilot made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1708
  • @tkpdx01 made their first contribution in https://github.com/78/xiaozhi-esp32/pull/1718

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

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
26,958
Forks
5,980
Languages
C++ C Python

Beta — feedback welcome: [email protected]