Cómo crear una skill de Claude para ESP32 y e-paper
Antonio Romero


Tres horas peleándome con la IA
Le pedí a Claude Code que me programara el firmware. Y falló. Una y otra vez.
El refresco parcial emborronaba toda la pantalla.
La IA no sabía algo que yo tampoco le había contado. Porque ni yo lo sabía.
El detalle que no está en ningún tutorial
Resulta que muchas placas de e-paper de Waveshare llevan un pequeño circuito de auto-reset en la línea RST. Cuando el ESP32 entra en deep sleep, sus pines GPIO se quedan "al aire", flotando. Y ese pin flotante dispara el circuito escondido de la placa, que reinicia el controlador de la pantalla por su cuenta.
¿La consecuencia? El controlador pierde la imagen que guardaba en su RAM interna, y el siguiente refresco parcial... pantalla corrupta. Sin que tu código tenga un solo error.
Esto no aparece en la documentación de la placa. Lo confirmó el propio autor de la librería GxEPD2 en un hilo del foro de Arduino. Y la solución es retener el pin RST en HIGH durante el sueño con gpio_hold_en() (y liberarlo al despertar con gpio_hold_dis()), usando un pin con capacidad RTC.
Con ese dato, y un ejemplo funcional como referencia, la IA lo resolvió a la primera en cinco minutos.
De apunte suelto a skill: enséñaselo una vez, para siempre
Mi primera reacción fue apuntarlo todo en un archivo de notas para adjuntarlo en futuras conversaciones. Funciona, pero tiene un fallo: depende de que tú te acuerdes de adjuntarlo. El día que no lo hagas, vuelta a empezar.
Ahí es donde entran las skills. Una skill es ese mismo conocimiento, pero empaquetado para que la IA lo cargue sola cuando detecta que el proyecto encaja. La estructura es una carpeta con un archivo SKILL.md que empieza con dos campos:
name: el identificador de la skill.
description: cuándo debe activarse y qué cubre.
Y aquí viene lo que casi nadie cuenta: la pieza clave no es el contenido, es la description. Es lo único que la IA tiene siempre a la vista; el resto solo lo carga si esa descripción le dice que toca. Si escribes una descripción vaga ("guía de pantallas e-paper"), la skill no saltará cuando la necesites. La mía menciona explícitamente las señales de mis proyectos: GxEPD2, refresco parcial, deep sleep, ghosting, pantalla que se emborrona tras dormir, elección de pines… En cuanto un proyecto toque cualquiera de esas cosas, la skill se dispara sin que yo la nombre.
Debajo de esa cabecera va el conocimiento en sí. En mi caso:
La trampa del circuito de auto-reset y su solución (gpio_hold_en / gpio_hold_dis).
Por qué hibernate() corrompe los refrescos parciales y cuándo usar powerOff() en su lugar.
Los 5 strapping pins del ESP32 que nunca debes usar para la pantalla, y un pinout probado.
Cómo identificar el controlador real del panel y elegir la clase GxEPD2 correcta.
Las reglas de setPartialWindow() (los múltiplos de 8 que nadie te avisa).
Una tabla de síntomas → causas para diagnosticar en segundos.
El resultado: cada vez que empiezo un proyecto con e-paper y ESP32, la IA ya sabe todo esto de antemano. No repito la pelea. La aprendí una vez y quedó escrita para siempre.
La moraleja
La IA no sabe lo que no le enseñas. Pero si conviertes lo que aprendes en skills, cada batalla que ganas se queda ganada. Tu experiencia deja de evaporarse entre proyecto y proyecto.
Y lo mejor: las skills se comparten.
Descarga la skill gratis
Te dejo la skill completa para que la uses en tus propios proyectos de e-paper con ESP32. Dentro va todo lo que te he contado, listo para que Claude la cargue automáticamente.
👉 [Descargar skill esp32-epaper-deepsleep — GRATIS]
Como siempre, la tienes también en el canal de Telegram de ArtificialRoot.
¿Tú también has convertido algún aprendizaje en skill?
Todo el mundo comparte skills para programar con inteligencia artificial. Pero nadie te enseña a crear la tuya. Hoy te cuento cómo hice la mía, por qué me ahorró días de frustración, y al final del artículo te la puedes descargar gratis.
El proyecto: un reloj estoico de bajo consumo
La idea era sencilla sobre el papel: un reloj con frases estoicas sobre una pantalla de tinta electrónica de 1.54", manejada por un ESP32. Para que la batería dure semanas, el ESP32 pasa casi toda su vida en deep sleep: despierta un segundo, actualiza el minuto (o la frase), y se vuelve a dormir.
Pantalla e-paper, refresco parcial, deep sleep. Tres cosas que por separado funcionan de maravilla. Juntas… ya te lo puedes imaginar.


