1 puntos por GN⁺ 2025-05-16 | 1 comentarios | Compartir por WhatsApp
  • Para crear un smartwatch decente en 2025, primero hay que definir la experiencia objetivo y luego hacer que encaje dentro de las limitaciones de MCU, pantalla, batería y software
  • Elegir el chip no es solo comparar rendimiento: es una decisión de diseño de producto donde también entran al mismo tiempo la compatibilidad de software, el consumo de energía y el costo de los componentes
  • Para Core 2 Duo se buscó un port rápido de PebbleOS usando el ya conocido Nordic nRF52840, pero Core Time 2 necesitaba más RAM y más capacidad de procesamiento por su pantalla a color más grande
  • La familia SiFli SF32LB52x ofrece más de 512 KB de SRAM, 16 MB de PSRAM, periféricos para pantallas MIP, cerca de 50 µA de consumo con BLE conectado, un precio menor a 2 dólares y un SDK open source
  • Está previsto que Core Time 2 use el SF32LB52J, una variante de 1.8 V del SF32LB527, como una elección que cumple con los requisitos de energía, costo y pantalla mientras mantiene PebbleOS open source

Diseñar un smartwatch es hacer encajar restricciones

  • Un smartwatch se divide en tres grandes partes
    • El hardware del reloj propiamente dicho
    • El software del reloj, también llamado firmware o sistema operativo
    • La app móvil complementaria para iOS y Android, encargada de enviar notificaciones, descargar watchfaces y más
  • Un smartwatch no es un dispositivo de talla única para todo el mundo, y se espera que el código abierto de PebbleOS permita que cada quien construya el smartwatch que necesita
  • Diseñar electrónica de consumo consiste en definir la experiencia objetivo y luego descomponerla en especificaciones y componentes que permitan implementarla
    • Ejemplo: “un smartwatch que esté siempre encendido, se pueda leer bajo el sol y dure 30 días”
    • Ejemplos de especificaciones: pantalla e-paper, Bluetooth LE, resistencia al agua, precio de venta al público de 150 dólares
    • Ejemplos de componentes: Sharp Memory LCD, batería de polímero de litio de 150 mAh, FreeRTOS

Los cinco sistemas que forman el hardware del reloj

  • El hardware del reloj se divide en cinco sistemas clave
    • El chip microcontrolador, que normalmente también incluye la radio Bluetooth
    • La pantalla
    • Sensores y dispositivos de salida como interruptores táctiles, touch, micrófono, acelerómetro y bocina
    • Otros componentes electrónicos como chips, componentes pasivos, PCB y batería
    • La estructura mecánica, como carcasa, vidrio, botones, correa y cable de carga
  • En los tres últimos sistemas —sensores, batería, correa, carcasa, micrófono y similares— hoy existen buenas opciones en distintos rangos de precio, por lo que es relativamente fácil elegir
  • En el diseño de un smartwatch, las decisiones de componentes más complicadas son la elección del MCU/radio Bluetooth y la pantalla

Las limitaciones de MCU y Bluetooth en la era Pebble

  • En la primera etapa de Pebble se usó un MCU STM32F2
    • inPulse, un producto anterior a Pebble, usaba un LPC2103 con 8 KB de RAM
    • En ese entonces, las especificaciones de los MCU de Pebble rondaban entre 64 y 144 MHz y entre 128 y 256 KB de RAM
  • En esa época los MCU no integraban radio Bluetooth, así que había que añadir un chip aparte como el TI CC2564
  • El MCU es el chip central del smartwatch: un pequeño circuito integrado que reúne CPU, RAM, normalmente almacenamiento flash, periféricos de entrada/salida y a veces también la radio

Por qué elegir el MCU afecta a todo el producto

  • El MCU está en el centro de las restricciones más duras del smartwatch: compatibilidad de software, consumo de energía y costo
  • El software embebido está mucho más fragmentado que los sistemas operativos de computadora y mucho más atado a los requisitos del hardware
    • Linux puede incluir más de 17,000 drivers de dispositivos porque tiene menos restricciones de espacio en disco
    • PebbleOS estaba, en la práctica, hardcodeado para soportar solo MCU de la familia STM
  • Cambiar a un MCU de otra marca implica reescribir drivers de periféricos como I2C, SPI y DMA, adoptar otro SDK y, en algunos casos, cambiar también el sistema de build
    • No son cambios especialmente riesgosos, pero sí requieren tiempo de implementación y pruebas
    • Algunos MCU no soportan FreeRTOS con facilidad
  • Si no se produce a escalas de cientos de miles o millones de unidades, es difícil repartir el costo de la ingeniería de software entre grandes volúmenes de venta, y eso impacta mucho el costo total por reloj
  • Como un smartwatch debe permanecer conectado por Bluetooth al teléfono las 24 horas, el consumo promedio en estado conectado, junto con la pantalla, se convierte en uno de los mayores factores de gasto energético

Los candidatos de chip para Core 2 Duo y Core Time 2

  • Se decidió usar Nordic nRF52840 en Core 2 Duo
    • Aunque es un chip viejo, ya se conocía bien y se consideró que permitiría portar PebbleOS relativamente rápido
    • Al principio se planeaba usar el stack BLE Nordic SoftDevice, pero después se cambió a nimBLE, un stack BLE open source
  • Core Time 2 necesitaba más RAM y más capacidad de procesamiento que el nRF52840
    • La pantalla a color más grande exigía más RAM
    • También se quería dejar margen para nuevas funciones
  • Se quería seguir con Nordic, pero su roadmap de MCU con BLE no encajaba bien con lo necesario
    • El nRF54L15 solo tiene 256 KB de RAM y recién había entrado en producción masiva, así que todavía había pocas experiencias de uso reales
    • La serie 54H, con 1 MB de RAM, cuesta más de 4 o 5 dólares, aproximadamente el doble, y no había una opción con 512 KB de RAM
    • La pantalla MIP de 64 colores del Core Time 2 requería una interfaz especial, y el Pebble de 2015 usaba un FPGA aparte para eso

Por qué se eligió el SiFli SF32LB52J

  • Se revisaron varios candidatos como Apollo, BES y Dialog, pero fue difícil encontrar un chip que encajara exactamente con los requisitos
  • Uno de los principales obstáculos era la falta de un SDK open source
    • Uno de los chips de BES se veía bien, pero ni el SDK ni el código de ejemplo eran públicos: todo estaba detrás de un NDA
    • Como PebbleOS debe ser open source, ese enfoque no servía
  • SiFli ofrece chips Bluetooth pensados para usarse como chip principal de un smartwatch
    • Ya se usan en decenas de millones de smartwatches de marcas como Redmi, Oppo y Noise
    • Incluso el chip más pequeño, SF32LB52x, ofrece más de 512 KB de SRAM y 16 MB de PSRAM
    • Tiene periféricos dedicados para MIP, por lo que no hace falta un FPGA aparte ni chips caros y especializados de interfaz de pantalla como los de Epson
    • Su consumo con BLE conectado es de alrededor de 50 µA y cuesta menos de 2 dólares
    • Si hace falta, también sería posible cambiar a otros chips SiFli con opciones de 1 a 2 MB de SRAM
  • El SDK de SiFli está publicado como open source en OpenSiFli en GitHub, y SiFli también ofreció ayudar con el port de PebbleOS
  • Está previsto que Core Time 2 use el SF32LB52J, una variante de 1.8 V del SF32LB527

Enlaces relacionados de SiFli

1 comentarios

 
GN⁺ 2025-05-16
Opiniones en Hacker News
  • PebbleOS no es el único en este ámbito; también está https://www.espruino.com/, que ejecuta https://banglejs.com/
    Es una implementación ultrapequeña de JavaScript para microcontroladores, así que facilita hackear dispositivos en tiempo real
    Parece que también se usa en el Fallout Pip-Boy y en otros productos de The Wand Company: https://www.thewandcompany.com/fallout-pip-boy/
    Referencia: https://github.com/orgs/espruino/discussions/7577

    • No había oído hablar de Bangle.js, pero me gusta la idea de poder trastear con un lenguaje que ya conozco
      No me gusta el diseño cuadrado, así que quisiera comprar el modelo de primera generación, pero parece que ya no lo venden
    • Está bien dar a conocer también el buen trabajo de competidores menos conocidos
      Pebble también es excelente, pero estos proyectos merecen atención
      Y si tienen oportunidad, también vale la pena ver la serie Fallout de Amazon
    • PineTime también es una referencia útil
  • Dicen que el “SDK es open source”, pero no parece significar que haya un SDK con código open source para el microcontrolador BLE
    Por lo que se ve, el código BLE se entrega como un blob binario
    https://github.com/OpenSiFli/SiFli-SDK/tree/6c82a9b15db49871...
    Eso en sí no es un problema, pero si lo llaman “open source”, estaría bien poder leer el código fuente

    • Es muy probable que el firmware de dispositivos inalámbricos BLE siempre se entregue como blob binario por cuestiones de propiedad intelectual y regulación
  • Este smartwatch no es tan smart según los estándares actuales
    Creo que extrañaría mucho funciones prácticas de mi smartwatch actual, como pagos NFC, rastreo GPS de doble banda y conectividad 4G LTE
    Pebble y rePebble eligieron a cambio una batería que dura semanas, pero no quiero renunciar a funciones tan potentes por la pequeña molestia de cargar mi Galaxy Watch cada dos días

    • En cambio, esas funciones no me importan en absoluto, y una larga duración de batería sí me importa
      Es bueno que existan dispositivos dirigidos a usuarios distintos
      Más que “no ser smart” por estar dirigido a otro tipo de usuario, simplemente es un dispositivo que no se ajusta a mi uso
    • Para mí es lo bastante smart
      No necesito mucho esas funciones; me basta con un reloj que pueda personalizar un poco, reciba notificaciones y haga mediciones básicas de ritmo cardíaco
      Si tengo que cargarlo más de una vez por semana, creo que no lo usaría
    • También se omitió que Garmin ya ofrece la mayoría de estas funciones y muchas más, con una batería que dura semanas
      Todavía no tiene 4G, pero entiendo que hubo reportes de que lo incluirían en los dispositivos del próximo año
    • A mí también me haría falta el GPS, pero todavía no he encontrado un producto que llene bien el hueco que dejó Pebble
      Garmin tiene compromisos en otros aspectos, como batería, widgets, calendario y legibilidad de pantalla
      Al final, todo son trade-offs
    • Solo con ver la duración de la batería, diría que no es así
  • Hay más información sobre el chip aquí:
    https://www.cnx-software.com/2025/05/14/sifli-sf32lb52j-big-...

  • Es interesante que no hayan elegido un diseño de 2 chips, uno para la aplicación principal y otro para BLE
    Los microcontroladores de alto rendimiento normalmente no tienen RF, así que a veces ese diseño tiene sentido

    • Los microcontroladores “premium” de hoy son bastante buenos
      Está la familia NRF, y también productos como ESP32, que integran Bluetooth y Wi-Fi en un solo paquete
      Personalmente, hoy me inclinaría por ESP32; sigue mejorando bien y tiene buen soporte de la comunidad
      Actualmente estoy desarrollando una plataforma de smartwatch basada en MicroPython
    • Cuantos más chips hay, más complejo se vuelve el proyecto
      La lista de materiales ya es un tema, pero además cada chip necesita componentes pasivos auxiliares y osciladores, hay que coordinar la comunicación entre chips, y también hay que diseñar el método de actualización de firmware y el acceso de depuración para ambos lados
      Puede convenir ir por algo más simple, aunque se sacrifique un poco la duración de batería
    • El núcleo Cortex-M33 del chip SiFli probablemente sea mucho más rápido que el núcleo M4 usado por el modelo más rápido de Pebble que llegó al mercado, así que no hace falta un microcontrolador más veloz que este
      En cambio, el aumento de duración de batería es muy bienvenido, y parece que el uso de un microcontrolador Bluetooth integrado esta vez es una de las grandes razones de la mejora de aproximadamente 1 semana de batería a alrededor de 1 mes
    • Es solo un reloj
      No hace falta una computadora UNIX completa para cosas como mostrar la hora, registrar el ritmo cardíaco o enviar una señal a AWS
  • Me da gusto ver que por fin hay intentos de ir hacia el código abierto en la industria de chips de bajo consumo
    En cuanto vi el anuncio de rePebble me inscribí de inmediato, pero después me di cuenta de que en realidad no quiero un smartwatch, sino un reloj simple con alertas por vibración
    Sé que es un gusto minoritario, pero es un nicho con gente bastante entusiasta [0] [1] [2]
    Después de usar un Casio F105 durante los últimos 2 años, es difícil volver a algo más grande, pesado o grueso
    Si tuviera un poco de Bluetooth, aceptaría cargarlo una vez por semana
    Últimamente estoy buscando un chip Bluetooth ultracompacto que pueda accionar un pequeño motor de vibración y recibir todas las notificaciones del iPhone
    Al hacer pruebas, noté que aunque pegara el chip, el motor y una pequeña batería de litio entre las dos correas del F105, apenas se percibía el peso adicional en esa zona
    Todavía recuerdo mi primera Mi Band 1
    Era una fitness band olvidada, sin pantalla y con solo 3 LED RGB; podía mostrar un color específico según la app que enviaba la notificación, así que sabía al instante que un chat azul de Messenger debía responderse de inmediato, o que una notificación amarilla de Google Keep podía ignorarse hasta volver a la computadora
    [0] https://www.reddit.com/r/pebble/comments/9xw2j2/im_looking_f...
    [1] https://www.reddit.com/r/smartwatch/comments/174hq9x/need_a_...
    [2] https://tildes.net/~tech/18nf/smartwatch_primarily_for_notif...

    • Quizá se salga del alcance, pero está el W770 de Citizen
      Hace poco compré uno usado en buen estado por menos de 200 dólares, y es un cronógrafo bastante decente, con BLE, alarmas, motor de vibración y un ecosistema extraño de notificaciones scriptables que parece algo abandonado
      Como reloj, hay que leerse todo el manual para entender sus distintas formas de interfaz, pero tiene sentido considerando que debe mostrar toda la información solo con manecillas y sin pantalla
      Al configurarlo por primera vez puede que haya que sincronizar las manecillas, y al principio me desconcertó bastante
      Usa un sistema solar eficiente con supercapacitor, así que dura meses aunque lo dejes en la oscuridad, y si lo usas, en la práctica no tienes que preocuparte por la batería
      El supercapacitor se puede reemplazar cuando se desgaste, y por otros relojes Citizen parece que duran de forma confiable unos 15 a 20 años
      Me gusta bastante porque es un reloj real, bien hecho, y si quieres puedes ponértelo y olvidarte de él, que seguirá haciendo su trabajo año tras año
      Puede que haya otras opciones de Citizen con BLE
      Si alguien hiciera ingeniería inversa de las notificaciones y del protocolo de comunicación BLE para crear una app complementaria de código abierto, creo que se abrirían posibilidades muy interesantes para la gente con inclinación hacker
    • Todavía uso un OG Pebble, y aunque me alegra saber que va a volver, no tengo planes de actualizar
      Mis requisitos también son simples
      Necesito alarmas por vibración, notificaciones y, sobre todo, una pantalla que se pueda leer bajo sol intenso y que sea cómoda para ojos con presbicia
      La pantalla eInk del OG Pebble encaja perfecto
      También es bueno poder leer mensajes de texto sin sacar el teléfono
      Además, se consigue en eBay por unos 30 dólares, y una batería nueva cuesta unos 15 dólares, así que no es una gran carga
      El trabajo de la comunidad de Rebble.io todavía funciona lo suficientemente bien para mi uso
    • Estoy de acuerdo
      Estuve buscando una correa o hebilla “smart” que pudiera usar con relojes Seiko vintage
      Solo necesito una alerta por vibración cuando ocurra algo muy específico en el teléfono, por ejemplo cuando llama mi esposa
      No necesito todas las funciones ni la pantalla de un smartwatch normal; distrae demasiado
    • Estoy en la misma situación
      La UX del Apple Watch es horrible
      ¿Una pantalla de 2 cm con la punta de un dedo de 1 cm? Intenta hacer demasiadas cosas y tampoco va con mis gustos
      Pebble permite recibir notificaciones de mensajes o llamadas aunque estés lejos del teléfono, y ver lo suficiente como para decidir si responder
      Pebble es bastante ligero, y si le pones esta esfera se sentirá familiar:
      https://store-beta.rebble.io/app/52f0939b1ac7948708001fc9
    • Estoy de acuerdo con querer “un reloj simple con alertas por vibración”
      Las notificaciones casi nunca son sensibles al tiempo
      Hace unos años me di cuenta de que el teléfono no paraba de sonar con notificaciones sin mucha importancia y me quitaba la atención, así que desactivé todas las notificaciones
      Solo reviso cada varias horas y respondo los mensajes que hayan llegado
      Un smartwatch normal me resulta casi inútil, y recibir notificaciones de mensajes en la muñeca es casi una gran disfunción
      Eso sí, me gustaría tener una función para configurar alarmas fácilmente y que la muñeca vibre cuando llegue la hora
      Bastaría con avisos como “sal ahora si quieres tomar el bus” o “ya descansa”
      No necesito más que eso, ni sensores sofisticados
  • Empecé a trastear con un SoC Freqchip chino barato:
    https://github.com/zoobab/FR801xH
    En Ali se podía comprar por 3 euros un smartwatch que usa este chip

    • Vaya, algunos de estos chips cuestan 2.6 yuanes, es decir 0.36 dólares, con pedido mínimo de 3,000 unidades, y además soportan Arm Cortex-M3 y BLE, incluso sig-mesh
      Es ridículamente barato
      ¿Qué tan usable es el SDK?
    • ¿Puedes pasar un enlace a uno de esos relojes?
      Hice dos búsquedas rápidas y no lo encontré
  • Buen artículo, y es genial ver PebbleOS corriendo en cierta medida sobre hardware de código abierto
    Pero, ¿en 2025 todavía tenemos que seguir viendo blogs alineados a la izquierda?
    Las pantallas anchas existen desde hace mucho, y eso solo hace que sea más difícil leer sin necesidad

  • “La restricción más interesante y difícil en realidad es la compatibilidad de software”, dijo, pero probablemente sea la restricción más fácil de sortear
    Yo la pondría más abajo en la lista

    • Hay dos grandes razones por las que la compatibilidad de software es especialmente importante en este producto
      Primero, el equipo actual es claramente más pequeño que el antiguo equipo de Pebble, así que mientras menos trabajo de software haya, mejor
      Segundo, las apps y watchfaces originales para Pebble se distribuían como binarios ARM compilados, así que si se elige un microcontrolador con un conjunto de instrucciones completamente distinto, se pierde la retrocompatibilidad
      Por ejemplo, ESP32 entra en esa categoría, aunque de entrada tampoco habría sido una buena opción
    • Para nada
      Si todo es propietario, te encuentras con muchos callejones sin salida
      Es completamente distinto a casos como el hardware estándar de PC
  • Me gustó este artículo
    nimBLE es un excelente stack de Bluetooth, y creo que abrirá oportunidades interesantes para Core Devices