2026-02-06 13:45:09 +08:00
# MimiClaw: Pocket AI Assitant on $5 chips
2026-02-04 12:37:56 +08:00
2026-02-04 13:32:27 +08:00
<p align="center">
<img src="assets/banner.png" alt="MimiClaw" width="480" />
</p>
2026-02-06 13:45:09 +08:00
**The world's first AI assistant on a $5 chip. No Linux. No Node.js. Just pure C**
2026-02-04 12:37:56 +08:00
2026-02-06 13:45:09 +08:00
MimiClaw turns a tiny ESP32-S3 board into a personal AI assistant. Plug it into USB power, connect to WiFi, and talk to it through Telegram — it handles any task you throw at it and evolves over time with local memory — all on a chip the size of a thumb.
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
## What It Does
2026-02-04 12:37:56 +08:00
2026-02-06 18:55:11 +08:00
- **Ultra-light** — No Linux, no Node.js, no bloat — just pure C
- **Gets work done** — Message it from Telegram, it handles the rest
- **Self-evolving** — Learns from memory, remembers across reboots
- **Always on** — USB power, 0.5 W, runs 24/7
- **$5 total** — One ESP32-S3 board, nothing else
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
## How It Works
2026-02-04 12:37:56 +08:00
```
2026-02-05 19:12:20 +08:00
You (Telegram) ───▶ ESP32-S3 ───▶ Claude AI
│
Memory chip
(your conversations,
personality, notes)
2026-02-04 12:37:56 +08:00
```
2026-02-05 19:12:20 +08:00
You send a message on Telegram. The board picks it up over WiFi, asks Claude for a response (using your stored personality and memory as context), and sends the reply back to Telegram. All your chat history and memories are saved on the board's flash storage as readable text files.
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
## Quick Start
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
### What You Need
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
- An **ESP32-S3 dev board ** with 16 MB flash and 8 MB PSRAM (e.g. Xiaozhi AI board, ~$10)
- A **USB Type-C cable **
- A **Telegram bot token ** — talk to [@BotFather ](https://t.me/BotFather ) on Telegram to create one
- An **Anthropic API key ** — from [console.anthropic.com ](https://console.anthropic.com )
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
### Install
2026-02-04 12:37:56 +08:00
```bash
2026-02-05 19:12:20 +08:00
# You need ESP-IDF installed first:
# https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/get-started/
2026-02-04 12:40:36 +08:00
git clone https://github.com/memovai/mimiclaw.git
2026-02-04 12:37:56 +08:00
cd mimiclaw
2026-02-05 19:12:20 +08:00
idf.py set-target esp32s3
2026-02-04 12:37:56 +08:00
idf.py build
2026-02-05 19:12:20 +08:00
idf.py -p /dev/ttyACM0 flash monitor
2026-02-04 12:37:56 +08:00
```
2026-02-05 19:12:20 +08:00
### Set Up
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
After flashing, a serial console appears. Type these commands:
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
```
mimi> wifi_set YourWiFiName YourWiFiPassword
mimi> set_tg_token 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
mimi> set_api_key sk-ant-api03-xxxxx
mimi> restart
```
That's it. After restart, find your bot on Telegram and start chatting.
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
### More Commands
2026-02-04 12:37:56 +08:00
```
2026-02-05 19:12:20 +08:00
mimi> wifi_status # am I connected?
mimi> set_model claude-sonnet-4-5-20241022 # use a different model
mimi> memory_read # see what the bot remembers
mimi> heap_info # how much RAM is free?
mimi> session_list # list all chat sessions
mimi> session_clear 12345 # wipe a conversation
mimi> restart # reboot
2026-02-04 12:37:56 +08:00
```
2026-02-05 19:12:20 +08:00
## Memory
MimiClaw stores everything as plain text files you can read and edit:
| File | What it is |
|------|------------|
| `SOUL.md` | The bot's personality — edit this to change how it behaves |
| `USER.md` | Info about you — name, preferences, language |
| `MEMORY.md` | Long-term memory — things the bot should always remember |
| `2026-02-05.md` | Daily notes — what happened today |
| `tg_12345.jsonl` | Chat history — your conversation with the bot |
## Also Included
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
- **WebSocket gateway** on port 18789 — connect from your LAN with any WebSocket client
- **OTA updates** — flash new firmware over WiFi, no USB needed
- **Dual-core** — network I/O and AI processing run on separate CPU cores
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
## For Developers
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
Technical details live in the `docs/` folder:
2026-02-04 12:37:56 +08:00
2026-02-05 19:12:20 +08:00
- **[docs/ARCHITECTURE.md ](docs/ARCHITECTURE.md )** — system design, module map, task layout, memory budget, protocols, flash partitions
- **[docs/TODO.md ](docs/TODO.md )** — feature gap tracker and roadmap
2026-02-04 12:37:56 +08:00
## License
MIT
## Acknowledgments
2026-02-06 13:45:09 +08:00
Inspired by [OpenClaw ](https://github.com/openclaw/openclaw ). MimiClaw reimplements the core AI agent architecture for embedded hardware — no Linux, no server, just a $5 chip.