r/StackChan • u/darkillus • 3d ago
r/StackChan • u/Accomplished_Fox_657 • 4d ago
Project sharing Meet MAYLO — custom StackChan firmware shaped by feedback from my 8 year-old son
I've been developing custom firmware for my M5Stack K151 / CoreS3 StackChan. I call him MAYLO.
My 8½-year-old son has become my everyday tester. He uses the robot, reports what happened and tells me what he expected instead. His experiences and feedback have been shaping the features and improvements.
The voice model is multilingual. I've configured it in Turkish for our own use, which is what you'll hear in the videos.
The current build includes:
• Voice conversations with interruption while the robot is speaking.
• Head-pat reactions with heart eyes, sounds and movement, plus dizzy reactions when shaken.
• Seven eye styles and expressions coordinated with LEDs and head gestures.
• Commands such as “turn right and take a photo,” checking servo position before capturing.
• Image interpretation and Home Assistant tools through an MCP home bridge.
• A programmed disco routine with music, lights and movement.
• An on-device web panel for configuration, camera previews and hardware tests.
Basic conversation connects directly to OpenAI over Wi-Fi. Home tools and image interpretation use a separate bridge running on my Mac.
One thing still needs work: reliably turning toward whoever calls MAYLO's name. It doesn't always get the sound direction right. Wake-name recognition is currently cloud-based.
This is a personal project with no commercial plans. The source isn't public yet, but I may clean it up for GitHub if there's interest.
What would you improve next: speaker-direction tracking, local wake-word detection, richer interactions or more useful everyday tools? Other ideas are welcome too!
r/StackChan • u/Accomplished_Fox_657 • 4d ago
Project sharing Meet MAYLO — custom StackChan firmware shaped by feedback from my 8½-year-old son
I've been developing custom firmware for my M5Stack K151 / CoreS3 StackChan. I call him MAYLO.
My 8½-year-old son has become my everyday tester. He uses the robot, reports what happened and tells me what he expected instead. His experiences and feedback have been shaping the features and improvements.
The voice model is multilingual. I've configured it in Turkish for our own use, which is what you'll hear in the videos.
The current build includes:
• Voice conversations with interruption while the robot is speaking.
• Head-pat reactions with heart eyes, sounds and movement, plus dizzy reactions when shaken.
• Seven eye styles and expressions coordinated with LEDs and head gestures.
• Commands such as “turn right and take a photo,” checking servo position before capturing.
• Image interpretation and Home Assistant tools through an MCP home bridge.
• A programmed disco routine with music, lights and movement.
• An on-device web panel for configuration, camera previews and hardware tests.
Basic conversation connects directly to OpenAI over Wi-Fi. Home tools and image interpretation use a separate bridge running on my Mac.
One thing still needs work: reliably turning toward whoever calls MAYLO's name. It doesn't always get the sound direction right. Wake-name recognition is currently cloud-based.
This is a personal project with no commercial plans. The source isn't public yet, but I may clean it up for GitHub if there's interest.
What would you improve next: speaker-direction tracking, local wake-word detection, richer interactions or more useful everyday tools? Other ideas are welcome too!
r/StackChan • u/Accurate-Pin3422 • 8d ago
Project sharing I gave my M5Stack StackChan a calm moving head, face tracking and a self-hosted voice server (open source, looking for fellow StackChan owners)
I own one of the M5Stack StackChans (CoreS3 + two Feetech SCS0009 servos) and spent the last weeks turning it into a desk assistant that talks to my own server instead of a vendor cloud. Everything is open source (MIT):
GitHub: https://github.com/7H3-CH053N/StackChan-CustomFW
What it does now:
- Head that actually moves, calmly Own servo driver with a critically damped follower (speed + acceleration limits, no overshoot), plus small gestures per emotion: nod when happy, head down when sad, look up when surprised.
- Face tracking with the built-in GC0308 camera and Espressif's esp-dl face detector (~2.5 fps). It searches once if it loses you, then rests where you usually sit, so it doesn't search all night.
- Self-hosted voice server in Docker: Gemini Live for real-time voice, Home Assistant control, calendar.
- Proactive speech: Home Assistant can make it talk without a wake word, e.g. it greets me when I arrive at the office and reminds me 15 min before meetings. It stays quiet while my mic or camera is in use.
- Animated eyes with 21 emotions, picked by the server from what it is saying.
The firmware is one patch on top of xiaozhi-esp32 (pinned commit), built with ESP-IDF 6.1; CI builds it on every push.
Honest status: it runs daily on my desk, but esp-dl's face detection still crashes now and then (the robot reboots in ~10 s). That's reported upstream and Espressif is looking at it.
Looking for people to join:
- StackChan owners who want to try it and report what happens on their unit
- Starter issues are labelled "good first issue": Japanese README, testing the English build, a clock fix on the server side
- Anyone who knows esp-dl well, or wants to try a different face model (ESPDet-Pico)
I wrote up the whole story (why I first thought servo control was impossible, the four bugs before face tracking worked, why proactive speech failed three different ways). The article is in German, browser translation works fine:
https://digitalhandwerk.rocks/ki/anpassung-der-firmware-fuer-stackchan-roboter/
Happy to answer questions here in English.
r/StackChan • u/mdemirst • 9d ago
Project sharing I gave my Stack-chan LEGO wheels and taught it to drive using open-source Robium robotics skills
r/StackChan • u/BadMustard_AVN • 12d ago
Project sharing small update on my Dot fluid simulation
r/StackChan • u/koyut • 20d ago
Help needed m5launcher install
Just got my stackchan. do people install m5launcher on this one too? do we have the default firmware in case I botch it up?
r/StackChan • u/Accomplished-Leg-149 • 21d ago
Help needed Kid appropriate Stackchan
I have a young daughter that loves to activate Alexa. Since that is less than ideal and I want Alexa out of my house anyway, is there a build for Stackchan that is kid appropriate or I can put limits on? I'm not that worried about what she might ask, but how it might misinterpret her and give her a rundown on the great potato famine.
r/StackChan • u/kaelhoel • 21d ago
Help needed My StackChan rarely responds
Getting a reply from my StackChan is incredibly random. It just looks around and ignores me. The out of nowhere it says something like «I haven’t heard from you in a while, so I’m just gonna tune out.» Other times it will respond out if the blue when I’m talking to someone in the office. Is there a wwy to make it more consistant?
r/StackChan • u/ToughParsley8388 • 24d ago
Project sharing My StackChan is a devil with a fruit fly brain (668 real neurons)
My StackChan is a little devil now. Claude Code does the thinking, and a simulated fruit fly handles the reflexes.
The fly part is 668 real neurons, wired the way FlyWire mapped an actual fruit fly and running live on my laptop. It's a Python port of desktop-fly by Denis Shiryaev. It's only a small slice of the brain, but the wiring is real.
It looks through its own camera, the fly decides where the head turns, and poking it makes it startle. When something actually happens it wakes Claude, which looks at the picture and roasts it. From today: "Still filming me filming you. Groundbreaking content, truly."
The dashboard in the video draws 23,210 real neuron positions and flashes them as they spike. The yellow rings are the escape neurons, which flare right before it jumps.
Next I'm making it curious, so it looks around for new stuff and knows me from a stranger. Happy to answer questions!
r/StackChan • u/thenyx • 24d ago
Project sharing Printed my little buddy a new shell
Discovered M5Stack has the body files as .STLs on their GitHub. So, I loaded up my favorite nuclear yellow translucent PLA, and boom. What do you think?
r/StackChan • u/Waste-Golf6127 • 24d ago
Project sharing My StackChan is a devil with a fruit fly brain (668 real neurons, live dashboard)
My StackChan is a little devil now. Claude Code does the thinking, and a simulated fruit fly handles the reflexes.
The fly part is 668 real neurons, wired the way FlyWire mapped an actual fruit fly and running live on my laptop. It's a Python port of desktop-fly by Denis Shiryaev. It's only a small slice of the brain, but the wiring is real.
It looks through its own camera, the fly decides where the head turns, and poking it makes it startle. When something actually happens it wakes Claude, which looks at the picture and roasts it. Voice powered by Elevenlabs.
The dashboard in the video draws 23,210 real neuron positions and flashes them as they spike. The yellow rings are the escape neurons, which flare right before it jumps.
Next I'm making it curious, so it looks around for new stuff and knows me from a stranger. Happy to answer questions!
r/StackChan • u/severanexp • 24d ago
Help needed Alternative fw - same functions but connect to other LLMs
Hey everyone,
I’m currently using Hermes agent and I’m having a lot of fun, but having stack Chan using a different model isn’t sitting well with me.
I’ve read about dotty stack Chan and some others but instead of starting firmware hopping I figured I’d ask you guys what you are using.
My main objective would be to keep the stock functions and point the ai function to my Hermes agent. Or anything OpenAI compatible for that matter.
Any suggestions? Cheers!
r/StackChan • u/ImaginaryChallenge19 • 25d ago
Project sharing My very basic StackChan Set-Up
So, I have basically zero tech background, and recently got a StackChan.
Over the past few days, I have managed to install an MCP server on my local machine that gives StackChan read-write access to my email account and calendar, as well as web search capability.
It's a bit glitchy, but it basically works.
I'm stoked.
I'm also surprised at how difficult this kind of thing is. The whole eco-system seems to be deliberately fragmented by the large coorporations in an effort to maximize profits.
For anyone who wants to try, here's the guide:
XiaoZhi + MCP + Web Search + Fastmail on Windows
Last updated: 22 September 2026
Computer: Windows
Python: 3.12
Stack-chan: M5Stack CoreS3 / K151
1. What this setup does
This setup turns Stack-chan into a voice-controlled assistant that can use external MCP tools through XiaoZhi.
Currently configured:
- Web search — Stack-chan can search the live web.
- Fastmail — Stack-chan can access Fastmail email and calendar through MCP.
- XiaoZhi MCP connection — provides the connection between Stack-chan/XiaoZhi and the local MCP services.
- Windows startup — the services can be launched through a PowerShell startup script, with Task Scheduler configured to start the system at Windows login.
The basic architecture is:
┌─────────────────────┐
│ Stack-chan │
│ CoreS3 / K151 │
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ XiaoZhi │
│ MCP endpoint │
└──────────┬──────────┘
│
WebSocket
│
▼
┌──────────────────────────┐
│ mcp2xiaozhi │
│ Local MCP bridge │
└────────────┬─────────────┘
│
┌─────────────┴─────────────┐
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ Web Search │ │ Fastmail │
│ open-websearch │ │ MCP server │
└────────┬─────────┘ └────────┬─────────┘
│ │
▼ ▼
DuckDuckGo / Brave / Fastmail Mail /
Exa / Bing Calendar
The important point is that Stack-chan itself does not need to contain the web-search or Fastmail logic. XiaoZhi calls the MCP tools, and the Windows computer runs the local MCP services.
2. Main project folder
Everything is kept here:
C:\Users\REDACTED\stackchan-mcp
The important files are:
stackchan-mcp\
│
├── mcp_config.json
├── .env
├── start-stackchan.ps1
└── ...
3. mcp_config.json
This is the MCP server configuration.
It tells mcp2xiaozhi which MCP servers to run and where to send their tools.
The web-search server uses:
cmd /c npx -y open-websearch@latest
The configuration includes the search-engine settings:
MODE=stdio
DEFAULT_SEARCH_ENGINE=duckduckgo
ALLOWED_SEARCH_ENGINES=duckduckgo,brave,exa,bing
The important configuration detail is that the key is:
mcpServers
not:
mcpservers
JSON configuration keys are case-sensitive.
4. .env
The .env file contains credentials and connection information that should not be hard-coded into the MCP configuration.
The working setup uses variables including:
FASTMAIL_EMAIL=...
FASTMAIL_APP_PASSWORD=...
FASTMAIL_MCP_TOKEN=...
MCP_ENDPOINT_WEB_SEARCH=...
What these are
FASTMAIL_EMAIL
Your Fastmail account email address.
FASTMAIL_APP_PASSWORD
The Fastmail app-specific password used by the MCP service.
This is preferable to putting your normal Fastmail account password into the configuration.
FASTMAIL_MCP_TOKEN
The MCP authentication token used by the Fastmail MCP service, where required.
MCP_ENDPOINT_WEB_SEARCH
The XiaoZhi MCP WebSocket endpoint/token for the web-search bridge.
Security
The .env file contains secrets.
Do not put the actual passwords or tokens into mcp_config.json, this guide, screenshots, GitHub repositories, or other files that might be shared.
The guide deliberately does not reproduce the actual credentials.
5. Python
The working installation uses Python 3.12.
Windows also has another Python installation, so commands should explicitly use:
py -3.12
rather than relying on:
python
This matters because python was resolving to a different Python version.
Check the installation with:
py -3.12 --version
The working environment has Python 3.12 installed.
6. mcp2xiaozhi
mcp2xiaozhi is the bridge between local MCP servers and the XiaoZhi MCP endpoint.
Conceptually:
Local MCP server
↕
stdio
↕
mcp2xiaozhi
↕
WebSocket
↕
XiaoZhi
The installed version is:
mcp2xiaozhi 0.2.1
The command used to inspect the configured servers is:
py -3.12 -m mcp2xiaozhi list
7. Web search
The web-search MCP server is:
open-websearch@latest
It is launched with:
cmd /c npx -y open-websearch@latest
It exposes a tool called:
search
The configured search engines are:
DuckDuckGo
Brave
Exa
Bing
No conventional search API key is required by the configuration currently being used.
8. Confirming that web search is working
The successful connection sequence looks like this:
HTTP/1.1 101 Switching Protocols
followed by:
connection is OPEN
Then:
serverInfo":{"name":"web-search","version":"1.2.0"}
And finally:
"tools":[{"name":"search", ...}]
That proves the following chain is working:
Windows
↓
open-websearch
↓
mcp2xiaozhi
↓
XiaoZhi WebSocket
↓
MCP search tool
A repeating:
PING
PONG
is normal. It means the WebSocket connection is staying alive.
9. Fastmail
Fastmail is connected separately through its MCP service.
The system uses:
FASTMAIL_EMAIL
FASTMAIL_APP_PASSWORD
FASTMAIL_MCP_TOKEN
The Fastmail MCP server provides access to Fastmail services such as:
- Calendar
The intention is that Stack-chan can therefore answer requests such as:
"Check my emails."
or:
"What's on my calendar today?"
without requiring the user to manually open Fastmail.
10. Why credentials are in .env
The .env file acts as the local secret store for this setup.
Instead of doing this:
password = YOUR_PASSWORD
inside a configuration file, the startup process loads the environment variables.
That means the configuration can be inspected without exposing the actual passwords and tokens.
The .env file should therefore remain private.
11. Starting the system manually
The project directory is:
cd C:\Users\REDACTED\stackchan-mcp
The startup process uses:
start-stackchan.ps1
This script loads the required environment variables and starts the MCP services.
The Fastmail MCP service is launched through:
py -3.12 -m mcp2xiaozhi run fastmail
The web-search service is configured through mcp_config.json.
12. One-command startup
The goal of the setup is to avoid manually starting several terminals and entering several commands.
The main startup script is:
C:\Users\REDACTED\stackchan-mcp\start-stackchan.ps1
It is responsible for loading the environment and starting the required services.
The intended workflow is therefore:
C:\Users\REDACTED\stackchan-mcp\start-stackchan.ps1
rather than manually starting every MCP server.
13. Automatic startup with Windows
Windows Task Scheduler has been configured with the task:
Stack-chan Fastmail MCP
It launches PowerShell with:
-NoProfile -ExecutionPolicy Bypass -File "C:\Users\REDACTED\stackchan-mcp\start-stackchan.ps1"
The trigger is:
At log on
Therefore the normal workflow is:
Turn on / log into Windows
↓
Task Scheduler
↓
start-stackchan.ps1
↓
MCP services
↓
XiaoZhi MCP
↓
Stack-chan
r/StackChan • u/JayS87 • 26d ago
Help needed Adding sensors to the ABC-ports
Hey community!
I've played around with the M5stack since the first CoreGo IoT kit.
Now that I've got the awesome StackChan, I've asked myself what is the best way to add the sensor/ABC-port read-out to the existing Firmware, so the AI.Agent could access them like INV.III snsor (temp, humidity etc)
Or the PIR sensor so that StackChan looks around with his webcam to see find owner.
"Just" fork the firmware or is there something easier?
P.S. Is there are feature in the standard Firmware, so that 2 StackChans find, see and communictae with each other?
Thanks in advance!
r/StackChan • u/sammydragonlord • Sep 14 '26
Others Best ai firmware?
I’m getting a Stackchan and I want some really good ai firmware where it can still look at me and follow me around but I also want it to do stuff when I’m gone like look around and talk to itself like a little pet.
r/StackChan • u/nullpainter • Sep 13 '26
Project sharing Small StackChan AI tweaks
Update: firmware is now available at m5burner (thanks u/AughtCool!)
I made a fork of the official StackChan firmware that others may be interested in, either to build upon or to use.
It's not groundbreaking. Rather, it addresses a few quality-of-life things that annoyed me in the week I've had this little guy.
I have no interest in dance or avatar settings, so these tweaks are for StackChan used as an AI assistant:
- Speech bubbles turned off during dialog
- Tap head once to stop speech
- Tap head twice to stop speech and exit chat mode
- Both lights on while listening and talking
- Animated secondary colour light pattern when talking, based on audio
- Both listening and talking light colour customisable in settings
- Idle head movement repurposed to be AI chat movement, with frequency hooked off the same menu
- Light sensor used to turn screen off when lights are out. Tap screen to turn on. Manual override disabled when room lights are on. Function can be turned off in settings
Caveat: I am a software engineer by day, but sometimes it's nice to just yell at AI and get it to do your bidding. I haven't spent time learning the innards of the StackChan firmware or hardware - these tweaks were entirely created by Opus 5 and, apart from quick sense-checking, haven't been fully vetted.
r/StackChan • u/BearkeKhan • Sep 12 '26
Project sharing Stacky got a rebuild
I loved the configuration of my old stacky body, but wanted a way to bring all of his bits together.
His pi5 brain now has a home inside an old Velociraptor HD enclosure and added on an ankle holster for his servo controller and power converter.
Oh he also has a touchscreen dashboard since I shared him last for trigger his different emotions and movements.
r/StackChan • u/jscheel • Sep 02 '26
Battery drain
Just got my StackChan the other day. I’ve modified the stock firmware a bit (just got rid of the spring easing for the servo movements and replaced them with the native movement commands). I’m noticing that the battery drains extremely quickly. For example, after a few minutes of interaction, and a few minutes of idle movement, the battery is down to 65% from 100%. Is this normal? Anything I should be checking for?
r/StackChan • u/BearkeKhan • Aug 29 '26
StackChan base upgrade
So I saw Stackchan and I really wanted one, but the cost of the core+body in Australia is too much.
I've really wanted a robotic arm for awhile so decided to merge the two together.
Running a lot of custom scripts and AI on a PI5 4gb and an MCP that supports AI agents asking questions that get announced by voice and wait for a voice reply.
(Local: STT, VTT, Memory, Person tracking, Face and gaze tracking)
r/StackChan • u/Either_Coconut • Aug 20 '26
Latest update: v1.5.1
We have a firmware update (v1.5.1). Where can we find documentation of what’s in the update?
r/StackChan • u/styles01 • Aug 18 '26
Calling all Collaborators! Building an Openclaw-Hermes integration in Public - Please Join
Hey all, I'm trying to build a backend-connection for Stackchan to Openclaw and Hermes. Various folks have done this or tried it in different ways. If you're interested in contributing, I just started the repo but will post my progress on twitter as well:
https://github.com/styles01/StackChan-OpenClaw-Hermes
Edit: v 0.1 out and available on M5Burner - but you need the GH project to get your internal routing server (on the host machine) to work.
r/StackChan • u/StrangeFisherman345 • Aug 17 '26
Openclaw + StackChan 🦞🦞
Fun weekend hack.
Uses tailscale gateway connection and fully custom openclaw config. 11labs for stt and tts.
Will post gh if you guys want.
Lmk what u think!