gitwtfhub

wtf is xiaozhi-esp32?

78/xiaozhi-esp32 — explained in plain English

Analysis updated 2026-05-18

26,212C++Audience · vibe coderComplexity · 3/5LicenseSetup · hard

TL;DR

A DIY voice AI chatbot that runs on cheap ESP32 microcontrollers, connects to cloud AI models like Qwen over Wi-Fi, and can control smart home devices through voice commands.

Mindmap

mindmap
  root((repo))
    What it does
      Voice chatbot on ESP32
      Connects to cloud AI
      Controls smart devices
      Offline wake detection
    Hardware
      70+ dev boards
      M5Stack CoreS3
      ESP32-S3-BOX3
      OLED/LCD display
    Features
      MCP integration
      Speaker recognition
      Emoji reactions
      Wi-Fi connectivity
    Getting started
      Free xiaozhi.me account
      Qwen AI model
      Breadboard assembly
      Afternoon build time
    Tech stack
      C++ firmware
      ESP32 SDK
      Wi-Fi protocols
    Use cases
      Smart home control
      Desktop interaction
      Information search
      Hardware automation

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Build a voice-controlled smart home hub that responds to commands and controls lights, locks, and appliances.

REASON 2

Create a portable AI assistant in your pocket that works offline for wake-word detection and online for conversations.

REASON 3

Assemble a desktop companion that can search the web, read emails, or control your computer through voice.

REASON 4

Prototype a custom voice interface for robotics or IoT projects using standard development boards.

What's in the stack?

C++ESP32Wi-FiQwenDeepSeekMCP

How it stacks up

78/xiaozhi-esp32ml-explore/mlxgoogle/flatbuffers
Stars26,21226,00725,871
LanguageC++C++C++
Setup difficultyhardmoderatemoderate
Complexity3/54/54/5
Audiencevibe coderresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1day+

Requires ESP32 hardware, Wi-Fi configuration, cloud API credentials (Qwen/DeepSeek), and embedded C++ toolchain setup.

Use freely for any purpose including commercial, as long as you keep the copyright notice.

Wtf does this do

XiaoZhi is a DIY AI chatbot that runs on ESP32 microcontrollers, tiny, inexpensive chips (often costing just a few dollars) used for building physical hardware projects. The result is a voice-enabled AI assistant you can build yourself using either a breadboard and components, or one of 70+ supported off-the-shelf development boards. The chatbot connects to large AI models like Qwen or DeepSeek over Wi-Fi, enabling natural voice conversations with real AI intelligence in a pocket-sized physical device. It supports offline wake-word detection (so it listens for its name without sending audio to the cloud), has an optional OLED/LCD display that shows emoji reactions, and can recognize individual speakers' voices. What makes it especially interesting is MCP (Model Context Protocol) integration, a standardized way for AI models to control external devices and services. This means the chatbot can control smart home devices, interact with your computer desktop, search for information, or manage hardware peripherals like LEDs and motors, all through voice commands. For a hardware-curious vibe coder or maker, this is the kind of project you can assemble in an afternoon with a development board like the M5Stack CoreS3 or ESP32-S3-BOX3. Personal users can register a free account on xiaozhi.me and use it with the Qwen real-time AI model at no cost. Built in C++ for the embedded firmware, with documentation available in English, Chinese, and Japanese. It's an active, well-supported project that bridges physical maker culture with modern conversational AI.

Yoink these prompts

Prompt 1
How do I set up XiaoZhi on an ESP32-S3-BOX3 board and connect it to the Qwen AI model?
Prompt 2
Show me how to add MCP integration to make my XiaoZhi chatbot control smart home devices via voice commands.
Prompt 3
What are the steps to enable offline wake-word detection on XiaoZhi so it listens for its name without cloud calls?
Prompt 4
How can I customize the OLED display on XiaoZhi to show different emoji reactions based on the AI's responses?
Prompt 5
Walk me through building a XiaoZhi chatbot from scratch using a breadboard and ESP32 microcontroller.

Frequently asked questions

wtf is xiaozhi-esp32?

A DIY voice AI chatbot that runs on cheap ESP32 microcontrollers, connects to cloud AI models like Qwen over Wi-Fi, and can control smart home devices through voice commands.

What language is xiaozhi-esp32 written in?

Mainly C++. The stack also includes C++, ESP32, Wi-Fi.

What license does xiaozhi-esp32 use?

Use freely for any purpose including commercial, as long as you keep the copyright notice.

How hard is xiaozhi-esp32 to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is xiaozhi-esp32 for?

Mainly vibe coder.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.