r/StackChan

Turned my StackChan into a German-speaking smart home assistant. Here's what actually works (and what doesn't).

Got the OpenELAB Kickstarter StackChan a while back. CoreS3-based, two servos, cute little guy. The vision: ditch the Chinese cloud, give it a custom personality, connect it to my Home Assistant setup.

The custom firmware rabbit hole

First I tried building custom firmware (AI_StackChan_Ex with M5Unified 0.2.7). Spent around 9 hours on it. Backlight works fine, but the panel renders nothing. Turns out the OpenELAB Kickstarter variant has a compatibility issue with M5GFX that's still unresolved. Tried the Moddable toolchain path next — ESP-IDF Python environment conflicts killed that too.

After those 9 hours I flashed the stock xiaozhi firmware via M5Burner. Took two minutes. Display worked immediately.

The NVS trick

Stock firmware reads its server URL from an NVS key. You can overwrite just the NVS partition with esptool, point it at your own server, and the device has no idea it's not talking to the original Chinese backend anymore. WiFi credentials get wiped in the process, so you set those up again on-device after flashing.

The backend

Forked an existing open-source StackChan server, containerized it, deployed it to my own VPS. Added a few patches: a set_emotion tool so the LLM can dynamically change the face expression, and a handful of additional tools.

What actually works

  • Full German conversation with a custom personality (female, cheeky, Austrian inflection, max 3 sentences per response, always addresses me by name)
  • Home Assistant control via voice: lights, scenes, sensors, you name it
  • Weather from HA's built-in forecast entity
  • different face expressions that change dynamically based on what the LLM decides to feel
  • Web search for current news and facts (Tavily)
  • Persistent memory across sessions — stored in a JSON file on the server, auto-injected into the system prompt on connect
  • My n8n automation status on demand
  • Accessible from anywhere, not just local network

What doesn't work

The servos. Stock firmware completely ignores motor control frames from the server — display changes, head stays still. Servo movement requires custom firmware, which is blocked by the M5GFX rendering issue. There's an open GitHub issue for it, waiting to see if that goes anywhere.

Wake word is still Chinese. There's no way to change that without custom firmware.

Can't combine function calls with Google Search in the Gemini Live API simultaneously — it's a documented API limitation. That's why I went with Tavily instead of native search grounding.

Overall

The stock firmware path is dramatically underrated. You skip all the toolchain pain, get a stable device, and if you're willing to run your own backend, you have full control over the AI behavior, personality, and integrations. The missing piece is servo animation, and that's a hardware/firmware problem, not a backend problem.

If the M5GFX issue ever gets fixed, custom firmware becomes interesting again. Until then, this setup does everything I actually wanted it to do.

reddit.com
u/Accurate-Pin3422 — 15 hours ago

What accessories/add-ons are people getting?

I just got my StackChan last week and I am curious what accessories/add-ons people are getting or using for theirs and for what?

reddit.com
u/BigDizz34 — 5 days ago

The Dotty Project

The Dotty Project is a full rewrite of the Stackchan firmware which would seem to meet some of the needs people have been asking about here. (Note: this is not my project nor am I affiliated with it.)

>Edit: As the creator in the comments notes, it's a full stack, not just firmware - dashboard, agent routing, and a bit more.

u/secretdark — 8 days ago

StackChan integrated with Home Assistant

Has anyone had success with connecting Stackchan with Home Assistant? I tried following their guide, but it wiped the esp32 and loading the compiled image to the unit didnt do anything, it was still stuck on the default RGB screen. I ideally want it to operate as the normal AI mode with connection locally to the smart home, no MCP connection to the cloud that then talks to my local network. Any tips would be great.

reddit.com
u/Fi3ldm0use — 7 days ago

Stackchan DM

I just got my StackChan and I was wondering is there a way to turn it into a DnD Dungeon Master assistant? Currently looking for a wizard hat for them to wear

reddit.com
u/CrowComprehensive558 — 8 days ago
▲ 8 r/StackChan+1 crossposts

Introducing StackChan-Gotchi

I'm struggling to mount/write to the SDCard, can anyone help?

u/BeardyButler — 9 days ago

So..First Impresions?

I ordered StackChan yesterday,so in the mean time i keep googling and reading about it about all possible stuff we can do to with it.

So those who already have it,can u share your opinion on it so far?

Stuff like:
- What do you like about it
- What do you dislike about it
- What are u using StackChan for
- What are u planning to do with it in future
- Any tips
..
etc.

reddit.com
u/RevMarC2 — 13 days ago

Stackchan M5stickC remote

Hi, I got my stackchan but I did not get the remote with it as I had the spare parts at home. Does anyone know what firmware should be used in the stick?

reddit.com
u/STRobbot — 11 days ago

How do I connect to it via computer

I want to connect via computer.
Like wake it up or ask question via the API.
Also the IP doesnt seem to accept any requests.

Any one idea's?
Perhaps flash with another image?

reddit.com
u/DeDenker020 — 11 days ago

My accent might be a problem, lol

I got two StackChans, so I updated both their names to something other than “Stackchan”. They are now Luna and Terra.

I’m from South Philly. I definitely speak with a regional accent. I didn’t think “Luna” would be a problematic name, but she doesn’t always recognize when I’m addressing her with, “Hey, Luna”. It makes me wonder if my accent is a factor, though I didn’t think that “Luna” has any of the attributes that would be unique to my regional accent.

I do have a workaround, though. If I say, “Hey, StackChan!”, she wakes up and tells me her name is Luna. 🙂

I will have to experiment with Terra, and see if she has any easier of a time recognizing her name. If not, well, at least I know “Hey, StackChan”will get her attention!

Has anyone here run into issues with “Hey, [New Name]!” not being consistently recognized?

reddit.com
u/Either_Coconut — 14 days ago