1 puntos por GN⁺ 2024-07-28 | 1 comentarios | Compartir por WhatsApp
  • Recientemente recibí una nueva placa lógica de reemplazo para el Casio F-91W de Sensor Watch
  • El F-91W es uno de los relojes de cuarzo más populares del mundo, con alrededor de 90 millones de unidades vendidas
  • La placa de Sensor Watch reemplaza el movimiento de cuarzo original del F-91W con un nuevo cerebro basado en ARM Cortex M0+
  • Usa la pantalla LCD, los botones y el zumbador piezoeléctrico originales, y la placa es programable
  • El proyecto Sensor Watch ofrece carátulas de reloj fáciles de modificar y pequeñas apps utilitarias
  • No tiene radio Bluetooth, pero su ligero formato de reloj utilitario, la duración de batería de varios meses y la posibilidad de reconfigurarlo en casa son muy potentes
  • En alrededor de una hora, fue posible cambiar la placa lógica y configurar los secretos 2FA de cuentas de Google y Github para consultar en la muñeca los códigos OTP más usados
  • También se pudo escribir una nueva carátula de velocímetro para usarlo como contador de paladas de remo o medidor de cadencia
  • También ofrece un emulador basado en wasm fácil de probar en una computadora

Carátula de reloj TOTP

  • Esta carátula genera contraseñas de un solo uso basadas en tiempo (TOTP) para iniciar sesión de forma segura en sitios populares como Google y Github
  • Al presionar el botón de alarma, se recorren los sitios web o secretos TOTP configurados
  • Soporta varios sitios web o secretos TOTP, y hay que extraer el secreto desde el código QR de TOTP y agregarlo al código fuente

Editar totp_face.c

  • Para quitar la clave de demostración y agregar una clave al final de la lista:
    • aumentar en uno el número en static const uint8_t num_keys = 2;
    • agregar bytes hexadecimales separados por comas en static uint8_t keys[] = {}
    • agregar el tamaño del secreto en static const uint8_t key_sizes[] = {}
    • agregar una entrada 30 en static const uint32_t timesteps[] = {}
    • agregar la etiqueta del secreto en static const char labels[][2] = {}

Escribir una nueva carátula de reloj – velocímetro

  • Todo el código de esta carátula puede encontrarse en el pull request enviado al proyecto principal
  • La implementación está principalmente en una sola función de bucle principal

Manejo de eventos principales

  • Cuando la carátula se activa, muestra "RA"
  • Al presionar el botón MODE, pasa a la siguiente carátula
  • Al presionar el botón LIGHT, enciende la iluminación
  • Al presionar el botón ALARM:
    1. actualiza la velocidad calculada a partir del intervalo desde la pulsación anterior
    2. reinicia el contador de ticks
    3. solicita un período de ticks rápido
  • En cada tick, muestra la velocidad actual o "Hi" si supera 500 por minuto, o "Lo" si es menor a 1 por minuto
  • Incrementa el contador de ticks

Resumen de GN⁺

  • Sensor Watch amplía las funciones del Casio F-91W con carátulas personalizables y apps utilitarias
  • La nueva placa lógica basada en ARM Cortex M0+ es programable y permite agregar varias funciones
  • La carátula TOTP ofrece una forma de iniciar sesión de manera segura en sitios web populares
  • La nueva carátula de velocímetro puede usarse de forma útil como contador de paladas de remo o medidor de cadencia
  • Este proyecto ofrece una oportunidad interesante para ampliar y personalizar las funciones del reloj

1 comentarios

 
GN⁺ 2024-07-28
Comentarios en Hacker News
  • Hay quien se siente incómodo introduciendo la clave secreta de TOTP en una página web

    • En Linux se puede convertir usando las herramientas base32 y od
    • El proyecto está genial, pero el diseño del reloj no convence
  • Este es el tipo de contenido que se espera en HN

  • El F-91W y el A158W tienen la misma forma, y son relojes muy buenos por su precio

    • Casi nunca pasa que la correa te jale los pelos del brazo
    • El A168WGG tiene correa color gris bala y esfera negra
    • El A168 es un poco más grande que el A158
  • El GA-B2100-1AJF es estilizado incluso entre los G-Shock y ofrece muchas funciones

  • La eficiencia de la pantalla del reloj sorprende

    • El primer dígito solo necesita mostrar 0-5
    • El 7 es el único problema
  • Alguien que trabaja en Nixon quiere aplicar este proyecto a un reloj digital de Nixon

  • Tener que recompilar el reloj de pulsera y volver a flashearlo puede limitar el uso de TOTP

  • Hay quien opina que sería bueno que los relojes calculadora de Casio tuvieran una función así

  • Parece que el emulador WASM no emula el easter egg de Casio

  • Alguien usa este proyecto todos los días y ha implementado una nueva interfaz para definir códigos TOTP

    • Añadió una función de calibración de usuario para usarlo como medidor de asma
    • También hay una función de calibración que mejora la precisión del reloj a unos 10 segundos al año
    • La comunidad está creciendo y recientemente incluso hicieron un juego de endless runner
    • Quienes lo mantienen son muy amables
    • Lo recomienda si quieres invertir tiempo en un proyecto de código abierto
  • Hay quien comenta que ojalá funcionara junto con los tokens SecurID

  • Se cuestiona si mostrar TOTP en un reloj es bueno para la seguridad

    • Preocupa perder el reloj o que te lo roben