Saltar al contenido / Skip to content
flink;
contacto Laboratorio de ideas

Viendo mi corazón latir

Hace unas semanas me puse a jugar con algo que llevamos encima todo el día y casi nunca miramos: nuestro corazón. Quería verlo. No como un número en la pantalla del reloj, sino como algo vivo, que pulsa.

Cómo funciona

El sensor es una banda Polar H10 de las que se usan para entrenar. Habla Bluetooth Low Energy y publica el ritmo cardiaco en el servicio estándar de frecuencia cardiaca, así que cualquier cosa que sepa BLE lo puede escuchar.

Del otro lado hay una ESP32-C3 SuperMini que busca la banda, se suscribe a esas notificaciones y hace pulsar un anillo de 16 LEDs WS2812 en rojo, con un período de 60.000 / BPM milisegundos. Mientras busca el sensor, el anillo “respira” en cian, tipo reactor de Iron Man, para que se note que está vivo aunque todavía no haya latido que mostrar.

  • ESP32-C3 SuperMini (BLE, Arduino + NimBLE)
  • Anillo WS2812 de 16 LEDs, con el brillo limitado para cuidar la batería
  • LiPo de 1000 mAh y un cargador TP4056 USB-C con protección
  • Una caja impresa en 3D en PLA mate negro

La caja

Son tres piezas: la base, la tapa y el soporte del anillo. Las placas van clipeadas a la tapa con los componentes hacia el techo, cada USB-C asoma por su propia ranura (la ESP32 en un extremo, el cargador en el otro) y la tapa cierra a presión, sin tornillos. El soporte tiene un canal para el anillo y dos garras que abrazan la propia banda H10, así todo queda en el pecho. Se imprime sin soportes.

Arrastra para girarlo: la base con la batería, la tapa abierta con la ESP32-C3 y el cargador clipeados por dentro, y el anillo de LEDs sobre su soporte. Las placas son referencias simplificadas.

Descarga los STL (PLA mate, sin soportes, en la orientación del archivo):

El código

Un solo sketch de Arduino. Placa ESP32C3 Dev Module con USB CDC On Boot activado, y dos librerías: NimBLE-Arduino 2.x y Adafruit NeoPixel. El anillo va al GPIO10.

Lo que aprendí

La placa y el cargador comparten el riel de 5 V, así que hay que desconectar la batería antes de enchufar el USB de la ESP32: si no, el USB puede empujar corriente hacia la batería. Y el brillo del anillo quedó en una fracción del máximo: un anillo de 16 LEDs a fondo se come la batería en nada, y para ver el latido no hace falta encandilar a nadie.

Una aclaración honesta: esto es un juguete para ver una señal del cuerpo, no un dispositivo médico. No diagnostica nada; solo deja ver algo que siempre está ahí. ❤️🤓

Publicado originalmente en Instagram