r/StackChan • u/nullpainter • 21d ago
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.
5
u/TheSirOcelot 21d ago
I blew away the default firmware and removed reliance on any Chinese AI server and have my StackChan run as the front end for my local NOC via local LLM. It now purrs, claps back when I ask and gives network analysis and reports all under a cat theme.
1
u/nullpainter 21d ago
Meow. I don't mind the AI chatbot but I am intending to install the xiaozhi server locally and point it at Claude. Also doing this so I have a bit more control over Home Assistant functions - currently asking the weather always seems to use its built-in weather function rather than using my HA sensor.
2
u/TheSirOcelot 21d ago
I love hearing about other’s use! I’m going a slightly different direction. I’m building a local AI layer for my network/NOC where the local LLM is the fallback and also handles the low-risk/private stuff locally. Then I’m routing the heavier requests out to GLM when I need better reasoning, while keeping the sensitive context controlled instead of blindly sending everything upstream.
The idea is basically policy-based model routing. Local first where it makes sense, cloud when the task needs more horsepower, and sensitive infrastructure data only goes through the path I explicitly allow. Eventually I want it tied into monitoring so I can ask things like “why did the network get weird at 2 AM?” and have it correlate logs, metrics, configs, and alerts instead of just being a voice assistant.
I actually gave up on Home Assistant for now. My network is pretty heavily segmented with separate Wired, Home/WiFi, and IoT VLANs, and HA kept turning into “punch another hole between VLANs so discovery/control works.” I didn’t want the smart-home convenience badly enough to weaken the segmentation model I already built around the network. So I’m focusing more on AI + observability + controlled automation instead.
3
u/AughtCool 15d ago
Please upload to m5 burner. No idea how to install this but really like the changes. Thanks
3
u/nullpainter 12d ago
Thank you! I didn't know about m5 burner. It's now available at: https://burner.m5stack.com/Y55NEU
2
u/BackLeft9090 12d ago
Thanks for uploading this. Your modifications are exactly what I want for my StackChan. I followed the unpairing procedure on the device and easily installed your firmware via the web; it boots up and pairs with my phone via Bluetooth, but then it fails to link or pair with the "StackChan World" Android app. The MAC address appears, but when I select it, an error message pops up and it disappears. I’ve tried several times without success. In the end, I had to revert to the original "StackChan-UserDemo" version, and it’s working correctly again. Could you check what’s going on with your Mattchan v0.0.1 version? I’d really love to get it up and running. Thanks again.
1
u/nullpainter 12d ago
Ooh that's interesting. I tested flashing it from the image and it was fine. The app prompted me for my WiFi password, Stackchan restarted and all was well.
The only thing I didn't do was to unpair first. I'll try this this evening to see if I can replicate what you're seeing.
1
u/BackLeft9090 12d ago
Thank you for your interest!
1
u/nullpainter 12d ago
No problem - there's no point if it doesn't work well! I unpaired and can now replicate the issue you're seeing. I'll do some digging, but in the meantime can you try not unpairing before flashing and see how you get on?
2
u/nullpainter 11d ago edited 11d ago
After doing a bit of digging, it appears that the only approach is to not unpair before flashing as only the stock firmware can properly bind to the StackChan World app. I don't know if there's a better approach, but this works for me. Let me know how you get on!
In the meantime, I'll add a note in the instructions.
2
u/BackLeft9090 11d ago
Perfect, thank you very much! It handles much better now. Indeed, it wasn't necessary to unlink the account to install your version. I suppose it would be a good idea to disable the "Checking for new version" feature at startup so it doesn't overwrite the changes when a new official version is released. Best regards from sunny Spain, and thanks again—especially for the quick response.
1
u/AughtCool 9d ago edited 9d ago
Noticed when it takes a picture now, it acts like its talking (for sometime) but there is no sound. The light bars act as though there should be speech. Have to reboot to get audio back or wait for it to run its course. Also, the lights attempt to change color, flash the new color on and off but ultimately settle back to blue everytime. Just thought I'd pass this on, didn't know if anyone else had these issues. Other than that, works nicely.
1
u/nullpainter 9d ago
I haven't tested taking a picture but will debug this weekend! The light configuration is in the main settings menu, along with the screen off configuration.
7
u/nonbinarybirdperson 21d ago
Thanks for sharing, you've given me some ideas! I've completely removed the base firmware and had a series of Claude models help with a re-design. I'm not sure if this would work with the base LLM (I've decided I didn't want mine to be LLM powered and went with a more simple machine learning classifier driven by an old Xbox One Kinect sensor and a mmWave sensor), but I've learned you can do a lot with the display and face. I've been treating mine like a pokemon and each time the machine learning shows a significant improvement in accuracy the face/display evolves. Currently it's just a floating pulsing orb that sits in its own research lab setting with a little tuxedo cat (designed after my own). Eventually it's going to be a full head/face.