A $5 chip that talks to Claude while you sleep
MimiClaw crams a ReAct AI agent onto an ESP32-S3 with no OS, no runtime, and no cloud dependency beyond the LLM API.

What it does MimiClaw turns a $5 ESP32-S3 dev board into a persistent AI assistant you control via Telegram. It connects to WiFi, runs a ReAct agent loop in pure C, calls tools (web search, cron scheduling, time lookup), and stores memory locally on flash — all while drawing 0.5 W from USB. No Linux. No Node.js. No Raspberry Pi. Just the chip, a WiFi connection, and your API keys.
The interesting bit
The memory system is deliberately low-tech and therefore inspectable: plain text files (SOUL.md, MEMORY.md, HEARTBEAT.md, daily notes) stored on SPIFFS. The AI can read its own personality, edit long-term memory, and even schedule its own recurring tasks via a cron tool that persists to cron.json. The “heartbeat” service wakes the agent every 30 minutes to check for unfinished tasks in HEARTBEAT.md, making a $5 microcontroller proactively nag you about your to-do list.
Key highlights
- Pure C on ESP-IDF v5.5+; dual-core scheduling separates network I/O from AI processing
- Runtime-switchable LLM providers: Anthropic Claude or OpenAI GPT via serial CLI commands
- Local SPIFFS storage for memory, chat history, and cron jobs — survives reboots
- Built-in web search (Tavily or Brave), cron scheduler, WebSocket gateway, and OTA updates
- Two-layer config: build-time defaults in
mimi_secrets.h, runtime overrides via UART REPL stored in NVS flash
Caveats
- Requires 16 MB flash / 8 MB PSRAM ESP32-S3 board (~$10, not $5, for the dev kit)
- Two USB-C ports with subtly different functions; flashing the wrong one fails silently-ish
- LLM inference happens in the cloud, not on-device — the chip is purely an agent orchestrator
Verdict
Grab this if you want a hackable, always-on AI assistant that won’t become a Linux server project. Skip it if you need on-device LLM inference or a polished consumer gadget; this is firmware you flash, configure over serial, and debug with heap_info.