finds.dev

tnm/zclaw

Your personal AI assistant at all-in 888KiB (~35KB in app code). Running on an ESP32. GPIO, cron, custom tools, memory, and more.

View on GitHubHomepage ↗

★ 2,197CMITupdated May 2026

// the take

zclaw is a C firmware that turns an ESP32 into an LLM-backed personal assistant with GPIO control, cron scheduling, and persistent memory — all under a 888 KiB binary budget. It talks to Anthropic, OpenAI, OpenRouter, or local Ollama, and surfaces via Telegram or a hosted web relay. Aimed at hardware hackers who want a real AI agent on a $5 chip, not a demo.

The 888 KiB all-in size constraint is enforced by CI (firmware-size-guard.yml), not just aspirational — that's a meaningful engineering commitment. The tool system is genuinely extensible: add a C handler and a registry entry in builtin_tools.def, and the LLM can call it; user_tools.c gives a clean hook for runtime additions without reflashing. The provisioning story is solid — credentials go to NVS, separate from firmware, so you can reflash without re-entering secrets. Host-side test harness (test/host/) lets you run agent and JSON logic tests on your laptop without hardware, which is the right call for embedded C.

The LLM conversation runs over HTTPS on device, so latency per message is high by nature — Telegram polling adds another round trip, and the benchmark tooling exists precisely because this hurts in practice. NVS flash encryption is opt-in (--flash-mode secure), meaning most users will store API keys in cleartext flash, which is a real concern if the device ever leaves your hands. The rate limits (100/hour, 1000/day) are compile-time constants in config.h — changing them requires a reflash, not a config update, which is awkward for tuning. Memory for the LLM context is fixed at compile time too, so long conversations will silently truncate rather than degrade gracefully.

We read the README, the directory tree and a key source file in July 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
2,197
Forks
184
Language
C
License
MIT
Last commit
17 May 2026

// nearby

If zclaw isn't quite it.

All repos →