DEV Community

ONE WALL AI Publishing
ONE WALL AI Publishing

Posted on

How I Built an AI Assistant on My Wrist for Under $15 Using ESP32 + Claude API

The Idea

What if you could have Claude AI on your wrist — not on a $400 Apple Watch, but on a $4 microcontroller?

I built exactly that: a wrist-mounted AI assistant using an ESP32-S3, a tiny OLED screen, a microphone, and the Claude API. Total parts cost: under $15 USD.

It can:

  • Answer questions via text or voice
  • Translate between 5 languages in real-time
  • Monitor your heart rate and give health insights
  • Run any custom AI behavior via system prompts

The Architecture

The key insight: Claude doesn't run on the chip. The ESP32-S3 handles sensors, WiFi, and display. All AI processing happens in the cloud via API.

You press button → ESP32 records audio
    ↓
Audio → Google Speech-to-Text API → text
    ↓
Text → Claude API → response
    ↓
Response → OLED screen on your wrist
Enter fullscreen mode Exit fullscreen mode

End-to-end latency: 2-5 seconds.

Hardware (Total ~$15)

Part Price
ESP32-S3 DevKitC $4-6
SSD1306 0.96" OLED $1.5-2.5
INMP441 I2S Microphone $1.5-2
3.7V LiPo Battery + TP4056 $2
Dupont wires + breadboard $1

The Core Code

Here's the simplified askClaude() function running on the ESP32:

String askClaude(String question) {
  HTTPClient http;
  http.begin("https://api.anthropic.com/v1/messages");
  http.addHeader("Content-Type", "application/json");
  http.addHeader("x-api-key", CLAUDE_API_KEY);
  http.addHeader("anthropic-version", "2023-06-01");

  StaticJsonDocument<1024> req;
  req["model"] = "claude-3-5-haiku-20241022";
  req["max_tokens"] = 150;
  req["system"] = "You are a wrist AI. Reply in under 50 words.";

  JsonArray msgs = req.createNestedArray("messages");
  JsonObject m = msgs.createNestedObject();
  m["role"] = "user";
  m["content"] = question;

  String body;
  serializeJson(req, body);
  int code = http.POST(body);
  // Parse response and return answer...
}
Enter fullscreen mode Exit fullscreen mode

What I Learned

  1. API calls from microcontrollers are totally viable. ESP32's WiFi + HTTPClient library makes HTTPS requests straightforward.

  2. System prompts are your superpower. Change one string and your wearable becomes a translator, health coach, coding assistant, or meditation guide.

  3. I2S microphones beat analog. Digital audio over I2S gives much cleaner input for speech recognition.

  4. Deep sleep is essential. Without it, battery lasts ~4 hours. With esp_deep_sleep_start(), it lasts days.

  5. The OLED screen is the bottleneck. 128x64 pixels means every character counts. Keep Claude's responses short.

Why Not Just Use a Phone?

  • Full control over AI behavior — custom system prompts, any sensor, any workflow
  • Learning experience — you understand APIs, WiFi, sensors, and AI at a hardware level
  • It costs $15 not $400 — and you built it yourself

Want the Full Tutorial?

I wrote a complete 8-chapter guide with all the Arduino code, wiring diagrams, and step-by-step instructions covering voice input, real-time translation (5 languages), and health monitoring with heart rate sensors.

Claude Code on Wearables — Complete ESP32 + Claude API Tutorial


What would you build with an AI wearable? Drop your ideas in the comments!

Top comments (0)