shenjingnan

Agentmote — Development skill for Claude Code

Development community

An open BLE hardware platform for ESP32 devices that pair with and control coding agents like Codex and Claude Code.

How to install Agentmote

This entry records only its repository, not the path inside it, so there is no exact command to give. Open shenjingnan/agentmote and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Agentmote does

An open BLE hardware platform for ESP32 devices that pair with and control coding agents like Codex and Claude Code.

Alternatives in Development

  • Happy Coder — by GrocerPublishAgent - Spawn and control multiple Claude Codes in parallel from your phone or desktop 15.7k ★
  • Microsandbox — Open-source self-hosted MicroVM sandboxes with sub-200ms startup, hardware-level isolation via libkrun 5k ★
  • Magnitude — Open source inference server your agent sets up for you 1.5k ★

README

AgentMote

AgentMote is ESP-IDF firmware that turns an ESP32-S3 device into a Codex Micro-compatible BLE controller and native USB microphone. It supports the original four-button breadboard and M5Stack StickS3 from one codebase. StickS3 adds a task-status screen, a two-button gesture system, ES8311 microphone input, and safe local speaker cues.

This is an independent, unofficial compatibility project. See [NOTICE.md](NOTICE.md) before distributing a device or firmware image.

What it does

  • Advertises over BLE as Codex Micro using the compatible vendor HID report.
  • Uses Just Works bonding and reconnects after a host disconnects.
  • Maps GPIO47, GPIO0, GPIO39, and GPIO40 to the core Codex voice workflow.
  • Answers the host RPC methods used for version, status, lighting, and focused application synchronization.
  • Exposes a portable semantic control API for Codex actions, joystick, battery, connection, and host events.
  • Uses a bounded 4096-byte receive buffer and validates report fragment sizes.
  • Captures an INMP441 over I2S and enumerates the ESP32-S3 native USB port as AgentMote Microphone (UAC 2.0, mono, 48 kHz, 16-bit).
  • Keeps microphone audio and Codex controls independent: audio uses USB, while buttons and host RPC continue to use BLE.
  • On StickS3, renders BLE/USB/battery state and all six host Agent task states.
  • Adds semantic Fast, Fork, and Agent 1–6 controls plus a two-button command palette.

ESP32-S3 does not support the Bluetooth Classic headset profiles, and its BLE stack does not expose a standard wireless microphone to macOS. AgentMote therefore uses the native USB/OTG port for reliable, driverless audio.

M5Stack StickS3

StickS3 uses its built-in display, ES8311 codec, MEMS microphone, speaker, 250 mAh battery, and buttons on GPIO11 and GPIO12. No external wiring is needed. The power/reset button retains the M5PM1 factory behavior.

Home-screen controls:

Input Action
Key1 single click Send
Key