1 puntos por GN⁺ 2025-05-16 | 1 comentarios | Compartir por WhatsApp
  • Se eligió el SF32LB52J de SiFli como chip para el Core Time 2
  • Una de las decisiones más importantes al diseñar un smartwatch es precisamente la elección del chip
  • La compatibilidad de software, el consumo de energía y el costo unitario influyen mucho en la selección del chip
  • El chip de SiFli ofrece un SDK de código abierto, bajo consumo de energía y memoria abundante
  • En esta serie también se verá más adelante cómo elegir otros componentes clave, como la pantalla

Resumen general

  • Este texto es la primera entrega de una serie sobre cómo construir un smartwatch directamente
  • El objetivo es mostrar que, con un poco de esfuerzo, cualquiera puede crear un smartwatch utilizable hacia 2025
  • Se espera que la liberación como código abierto de PebbleOS impulse el desarrollo de smartwatches más creativos
  • Un smartwatch se compone en gran medida de tres elementos principales: hardware, software (firmware/sistema operativo) y app móvil

Desglose de los componentes de hardware

  • El hardware de un smartwatch puede dividirse en cinco grandes elementos del sistema
    • Chip microcontrolador (por lo general con radio Bluetooth integrada)
    • Pantalla
    • Sensores y dispositivos de salida (botones, táctil, micrófono, acelerómetro, altavoz, etc.)
    • Otros componentes electrónicos (chips, componentes pasivos, PCB, batería, etc.)
    • Estructura mecánica (caja del reloj, cristal, botones, correa, cable de carga, etc.)
  • Sensores, batería, correa, micrófono y otros elementos ya son relativamente fáciles de elegir, porque hay muchas opciones en distintos rangos de precio
  • Las decisiones más difíciles son el microcontrolador + radio Bluetooth y la pantalla

La importancia de elegir el chip (microcontrolador)

  • El MCU actúa como el "corazón" del smartwatch e integra en un solo chip CPU, RAM, almacenamiento flash, I/O y radio
  • Elegir un MCU adecuado implica encontrar un equilibrio entre varias restricciones como costo, energía y compatibilidad de software
  • Cada MCU tiene su propio SDK, drivers y sistema de build, lo que aumenta la dificultad del desarrollo de software
  • PebbleOS estaba adaptado solo a los MCU de una empresa específica (STM), por lo que al cambiar a otro MCU es necesario modificar drivers y sistema de build
  • En algunos MCU es difícil dar soporte a FreeRTOS, que PebbleOS necesita
  • Como no se trata de producción masiva, el costo de desarrollo de software termina teniendo un peso importante en el costo final del producto

Chips usados anteriormente y proceso de selección

  • Los relojes Pebble del pasado usaban STM32F2, y en las primeras etapas muchas veces el chip se elegía con base en relaciones y recomendaciones del entorno
  • Más recientemente se fabricó un prototipo del smartwatch Core 2 Duo usando el chip Nordic nRF52840
    • El desarrollo avanzó tras cambiar a la pila BLE de código abierto (nimBLE)
  • Para el Core Time 2, que requería más memoria y rendimiento, el nRF52840 ya mostraba sus límites
    • El chip económico más reciente de Nordic (nRF54L15) tiene RAM insuficiente, y el chip avanzado (nRF54H) es caro
    • También se necesitaba una interfaz especial para manejar la pantalla a color del Core Time 2

Descubrimiento y elección del chip de SiFli

  • Se revisaron varios candidatos (Apollo, BES, Dialog, etc.), pero ninguno resultó satisfactorio por motivos como la falta de un SDK de código abierto

  • Algunos chips, como los de BES, tenían un entorno de desarrollo inadecuado por temas como NDA y código de ejemplo no público

  • Por casualidad, tras recibir un correo del CEO de SiFli y conversar con él, se confirmó que la empresa apoya activamente el ecosistema de código abierto

  • El chip de SiFli ya se está usando en decenas de millones de smartwatches (marcas: Redmi, Oppo, Noise, etc.)

    • El modelo más pequeño (SF32LB52x) incluye más de 512K de SRAM, 16M de PSRAM y un controlador dedicado para pantallas MIP
    • Bajo consumo de energía (~50uA con BLE conectado), con un precio inferior a 2 dólares
    • Ofrece opciones adicionales de 1~2MB de SRAM
    • Proporciona un SDK de código abierto en GitHub y prometió apoyar el port de PebbleOS
  • Como resultado, el chip elegido para el Core Time 2 fue el SF32LB52J (versión de 1.8V)

Conclusión y próximos pasos

  • El Core Time 2 se desarrollará usando el chip SiFli SF32LB52J
  • En el próximo texto se tratará el proceso de elección de la pantalla

Enlaces de referencia

1 comentarios

 
GN⁺ 2025-05-16
Opiniones de Hacker News
  • Destacan que PebbleOS no es el único actor en este espacio, y también presentan Espruino, una pequeña implementación de JavaScript para microcontroladores, usada en bangle.js y Fallout Pip Boy, que facilita hackear dispositivos en tiempo real; además comparten un enlace a una discusión en GitHub sobre Espruino
    • Es la primera vez que escucho de bangle.js, y me gusta que se pueda trastear libremente con un lenguaje que ya conozco; quería comprar la versión de primera generación, pero me da pena que ya no esté a la venta
    • Gracias por mencionar también el gran trabajo de competidores menos visibles; Pebble es excelente, pero ellos también merecen atención; y además la serie de Amazon de Fallout está bastante entretenida, así que la recomiendo si tienen oportunidad de verla
    • Como referencia, también está PineTime
  • Me fijé en la frase "el SDK es open source"; me interesó la idea de que un MCU BLE venga con un SDK de código abierto, pero en la práctica el código BLE está en forma de binary blob; si lo describen como open source, creo que uno debería poder leer todo el código fuente
    • El firmware de dispositivos de radio BLE siempre se entrega como binary blob por temas de propiedad intelectual y regulación
  • Este smartwatch no es tan smart para los estándares de hoy; extrañaría bastante funciones prácticas como pagos NFC, GPS de doble banda y conectividad 4G LTE que tiene el smartwatch que uso actualmente; Pebble (y repebble) intercambia eso por una batería de varias semanas, pero la incomodidad de cargar un Galaxy Watch cada dos días no es tan grande como para renunciar a todas esas funciones potentes
    • En cambio, a mí no me interesan todas esas funciones y sí me importa una batería de larga duración; está bien que existan distintos dispositivos para distintos usuarios; que este smartwatch no sea para ti no significa que “no sea smart”, sino simplemente que no se ajusta a tus necesidades
    • Garmin ya ofrece la mayoría de esas funciones y batería de varias semanas; solo falta 4G, aunque escuché que podría llegar en dispositivos del próximo año
    • A mí también me pesaría no tener GPS, pero todavía no encuentro un dispositivo que me dé la satisfacción que me daba Pebble; con Garmin hay concesiones en otras áreas (batería, widgets, calendario, legibilidad de pantalla, etc.); todo son trade-offs
    • Para mí todas esas funciones sobran; me basta un reloj que reciba notificaciones, mida el pulso de forma básica y permita algo de personalización; si hay que cargarlo más de una vez por semana, no pienso usarlo
    • Solo por la duración de batería ya destaca bastante
  • Comparten un enlace a un artículo de cnx-software con más información sobre ese chip
  • Me parece interesante que hayan elegido un diseño de un solo chip en vez de separar el chip principal y el de BLE; los MCU de alto rendimiento normalmente no traen RF, así que a veces un diseño de dos chips puede ser más adecuado
    • Incluso entre los MCU modernos de gama alta hay chips como NRF o ESP32 que permiten usar Bluetooth y Wi‑Fi juntos; hoy por hoy, yo personalmente prefiero ESP32 por sus mejoras constantes y el buen soporte de la comunidad; yo también estoy desarrollando una plataforma de smartwatch basada en micropython
    • El núcleo Cortex-M33 del chip SiFli es mucho más rápido que el núcleo M4 que usaba Pebble antes; no hace falta un MCU aún más veloz; de hecho, la batería importa más, y usar ahora un MCU con Bluetooth integrado es una gran mejora porque la autonomía pasa de cerca de 1 semana a cerca de 1 mes
    • Si solo es un reloj, realmente no hace falta llegar a una computadora UNIX; mostrar la hora, medir el pulso y comunicarse con AWS se resuelve de sobra con un MCU sencillo
    • Aumentar la cantidad de chips complica el proyecto; cada chip necesita pasivos y osciladores, hay que coordinar la comunicación entre ellos, las actualizaciones de firmware y los métodos de depuración, así que quizá convenga más sacrificar un poco de batería
  • Qué bueno ver por fin en la industria de chips de bajo consumo un producto con orientación open source; me registré en cuanto vi el anuncio de rePebble; aunque en realidad después me di cuenta de que no quería un smartwatch, sino un reloj “tonto” con solo alertas por vibración; es un nicho con poca demanda, pero con gente muy interesada; después de usar un Casio F105 los últimos dos años, ya no tolero nada más grande, pesado o grueso que eso; si tuviera Bluetooth, estaría dispuesto a cargarlo una vez por semana; por eso últimamente estoy pensando en pegar entre las correas del reloj un chip Bluetooth diminuto, un motor vibrador y una batería de litio pequeña que pueda recibir todas las notificaciones del iPhone; todavía recuerdo cuando usé por primera vez la Mi Band 1: ni siquiera tenía pantalla y, con solo tres LED RGB, mostraba colores distintos según la app, así que era facilísimo saber qué tipo de mensaje había llegado
    • Mencionan un producto llamado W770 de Citizen; hace poco compré uno usado por menos de 200 dólares y es un reloj bastante bueno que combina cronógrafo, BLE, alarma y motor vibrador; en lugar de una pantalla, muestra la mayor parte de la información con las manecillas, así que hay que leer el manual para aprender a usarlo; con carga solar basada en supercapacitor no hay que preocuparse por la batería durante meses, incluso en completa oscuridad; el supercapacitor es una pieza reemplazable después de unos 15 a 20 años; simplemente cumple su función de manera constante sin pedir nada; quizá Citizen tenga otros modelos con BLE; si alguien hace ingeniería inversa del protocolo de notificaciones/Bluetooth y crea una app open source, podría ser muy interesante para hackers
    • Sigo usando un OG Pebble y me emociona que vuelva, pero no planeo hacer upgrade; con alarma por vibración y notificaciones me basta, aunque sí necesito una pantalla visible a plena luz y amigable para la presbicia; la pantalla eInk del OG Pebble cumple perfectamente con eso; puedo revisar mensajes sin sacar el teléfono; se consigue usado por 30 dólares y una batería nueva cuesta unos 15, así que tiene muy buena relación costo-beneficio; además la comunidad de Rebble.io sigue funcionando bastante bien
    • Yo también quisiera poder poner una correa o hebilla “smart” a un reloj Seiko vintage; con que lleguen notificaciones por vibración solo en situaciones muy específicas me basta; cualquier otra función o pantalla más bien estorba
    • La UX del Apple Watch me resulta incómoda (tocar una pantalla de 2 cm con dedos de 1 cm...); tampoco me gusta que intente hacer demasiadas cosas; con Pebble me basta recibir alertas de llamadas o mensajes para poder estar lejos del teléfono; Pebble es extremadamente ligero, y cuando le pongo cierta watch face siento como si volviera a casa
    • Yo también solo quiero un reloj “tonto” con vibración para alertas; la mayoría de las notificaciones rara vez son urgentes y solo terminan robándote concentración sin necesidad; al final apago todas las notificaciones y reviso el teléfono yo mismo cada pocas horas; de hecho, lo único que realmente necesito es una función que me avise alarmas con vibración, para cosas como “se acerca la hora del autobús” o “hora de descansar”; no hacen falta sensores innecesarios
    • Withings ScanWatch también encaja bien para ese uso; la batería dura casi un mes
    • Mi deseo de encontrar un fitness tracker en vez de un reloj también es una demanda bastante rara; no me gustan los anillos y preferiría una pulsera, o idealmente una banda para el tobillo, aunque eso probablemente dificultaría medir el pulso u obtener datos adicionales
    • Dispositivos como Mi Band cubren muy bien ese nicho; son pequeños y ligeros, no molestan, y aun así ofrecen pantalla y una duración de batería decente
  • Empecé a hackear el SoC Freqchip chino de bajo costo; en Ali se pueden conseguir smartwatches hechos con este chip por 3 euros
    • Piden un enlace a un reloj que use ese chip, mencionando que no lograron encontrarlo ni después de varias búsquedas
    • Sorprende que algunos chips cuesten 2.6 yuanes ($0.36) con MOQ de 3,000 unidades e incluyan Arm Cortex m3, BLE y hasta soporte sig-mesh; hay curiosidad por saber qué tan usable es el SDK
  • Da gusto ver hardware algo open source funcionando con PebbleOS; ojalá en 2025 por fin desaparezca el formato de blog alineado a la izquierda; con lo comunes que son las pantallas anchas, es una pena seguir haciendo la lectura más difícil de lo necesario
  • Sobre eso de que “la restricción más interesante y difícil es la compatibilidad de software”, yo más bien pensaría que esta parte debería ir al final de la lista, de tan fácil que parece resolverla
    • Para este producto en particular, la compatibilidad de software es muy importante por dos grandes razones: primero, el equipo actual es mucho más pequeño que en la época del Pebble original, así que reducir el trabajo de software es prioridad máxima; segundo, todas las apps y watch faces se distribuyen como binarios ARM, por lo que si cambia la arquitectura del MCU se pierde la compatibilidad hacia atrás; eso también aplica a ESP32
    • Si todo es propietario, uno puede toparse con muchos puntos muertos; es muy diferente al hardware estándar de PC
  • Me pareció una lectura muy interesante; nimBLE es un stack de Bluetooth excelente y entusiasma el potencial que abre para el desarrollo futuro de Core Devices