Stack-chan
A JavaScript-driven, super-kawaii desktop robot built on the M5Stack platform, with open-source firmware, MODs, and printable cases.
- Other
- Open source
- Works with AI
- 3D printable
Suggested by Robotheca, created by @stack-chan (opens in a new tab), from github.com/stack-chan/stack-chan (opens in a new tab). Pinned to commit a01f520 (opens in a new tab).
- Hardware license
- Apache-2.0 (opens in a new tab)
- Software license
- Apache-2.0 (opens in a new tab)
- Commercial use
- Allowed
This repository contains executable files that Robotheca doesn't check. Only run them if you trust the creator.
Which files (7 scripts)
- firmware/docker/build-container.sh (opens in a new tab)
- firmware/docker/launch-container.sh (opens in a new tab)
- firmware/scripts/build-editor-tools.sh (opens in a new tab)
- firmware/scripts/build-wasm.sh (opens in a new tab)
- firmware/scripts/smoke-lin.sh (opens in a new tab)
- firmware/scripts/smoke-mini-app-lin.sh (opens in a new tab)
- firmware/scripts/xsc-without-debug-paths.sh (opens in a new tab)
Photo and 3D model

3D preview converted from github.com/stack-chan/stack-chan at a01f520, under Apache-2.0. View the original files from GitHub (15.0 MB) (opens in a new tab)
What it can do
Written by Robotheca from the project's documents.
- Stack-chan is a JavaScript-driven desktop robot with a face display, built around M5StackChan CoreS3 as its standard configuration.
- User applications called MODs run on the robot and can be created with a block editor or in code.
- Firmware for M5Stack, M5Stack Core2, and M5Stack CoreS3 is distributed, and Stack-chan RT and Takao Core2 with SG90 servos can be built from source.
- Browser tools support flashing firmware, changing Wi-Fi and device preferences over BLE, running MODs in a simulator, and BLE face and hand tracking via MediaPipe.
- The block editor can compose speech, expressions, posture, and singing, and can run MODs in a simulator or write them to the device.
- A Shape face editor arranges eyes, eyelids, and a mouth to create a custom face.
Works with AI
Found by Robotheca in the project's files at commit a01f520, its robot.yaml and Robotheca's notes on its documents. Never guessed; Robotheca doesn't run the code.
Uses computer vision: MediaPipe
In the project files: web/mediapipeUses an AI voice assistant: Xiaozhi
In the project files: firmware/host/modules/conversation/chat-audioio/xiaozhi-contract.tsUses a language model: OpenAI
In the project files: firmware/typings/openaistreamer.d.tsUses a language model: ChatGPT
In the project files: firmware/mods/examples/chatgptUses speech recognition: Whisper
In the project files: firmware/host/modules/audio/stt-whisper.ts“Browser tools support flashing firmware, changing Wi-Fi and device preferences over BLE, running MODs in a simulator, and BLE face and hand tracking via MediaPipe.”
Robotheca's notes: What it can do
Bill of materials
This repository has no parts list Robotheca can read yet.
Build guide
The guide appears here as you scroll.
Guide by @stack-chan (README.md), under Apache-2.0.
More guides
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- M5StackChan CoreS3 is the standard controller board.
- M5Stack Basic, Core2, and CoreS3 are listed as supported boards for the firmware.
- Servo motors drive the pan and tilt movement, and the schematic describes an M5 pan-tilt board.
- An optional joystick remote controller is available for the M5StackChan package.
Connections
- The repository includes a KiCad schematic and PCB layout for the M5 pan-tilt board, with Gerber files for manufacturing.
- A diagram shows how the SCServo cable connects in the case documentation.
- The documents do not describe the detailed pin-level wiring.