An ESP32 desktop companion robot, currently getting taught to have opinions — an experiment in giving an LLM a face and a personality.
I wanted something on my desk that felt less like a chatbot window and more like a small creature with opinions. Most AI demos live inside a browser tab — I wanted to see if giving one a face, a body, and a fixed personality changed how it felt to talk to, even though the underlying model was the same one anyone could get from an API.
Stackchan started as an ESP32 board with a small screen for a face, built on an open hardware pattern originally designed for smart-speaker style projects. I wired it up to a language model, gave it a name and a personality brief instead of a generic assistant prompt, and started teaching it to hold opinions instead of hedging every answer.
The ESP32 handles the face — expressions, a bit of movement — while the actual thinking happens through an LLM call. The personality lives in the prompt, not the hardware: consistent opinions, a few running jokes, and instructions to disagree with me occasionally instead of being endlessly agreeable.
Still very much a work in progress. Right now it’s better at holding a consistent personality than at being useful for anything in particular — which is honestly the more interesting problem to me at the moment.