EITWatch: un reloj inteligente ESP32-S3 de código abierto que reconoce gestos de la mano mediante EIT planar

Investigadores de la Universidad Northwestern han presentado EITWatch, un sistema de código abierto de detección de gestos basado en ESP32-S3 que utiliza tomografía de impedancia eléctrica (EIT, por sus siglas en inglés) y cabe en el formato de un reloj inteligente convencional. Se apoya en una placa Seeed Studio XIAO ESP32-S3 y en ocho electrodos situados en la parte trasera de la carcasa para detectar los gestos de la mano a través de los cambios de impedancia provocados por el movimiento de los músculos y tendones bajo la piel.

A diferencia de otros sistemas EIT de muñeca que emplean bandas de electrodos circunferenciales, EITWatch coloca los ocho electrodos en la parte trasera de la caja del reloj. La zona de detección consiste en un anillo de electrodos de 31 mm que cabe en una caja de reloj estándar de 40 mm, mientras que una extensión de PCB de 20 mm aloja el front-end analógico discreto (AFE).


EITWatch

Especificaciones de hardware de EITWatch:

  • Placa inalámbrica – XIAO ESP32-S3
    • SoC – Espressif ESP32-S3R8
      • CPU – Microcontrolador Tensilica LX7 de doble núcleo a hasta 240 MHz con instrucciones vectoriales para aceleración de IA
      • Memoria – 512 KB de SRAM y 8 MB de PSRAM
      • Inalámbrico – Conectividad Wi-Fi 4 y Bluetooth 5.0 de doble modo (clásico + BLE)
    • Almacenamiento – 8 MB de flash SPI
    • Antenas – Antena externa u.FL para Wi-Fi y Bluetooth
    • USB – USB tipo C para alimentación y programación
  • Superficie de detección – 8 electrodos de disco de acero inoxidable bañados en oro de 2 mm de diámetro
  • Disposición de los electrodos – Distribuidos en un anillo de 31 mm de diámetro, con una separación entre electrodos adyacentes de ~11,9 mm
  • Front-end analógico (AFE)
    • Excitación – Generador de formas de onda AD5930 que emite una sinusoide de 50 kHz
    • Etapa de excitación – Conversor tensión-corriente ADA4841 que proporciona ~1 mA pico a pico
    • Detección – Amplificador de instrumentación AD8220 y ADC AD7450 de 12 bits con interfaz SPI
    • Potenciómetros digitales – Circuitos integrados AD5270 para ajustar la corriente de excitación y la ganancia de detección
    • Conmutación – 4 conmutadores matriciales ADG738 de 8 canales para enrutar el par de inyección y detección
  • Alimentación
    • 5 V a través del puerto USB tipo C
    • Batería de 3,7 V y 300 mAh con un consumo de 35 mA, lo que proporciona aproximadamente 8,6 horas de autonomía
    • Regulador TLV73325PDBV de 2,5 V; consumo de 35 mA
  • Dimensiones – 60 x 40 mm (PCB de 6 capas); cabe bajo una caja de reloj estándar de 40 mm

Dado que un conjunto plano de electrodos no puede envolver la muñeca, EITWatch emplea un protocolo de exploración a múltiples profundidades en lugar de la inyección adyacente estándar. Al mantener un electrodo como fuente fija y hacer circular el sumidero negativo por las otras siete posiciones, el dispositivo puede medir distintas profundidades y trayectorias angulares de corriente, realizando 35 mediciones de impedancia por trama a 48 Hz.


Sistema EIT que muestra el conjunto de electrodos, la excitación con señal de CA, la adquisición de datos, las mediciones de contorno y el proceso de reconstrucción de imagen
Sistema EIT que muestra el conjunto de electrodos, la excitación con señal de CA, la adquisición de datos, las mediciones de contorno y el proceso de reconstrucción de imagen

Configuración de detección EIT en la muñeca que muestra el conjunto de electrodos, las capas de hueso y grasa, y los mapas EIT
Configuración de detección EIT en la muñeca que muestra el conjunto de electrodos, las capas de hueso y grasa, y los mapas EIT

Los investigadores indican que el reloj inteligente ESP32-S3 ejecuta una aplicación ESP-IDF (v5.2+) que transmite los datos EIT por Wi-Fi a un PC para su registro y clasificación, alcanzando una precisión del 92,5 % en el reconocimiento de macrogestos mantenidos y del 91,5 % en microgestos como pellizcos y deslizamientos. El artículo también señala que la precisión desciende al repetir las pruebas 48 horas después, hasta el 73,2 % en macrogestos y el 70,4 % en microgestos, y que baja aún más con usuarios nuevos, hasta el 63,1 % y el 55,3 %, respectivamente.

El equipo también probó con éxito un flujo de procesamiento completamente integrado en el dispositivo, utilizando un núcleo del ESP32-S3 para la adquisición de datos y el otro para el preprocesamiento de la señal y la inferencia con ExtraTrees. Esta configuración consume unos 35 mA de forma continua a 4,3 V, lo que equivale a aproximadamente 8,6 horas de autonomía continua con una batería idealizada de 300 mAh.


Ejemplos de macrogestos y microgestos del smartwatch EIT basado en ESP32-S3 con sus correspondientes mapas de señal EIT
El estudio probó seis macrogestos (Six, Gun, Point, Thumb Up, Stretch y Fist) y cinco microgestos (Swipe Left, Swipe Right, Pinch, Splay y Wrist Flip), además de una clase de reposo.

Anteriormente informamos de varios proyectos de relojes inteligentes de código abierto y DIY, como el MutantW V1, el Sensor Watch Pro y el Core 2 Duo, pero ninguno de ellos ofrece reconocimiento de gestos como el EITWatch.

EITWatch es totalmente de código abierto: todos los archivos, incluidos los diseños de PCB de Altium, los archivos Gerber y la lista de materiales (BoM), se publican bajo la licencia CERN-OHL-P-2.0, mientras que el firmware basado en C para el ESP32-S3 está disponible bajo la licencia Apache-2.0. Puedes encontrar todos los recursos en el repositorio de GitHub del proyecto y, para conocer los detalles técnicos a fondo, consulta el sitio web de Xuanyou Liu, quien también ha publicado una demo en vivo en LinkedIn.


Vista general de EITWatch

Traducido del artículo en inglés «EITWatch open-source ESP32-S3 smartwatch implements planar EIT hand gesture recognition» de Debashis Das.