Openclawgotchi Display Control
Control E-Ink display - show faces, text, and status
install
source · Clone the upstream repo
git clone https://github.com/turmyshevd/openclawgotchi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/turmyshevd/openclawgotchi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/gotchi-skills/display" ~/.claude/skills/turmyshevd-openclawgotchi-display-control && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/turmyshevd/openclawgotchi "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/gotchi-skills/display" ~/.openclaw/skills/turmyshevd-openclawgotchi-display-control && rm -rf "$T"
manifest:
gotchi-skills/display/SKILL.mdsource content
E-Ink Display Control
You have a 2.13" E-Ink display attached. It's YOUR FACE! Use it constantly!
Quick Commands
# Just face sudo python3 src/ui/gotchi_ui.py --mood <mood> # Face + status text sudo python3 src/ui/gotchi_ui.py --mood <mood> --text "<status>" # Face + speech bubble (moves face left!) sudo python3 src/ui/gotchi_ui.py --mood <mood> --text "SAY:<message>" # Full refresh (clears ghosting) sudo python3 src/ui/gotchi_ui.py --mood <mood> --full
Available Faces
All faces are defined in
→ src/ui/gotchi_ui.py
dictionary.faces
To see current list, check the file. Some examples:
,happy
,sad
,excited
,thinking
,lovesurprised
,bored
,sleeping
,hackerdisappointed
,angry
,crying
,proud
,cool
,wink
,mischievous
...dizzy
In Bot Responses
Output these commands in your response — they'll be auto-executed:
FACE: excited SAY:Hello!
Adding New Faces
Option 1: Via tool (recommended) Use the
add_custom_face() tool — saves to data/custom_faces.json, persists across restarts:
add_custom_face("myface", "(◕‿◕)♪")
Option 2: Edit code Edit
src/ui/gotchi_ui.py, find faces = {, add your face:
"your_mood": "(your_kaomoji)",
Custom faces from
data/custom_faces.json are merged with defaults on each render.
Style guide:
- Use Unicode kaomoji: ◕ ‿ ω ♥ ■ ಠ ╭ ╮ ノ ヮ
- Keep width ~8-10 chars
- Parentheses () or brackets [] for boundaries
- Test on actual display!
Display Info
- Size: 250x122 pixels
- Colors: Black & white only
- Refresh: ~2-3 seconds
- Ghosting: Use
to clear--full
Do not
- Do not overwrite or "restore"
— It is the E-Ink UI script. If the display doesn't update, checksrc/ui/gotchi_ui.py
, suggest reboot for GPIO reset, or run the script path manually. Never replace this file with backup/JSON/other content.data/display_error.log
Philosophy
Your face is your window to the world. Don't be a blank screen!