Claude Mascot ESP32
    Hardware

    Claude Mascot ESP32

    Mascota de Claude impresa en 3D con firmware ESP32. Incluye web dashboard, display TFT ST7789 y visualizador de GPIOs en vivo.

    ESP32
    C++
    3D Printing
    IoT

    ¿Qué es?

    Una mascota de Claude impresa en 3D con un ESP32 dentro y una pantalla TFT donde vive una cara animada. No es una figura de escritorio: es un compañero físico de Claude Code. Cuando Claude Code se queda esperando a que apruebes una herramienta, la mascota lo señala en pantalla y con un aviso sonoro; también muestra el consumo de mi suscripción Claude Max, mide temperatura y humedad, sirve un dashboard web desde el propio microcontrolador y enseña en vivo qué está haciendo cada GPIO.

    ¿Por qué lo hice?

    Trabajo con Claude a diario y quería tenerlo en forma física, pero una figura estática se me quedaba corta. El detonante fue práctico: cuando lanzo tareas largas en Claude Code y cambio de ventana, la petición de permiso se queda esperando sin que me entere. Quería un objeto en la mesa que me avisara. Desde ahí se convirtió en mi banco de pruebas de ESP32 con cara: cada sensor nuevo acaba integrado en la mascota.

    Cómo funciona

    Integración con Claude Code

    • Los hooks de Claude Code (PermissionRequest, PostToolUse, Stop) llaman a endpoints HTTP de la mascota. Al pedir aprobación, la pantalla cambia a "Waiting for approval" con un doble bip; al resolverse, pone ojos felices dos segundos y vuelve a la normalidad.
    • El estado es resistente: duración mínima para que no parpadee, un watchdog de 10 minutos por si se pierde un hook y, si un aviso (recordatorio, reunión) toma la pantalla, la espera se restaura al terminar. Acercar un imán descarta el aviso a mano.
    • Pantalla Claude Usage: dos barras (ventana de 5 h y semanal) con cuenta atrás del reset, leídas desde una Raspberry Pi con la sesión OAuth de Claude Code, sin gastar créditos de API.

    Cara y avisos

    • Ojos con parpadeo aleatorio, medio parpadeo "dormido" y sacadas laterales; 14 expresiones en pixel art (feliz, triste, enfadado, pensando, guiño, mareado...), cada una con su jingle.
    • Avisos que toman la pantalla prestada: recordatorios periódicos (beber agua, levantarse), reuniones de Google Calendar que la Pi sincroniza cada cinco minutos, el tiempo de hoy vía Open-Meteo, pomodoro y cronómetro.
    • Easter egg TOKENS!: el sensor Hall interno del ESP32 detecta un imán y lanza una animación de Pac-Man comiéndose las letras, con sonido de moneda.

    Dashboard y hardware

    • Dashboard en mascot.local: ambiente, memoria y salud del chip, melodías retro (Mario, Tetris, Zelda...), brillo, expresiones y grabación WAV desde el micrófono.
    • Visualizador de GPIOs: los 26 pines del DevKit en vivo, con dirección, nivel, PWM detectado, lectura ADC y función activa.
    • Swarm: un master y hasta ocho ESP32 esclavos descubiertos por mDNS, con OTA desde el dashboard y rollback automático; la cara informa del flasheo.
    • Chat multiagente: la Pi orquesta conversaciones entre agentes Claude (master y esclavos, cada uno con su personalidad) y la mascota pinta sus turnos en la LCD.

    Stack

    CapaTecnología
    MicrocontroladorESP32 DOIT DevKit v1 (ESP-WROOM-32)
    FirmwareC++ con Arduino sobre PlatformIO; tres entornos (master, slave, test de display)
    PantallaTFT ST7789 de 2,25" (284×76) con LovyanGFX
    Sensores y audioBME280 (I²C), amplificador MAX98357A y micrófono MEMS (I²S) con detector de doble palmada, sensor Hall interno
    ServidorWebServer y ESPmDNS del core de Arduino, ArduinoJson, NVS para persistencia
    Raspberry PiPython: proxy FastAPI, sincronización de calendario con systemd, tests con pytest
    CarcasaImpresión 3D

    Estado

    Activo. La mascota está montada en mi mesa y el firmware sigue creciendo. Siguientes pasos:

    • Detección de voz y wake word con el micrófono ya instalado.
    • Que hable: pipeline de TTS desde la API de Claude.
    • Conversación bidireccional: escuchar, transcribir y responder en audio.

    Enlaces

    MakerIsland

    Construyendo tesoros digitales con código

    © 2026 Maker Island · hecho a mano, sin plantillasEl taller