Skip to content
MCU Atlas
ESP32ESP32-S3Draft

XiaoZhi: open-source ESP32 AI voice chatbot

A very popular firmware that turns ESP32-S3 boards into an LLM voice assistant using the MCP protocol.

Difficulty:IntermediateCost:Source available

Photos

XiaoZhi: open-source ESP32 AI voice chatbot photo 1
XiaoZhi: open-source ESP32 AI voice chatbot photo 2
XiaoZhi: open-source ESP32 AI voice chatbot photo 3

Photos: 78/xiaozhi-esp32

Key Facts

  • Chip: ESP32-S3 (also C3/P4 boards)
  • Function: LLM voice assistant
  • Protocol: MCP for device control
  • Framework: ESP-IDF

About This Project

XiaoZhi is an open-source AI chatbot firmware for ESP32 boards, most commonly the ESP32-S3. It streams speech to a cloud LLM backend and plays responses back, and it uses the Model Context Protocol (MCP) so the device can control hardware or call tools. It supports dozens of off-the-shelf boards with mics, speakers and displays, and has a very large Chinese-speaking community. Documentation is partly in Chinese; English docs exist but are thinner.

Source & Attribution

Creator: 78 (@78)
Source: GitHub
License: MIT
Last verified: 10/16/2026
XiaoZhi: open-source ESP32 AI voice chatbot
How to Build It
XiaoZhi is an open-source AI voice chatbot for ESP32-S3 (and some C3/P4) boards. It streams your voice to an LLM pipeline (ASR, LLM and TTS, or a realtime model) and speaks the reply. It supports wake words, displays with emoji faces, and device control through MCP. There are firmware builds for over 100 boards.

Parts Needed

  • ESP32-S3 board with PSRAM (or one of the many supported boards)
  • INMP441 I2S microphone
  • MAX98357A I2S amplifier + speaker
  • 0.96in OLED or an LCD (optional)
  • Breadboard and wires for a DIY build

Steps

  1. 1

    Pick hardware

    Use a supported dev board or the breadboard design: an S3 module with an I2S mic, amp, speaker and optional OLED. The wiring for each board lives in its board folder.

  2. 2

    Flash prebuilt firmware

    Beginners can follow the project's flashing guide, which flashes a release image for your board with no development setup.

  3. 3

    Provision Wi-Fi

    On first boot, the device starts a hotspot (or BluFi) for entering your Wi-Fi details.

  4. 4

    Link to a server

    By default it connects to the xiaozhi.me service. Register there and bind the device with the code it reads out, then pick your model and voice in the console. You can also run your own server.

  5. 5

    Build from source (optional)

    Install ESP-IDF v6.0.1 or newer (6.1 recommended; 5.x no longer works), choose your board variant and build. The Custom Board Guide explains how to add new hardware.

  6. 6

    Tips

    Boards with acoustic echo cancellation can do full-duplex conversation. MCP lets the assistant control the speaker, LEDs, servos and GPIO.

Parts List (BOM)
Parts list inferred by MCU Atlas — check the original
inferred
PartQtyRoleEst. PriceBuy
1main board$10–$18View
1mic$2–$5View
1amp$3–$6View
1speaker$2–$5View
1display$2–$5View
Estimated Total$17–$34 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

Watchy: open-source ESP32 e-ink smartwatch
Illustration
ESP32Draft
An open-source smartwatch with a 1.54in e-paper screen and ESP32, hackable watch faces in Arduino.
Beginner·Under $15·Code
2 parts listed
Low-power ESP32 e-paper weather display (7.5in)
Illustration
ESP32Draft
A wall-mounted 7.5in e-paper weather display on an ESP32 that runs for months on one battery charge.
Intermediate·Cost varies·Code
5 parts listed
OpenEPaperLink: reuse e-ink shelf labels with an ESP32 access point
Illustration
ESP32ESP32-S3Draft
Turns cheap second-hand electronic shelf labels into a Wi-Fi-managed e-ink display fleet via an ESP32 access point.
Advanced·Under $15·Code
3 parts listed