crispyberry db3a8b1202 feat: add sdkconfig defaults, partition table, and global config
16MB flash with custom partitions (2x2MB OTA + 12MB SPIFFS),
PSRAM/WiFi/TLS tuning, and centralized compile-time constants.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:55:12 +08:00
2026-02-04 23:40:18 +08:00
2026-02-04 23:40:18 +08:00

MimiClaw: Pocket AI Assistant with Shareable Memory

MimiClaw

OpenClaw on a $10 device. Local memory. Privacy-first. No OS.

MimiClaw is a minimal reimplementation of OpenClaw's WebSocket gateway control plane, built to run on an ESP32 microcontroller. It replaces the full Node.js stack with bare-metal firmware, bringing personal AI assistant infrastructure to a $10 chip with no operating system required.

Why

OpenClaw is powerful — multi-channel messaging, agent runtime, tool ecosystem — but it assumes a full computer. MimiClaw strips it down to the core gateway and adds local-first memory, so anyone with a $10 ESP32 can run their own AI assistant hub.

  • $10 total cost — ESP32 dev board, nothing else
  • No OS — bare-metal firmware, boots in seconds
  • Local memory — conversations and context stored as Markdown files on SD card / SPIFFS
  • Privacy-first — everything stays on your device, no cloud dependency
  • Cross-platform memory sharing — plug the SD card into any device, your memory travels with you in plain Markdown

Architecture

┌─────────────────────────────────┐
│           ESP32                 │
│                                 │
│  ┌───────────┐  ┌────────────┐  │
│  │ WebSocket │  │  Markdown  │  │
│  │  Gateway  │──│  Memory    │  │
│  │ (Control  │  │  (SPIFFS / │  │
│  │  Plane)   │  │   SD Card) │  │
│  └─────┬─────┘  └────────────┘  │
│        │                        │
│  ┌─────┴─────┐                  │
│  │  Channel   │                 │
│  │  Router    │                 │
│  └─────┬─────┘                  │
└────────┼────────────────────────┘
         │ WiFi
    ┌────┴────┐
    │ Clients │  (CLI / App / Web)
    └─────────┘

Gateway — WebSocket server on the ESP32, handling session coordination, channel routing, and presence tracking (mirrors OpenClaw's localhost:18789 control plane).

Memory — Conversations, context, and agent state persisted as .md files. Human-readable, version-controllable, portable across any device.

Channel Router — Lightweight message routing between connected clients and upstream AI providers.

Getting Started

Hardware

  • ESP32 dev board (ESP32-WROOM-32 or similar)
  • (Optional) MicroSD card module for expanded memory

Build & Flash

# Clone
git clone https://github.com/memovai/mimiclaw.git
cd mimiclaw

# Build with ESP-IDF
idf.py build

# Flash to ESP32
idf.py -p /dev/ttyUSB0 flash monitor

Connect

Once flashed, the ESP32 starts a WebSocket server on its local IP. Connect any OpenClaw-compatible client to ws://<esp32-ip>:18789.

Memory Format

Memory is stored as plain Markdown:

memory/
├── sessions/
│   └── 2025-01-15-chat.md
├── context/
│   └── user-preferences.md
└── agents/
    └── default-agent.md

Each file is human-readable and editable. Copy the memory/ folder to any device to carry your full context with you.

Roadmap

  • Core WebSocket gateway on ESP32
  • SPIFFS-based Markdown memory read/write
  • SD card support for larger memory
  • Basic channel routing (single client)
  • Multi-client session management
  • BLE provisioning for WiFi setup
  • OTA firmware updates

Compared to OpenClaw

OpenClaw MimiClaw
Runtime Node.js ESP32 bare-metal
Cost Full computer ~$10
OS macOS / Linux None
Memory Database Markdown files
Channels 15+ platforms Core gateway
Setup npm install Flash firmware

License

MIT

Acknowledgments

Built on the ideas of OpenClaw. MimiClaw is an independent project that reimplements the gateway control plane for embedded hardware.

Description
No description provided
Readme MIT 2.2 MiB
Languages
C 96.6%
Shell 2.6%
CMake 0.8%