Cómo hacer un smartwatch: elegir el chip
(ericmigi.com)- 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
- SF32LB52x reference guide: guía de referencia del SF32LB52x
- OpenSiFli: GitHub del SDK open source de SiFli
- Buy Devkit on Taobao: enlace para comprar el kit de desarrollo en Taobao; el de AliExpress se publicará más adelante
1 comentarios
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 me gusta el diseño cuadrado, así que quisiera comprar el modelo de primera generación, pero parece que ya no lo venden
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
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
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
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
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
Todavía no tiene 4G, pero entiendo que hubo reportes de que lo incluirían en los dispositivos del próximo año
Garmin tiene compromisos en otros aspectos, como batería, widgets, calendario y legibilidad de pantalla
Al final, todo son trade-offs
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
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
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
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
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...
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
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
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
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
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
Es ridículamente barato
¿Qué tan usable es el SDK?
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
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
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