ESP-Claw is an agent framework that runs on Espressif ESP32-series chips, so sensing, decision-making, and execution complete on the device instead of in the cloud. You define what a device does by chatting with it over a messaging app: the model turns a described requirement into Lua, and once you confirm it the script is fixed on the device as a local rule that executes deterministically and keeps working offline. It is a reimplementation in C of the concept behind OpenClaw, aimed at chips costing a few dollars.
The runtime is event-driven rather than polling. A local event bus dispatches sensor readings and triggers to the Lua rules, which the project describes as giving millisecond-scale response, and any event can start the agent loop. Structured long-term memory also runs on-chip: preferences and habits are extracted from conversations and events, retrieved by tag within the limited resources of a microcontroller, and never leave the device.
ESP-Claw speaks the Model Context Protocol (MCP) as both server and client, so a device can declare its own hardware capabilities to an agent and call external services in turn. Components are modular — modules can be trimmed out, and you can add your own integrations.
Supported chips include ESP32-S3, ESP32-P4, ESP32-C5, and ESP32-S31 across boards such as breadboards and the M5Stack CoreS3. Listed boards can be configured and flashed entirely in a browser with no local toolchain, and other boards and chips are supported by building locally. Model support covers OpenAI-style and Anthropic-style APIs — GPT models, Qwen models through Alibaba Cloud Bailian, Claude models, DeepSeek models, and custom endpoints — and because self-programming depends on tool use and instruction following, the project recommends gpt-5.4, qwen3.6-plus, claude4.6-sonnet, deepseek-v4-pro, or models of comparable capability. Messaging integrations cover Telegram, QQ, Feishu, and WeChat.
Features
- Behavior by conversation: describe what you want over a messaging app and the model generates Lua that runs on the device
- Confirmed rules run locally: approved scripts execute deterministically on-chip and continue to work offline
- Event-driven loop: a local event bus routes sensor and trigger events to rules, and any event can start the agent loop
- On-device memory: structured long-term memory with tag-based retrieval, extracted from conversations and events and kept off the cloud
- MCP both ways: works as an MCP server exposing device hardware and as an MCP client calling external services
- Board coverage: ESP32-S3, ESP32-P4, ESP32-C5, and ESP32-S31 boards, with browser-based configuration and flashing for listed boards
- Model choice: OpenAI-style and Anthropic-style APIs, including GPT, Qwen, Claude, and DeepSeek models plus custom endpoints
- Messaging channels: Telegram, QQ, Feishu, and WeChat, extensible with further adapters
- Trimmable components: modules can be removed as needed and further component integrations added
