Comment construire une smartwatch : choisir la puce
(ericmigi.com)- Pour concevoir une smartwatch convaincante en 2025, il faut d’abord définir l’expérience visée, puis l’ajuster aux contraintes de MCU, écran, batterie et logiciel
- Le choix de la puce n’est pas une simple comparaison de performances, mais une décision de conception produit où entrent simultanément en jeu la compatibilité logicielle, la consommation électrique et le coût des composants
- Pour la Core 2 Duo, l’objectif était un portage rapide de PebbleOS avec le Nordic nRF52840, déjà bien connu, mais la Core Time 2 avait besoin de plus de RAM et de puissance de traitement à cause de son grand écran couleur
- La famille SiFli SF32LB52x offre plus de 512KB de SRAM, 16MB de PSRAM, des périphériques pour écran MIP, une consommation d’environ 50µA en connexion BLE, un prix inférieur à 2 dollars et un SDK open source
- La Core Time 2 devrait utiliser le SF32LB52J, variante 1,8V du SF32LB527, un choix qui répond aux exigences de consommation, de coût et d’affichage tout en conservant PebbleOS en open source
Concevoir une smartwatch, c’est composer avec des contraintes
- Une smartwatch se divise globalement en trois parties
- le matériel de la montre proprement dit
- le logiciel de la montre, qu’on appelle firmware ou système d’exploitation
- l’application mobile compagnon sur iOS et Android, qui gère l’envoi des notifications, le téléchargement de cadrans, etc.
- Une smartwatch n’est pas un produit universel qui convient à tout le monde, et l’ouverture du code de PebbleOS devrait, on l’espère, permettre à chacun de fabriquer une smartwatch adaptée à ses besoins
- Concevoir un produit électronique grand public consiste à définir une expérience cible, puis à la décomposer en spécifications et en composants réalisables
- Exemple : « une smartwatch toujours allumée, lisible en plein soleil et avec 30 jours d’autonomie »
- Exemples de spécifications : écran e-paper, Bluetooth LE, étanchéité, prix public de 150 dollars
- Exemples de composants : Sharp Memory LCD, batterie lithium-polymère de 150mAh, FreeRTOS
Les cinq systèmes qui composent le matériel d’une montre
- Le matériel d’une montre se répartit en cinq systèmes clés
- la puce microcontrôleur, qui inclut généralement la radio Bluetooth
- l’écran
- les capteurs et dispositifs de sortie comme les interrupteurs tactiles, le tactile, le micro, l’accéléromètre et le haut-parleur
- les autres composants électroniques comme les puces, composants passifs, PCB et batterie
- la structure mécanique comme le boîtier, le verre, les boutons, le bracelet et le câble de charge
- Pour les trois derniers systèmes — capteurs, batterie, bracelet, boîtier, micro, etc. — il existe aujourd’hui beaucoup de bonnes options à différents niveaux de prix, ce qui les rend relativement faciles à choisir
- Dans la conception d’une smartwatch, les décisions de composants les plus délicates concernent le MCU/radio Bluetooth et l’écran
À l’époque de Pebble : contraintes sur le MCU et le Bluetooth
- À l’époque des premières Pebble, le MCU STM32F2 était utilisé
- Le produit antérieur à Pebble, inPulse, utilisait un LPC2103 avec 8KB de RAM
- Les spécifications des MCU de l’époque de Pebble tournaient autour de 64 à 144MHz et de 128 à 256KB de RAM
- À l’époque, les MCU n’intégraient pas de radio Bluetooth, il fallait donc leur adjoindre une puce séparée comme la TI CC2564
- Le MCU est la puce centrale d’une smartwatch : un petit circuit intégré qui regroupe le CPU, la RAM, généralement du stockage flash, des périphériques d’entrée/sortie et parfois même la radio
Pourquoi le choix du MCU influence tout le produit
- Le MCU est au cœur des contraintes les plus serrées d’une smartwatch : compatibilité logicielle, consommation électrique et coût
- Le logiciel embarqué est encore plus fragmenté qu’un système d’exploitation pour ordinateur et reste fortement lié aux exigences matérielles
- Linux peut embarquer plus de 17 000 pilotes de périphériques car il est bien moins limité par l’espace de stockage sur disque
- PebbleOS, en pratique, était quasiment codé en dur pour ne prendre en charge que les MCU de la famille STM
- Passer à un MCU d’une autre marque implique de réécrire les pilotes de périphériques comme I2C, SPI ou DMA, d’adopter un autre SDK et, dans certains cas, de modifier aussi le système de build
- Ce type de changement n’est pas forcément risqué, mais il demande du temps d’implémentation et de test
- Certains MCU ne prennent pas facilement en charge FreeRTOS
- Sans produire à des volumes de plusieurs centaines de milliers ou millions d’unités, il est difficile d’amortir les coûts d’ingénierie logicielle sur les ventes, ce qui pèse fortement sur le coût total par montre
- Une smartwatch devant rester connectée 24h/24 au téléphone en Bluetooth, la consommation moyenne en état de connexion est, avec l’écran, l’un des principaux postes de consommation énergétique
Les puces candidates pour la Core 2 Duo et la Core Time 2
- Pour la Core 2 Duo, le choix s’est porté sur le Nordic nRF52840
- C’est une puce ancienne, mais déjà bien connue, et le portage de PebbleOS pouvait y être réalisé relativement rapidement
- Au départ, l’idée était d’utiliser la pile BLE Nordic SoftDevice, avant de passer ensuite à nimBLE, une pile BLE open source
- La Core Time 2 avait besoin de plus de RAM et de puissance de calcul que le nRF52840
- Son plus grand écran couleur exige davantage de RAM
- Il fallait aussi garder de la marge pour de nouvelles fonctionnalités
- L’idée était de rester chez Nordic, mais la feuille de route de ses MCU BLE ne correspondait pas bien aux besoins
- Le nRF54L15 ne dispose que de 256KB de RAM et n’est entré en production de masse que récemment, avec encore peu de retours d’usage
- La série 54H avec 1MB de RAM coûte plus du double, autour de 4 à 5 dollars ou davantage, et il n’existait pas d’option à 512KB de RAM
- L’écran MIP 64 couleurs de la Core Time 2 demandait une interface spéciale, et la Pebble de 2015 utilisait pour cela un FPGA séparé
Pourquoi le choix s’est porté sur le SiFli SF32LB52J
- Plusieurs candidats ont été étudiés, comme Apollo, BES et Dialog, mais il était difficile de trouver une puce répondant exactement aux exigences
- L’un des plus gros obstacles était l’absence de SDK open source
- Une puce de BES semblait intéressante, mais son SDK et ses exemples de code n’étaient pas publics et tout était protégé par NDA
- Comme PebbleOS doit être open source, cette approche ne convenait pas
- SiFli propose des puces Bluetooth conçues pour servir de puce principale dans une smartwatch
- Elles sont déjà utilisées dans des dizaines de millions de smartwatches de marques comme Redmi, Oppo ou Noise
- Même la plus petite puce, la SF32LB52x, offre plus de 512KB de SRAM et 16MB de PSRAM
- Un périphérique MIP dédié évite d’avoir besoin d’un FPGA séparé ou d’une puce d’interface d’affichage spécialisée et coûteuse comme celles d’Epson
- Sa consommation en connexion BLE est d’environ 50µA et son prix est inférieur à 2 dollars
- Si nécessaire, il sera aussi possible de passer à d’autres puces SiFli avec 1 à 2MB de SRAM
- Le SDK SiFli est publié en open source sur OpenSiFli sur GitHub, et SiFli a également proposé son aide pour le portage de PebbleOS
- La Core Time 2 devrait utiliser le SF32LB52J, variante 1,8V du SF32LB527
Liens SiFli associés
- SF32LB52x reference guide : guide de référence du SF32LB52x
- OpenSiFli : dépôt GitHub du SDK open source de SiFli
- Buy Devkit on Taobao : lien d’achat du kit de développement sur Taobao, avec une disponibilité sur AliExpress prévue plus tard
1 commentaires
Commentaires sur Hacker News
PebbleOS n’est pas seul dans ce domaine : il y a aussi https://www.espruino.com/, qui fait tourner https://banglejs.com/
C’est une implémentation JavaScript minuscule pour microcontrôleurs, ce qui facilite le hack d’appareils en temps réel
Il semble aussi être utilisé dans le Fallout Pip-Boy et dans d’autres produits de The Wand Company : https://www.thewandcompany.com/fallout-pip-boy/
Référence : https://github.com/orgs/espruino/discussions/7577
Je n’aime pas le design carré, donc j’aimerais acheter le modèle de première génération, mais il ne semble plus être en vente
Pebble est excellent, mais ces projets méritent aussi de l’attention
Et si vous en avez l’occasion, la série Fallout d’Amazon vaut aussi le détour
Ils disent que le « SDK est open source », mais cela ne semble pas vouloir dire qu’il existe un SDK avec code open source pour le microcontrôleur BLE
À première vue, le code BLE est fourni sous forme de blob binaire
https://github.com/OpenSiFli/SiFli-SDK/tree/6c82a9b15db49871...
Ce n’est pas un problème en soi, mais si on appelle ça « open source », ce serait bien de pouvoir lire le code source
Cette smartwatch n’est pas très smart selon les standards actuels
Je pense que beaucoup de fonctions pratiques de ma smartwatch actuelle me manqueraient, comme le paiement NFC, le suivi GPS double bande et la connectivité 4G LTE
Pebble et rePebble ont choisi à la place une batterie qui tient plusieurs semaines, mais je n’ai pas envie de renoncer à ces fonctions puissantes pour le petit désagrément de recharger une Galaxy Watch tous les deux jours
C’est une bonne chose qu’il existe des appareils visant des utilisateurs différents
Ce n’est pas tant qu’il n’est « pas smart » parce qu’il cible un autre public ; c’est simplement un appareil qui ne correspond pas à mon usage
Je n’ai pas vraiment besoin de ces fonctions ; il me suffit d’une montre un peu personnalisable, qui reçoit les notifications et mesure simplement la fréquence cardiaque
Si je dois la charger plus d’une fois par semaine, je pense que je ne la porterai pas
Il n’y a pas encore de 4G, mais il me semble avoir lu qu’elle arriverait dans les modèles de l’an prochain
Garmin implique des compromis sur d’autres aspects, comme la batterie, les widgets, le calendrier ou la lisibilité de l’écran
Au final, tout est affaire de compromis
On trouve des informations supplémentaires sur la puce ici :
https://www.cnx-software.com/2025/05/14/sifli-sf32lb52j-big-...
C’est intéressant qu’ils n’aient pas choisi une conception à deux puces, une pour l’application principale et une pour le BLE
Les microcontrôleurs hautes performances n’ont généralement pas de RF, donc ce genre de conception a parfois du sens
Il y a la gamme NRF, et aussi des produits comme l’ESP32, qui intègrent Bluetooth et Wi-Fi dans un seul boîtier
Personnellement, je pencherais aujourd’hui pour l’ESP32 ; il continue de bien s’améliorer et bénéficie d’un bon support de la communauté
Je développe actuellement une plateforme de smartwatch basée sur MicroPython
La nomenclature est un problème, mais chaque puce nécessite aussi des composants passifs auxiliaires et un oscillateur, il faut coordonner la communication entre les puces, et concevoir les mises à jour de firmware ainsi que les méthodes d’accès au débogage pour les deux côtés
Il peut être préférable de rester simple, quitte à sacrifier un peu d’autonomie
En revanche, le gain d’autonomie est très appréciable, et l’utilisation cette fois d’un microcontrôleur Bluetooth intégré semble être une raison majeure du passage d’environ une semaine à environ un mois d’autonomie
Pas besoin d’un ordinateur UNIX complet pour afficher l’heure, enregistrer la fréquence cardiaque ou envoyer un signal à AWS
Dans le secteur des puces basse consommation, je suis content de voir enfin apparaître des tentatives allant dans le sens de l’open source
Dès que l’annonce de rePebble est sortie, je me suis inscrit, mais j’ai fini par réaliser que ce que je voulais n’était pas vraiment une smartwatch, mais une simple montre avec alertes par vibration
Je sais que c’est un goût minoritaire, mais c’est une niche avec des gens assez passionnés [0] [1] [2]
Après avoir porté une Casio F105 pendant ces deux dernières années, il m’est difficile de revenir à quelque chose de plus grand, plus lourd ou plus épais
Si elle gagnait un peu de Bluetooth, je pourrais accepter une recharge une fois par semaine
En ce moment, je cherche une puce Bluetooth minuscule capable de piloter un petit moteur vibrant et de recevoir toutes les notifications de l’iPhone
En testant, je me suis rendu compte que même en fixant une puce, un moteur et une petite batterie lithium entre les deux brins du bracelet de la F105, le léger poids ajouté à cet endroit ne se sentait pas vraiment
Je me souviens encore du premier Mi Band 1 que j’ai utilisé
C’était un bracelet fitness oublié, sans écran, avec seulement 3 LED RGB, et il pouvait afficher une couleur spécifique selon l’application qui envoyait la notification ; je savais donc immédiatement qu’un chat Messenger bleu devait recevoir une réponse tout de suite, ou qu’une notification Google Keep jaune pouvait attendre mon retour à l’ordinateur
[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...
J’en ai acheté une d’occasion en bon état récemment pour moins de 200 dollars ; c’est un chronographe plutôt correct, avec BLE, alarmes, moteur vibrant, et même un étrange écosystème de notifications scriptables qui semble un peu abandonné
Comme montre, il faut lire le manuel jusqu’au bout pour comprendre les différentes façons d’interagir avec elle, mais vu qu’elle doit afficher toutes les informations uniquement avec des aiguilles, sans écran, c’est raisonnable
Au premier réglage, il peut être nécessaire de synchroniser les aiguilles, ce qui m’a pas mal déconcerté au début
Elle fonctionne à l’énergie solaire de manière efficace avec un supercondensateur ; même laissée dans le noir, elle tient plusieurs mois, et si on la porte, la batterie n’est pratiquement plus un sujet
Le supercondensateur peut être remplacé lorsqu’il s’use, et d’après d’autres montres Citizen, il semble tenir environ 15 à 20 ans de façon fiable
C’est une vraie montre bien fabriquée, je l’aime beaucoup, et si on le souhaite on peut la porter puis l’oublier : elle fera son travail année après année
Il existe peut-être d’autres options Citizen avec du BLE
Si quelqu’un rétro-ingénierait les notifications et le protocole de communication BLE pour créer une application compagnon open source, cela ouvrirait des possibilités assez amusantes pour les profils hackers
Mes besoins aussi sont simples
Il me faut une alarme par vibration, des notifications, et surtout un écran lisible en plein soleil et confortable pour mes yeux presbytes
L’écran eInk de la Pebble OG est exactement ce qu’il faut
Pouvoir lire des SMS sans sortir le téléphone est également appréciable
En plus, on en trouve sur eBay pour environ 30 dollars, et une batterie neuve coûte environ 15 dollars, donc ce n’est pas très engageant
Le travail de la communauté Rebble.io fonctionne encore suffisamment bien pour mon usage
Je cherchais un bracelet ou une boucle de montre « intelligente » utilisable avec une montre Seiko vintage
Je veux seulement recevoir une alerte par vibration quand quelque chose de très précis se produit sur mon téléphone, par exemple quand ma femme appelle
Je n’ai pas besoin de toutes les fonctions ni de l’écran d’une smartwatch classique, c’est trop distrayant
L’UX de l’Apple Watch est catastrophique
Un bout de doigt de 1 cm sur un écran de 2 cm, franchement ; elle essaie de faire trop de choses, et ce n’est pas mon goût
La Pebble permet de recevoir des notifications de SMS ou d’appels quand on est loin du téléphone, et d’en voir assez pour décider s’il faut réagir
La Pebble est assez légère, et avec ce watchface elle devrait donner une impression familière :
https://store-beta.rebble.io/app/52f0939b1ac7948708001fc9
Les notifications ne sont généralement pas sensibles au temps
Il y a quelques années, en réalisant que mon téléphone continuait de sonner pour des notifications sans grand intérêt et me volait mon attention, j’ai désactivé toutes les notifications
Je ne vérifie que toutes les quelques heures pour répondre aux messages reçus
Une smartwatch classique ne m’est presque d’aucune utilité, et recevoir des notifications de messages au poignet relève presque d’un sérieux dysfonctionnement
En revanche, ce serait bien de pouvoir régler facilement des alarmes et d’avoir une vibration au poignet au moment venu
Des rappels du type « pars maintenant si tu veux prendre le bus » ou « fais une pause maintenant » suffiraient
Je n’ai besoin de rien de plus, ni de capteurs tape-à-l’œil
J’ai commencé à bricoler avec un SoC Freqchip chinois bon marché :
https://github.com/zoobab/FR801xH
On pouvait acheter sur Ali une smartwatch utilisant cette puce pour 3 euros
C’est vraiment absurdement bon marché
Le SDK est-il utilisable ?
J’ai fait deux recherches rapides et je n’ai pas trouvé
Article intéressant, et c’est chouette de voir PebbleOS tourner sur du hardware open source dans une certaine mesure
Mais est-ce qu’en 2025 il faut encore continuer à voir des blogs alignés à gauche ?
Les écrans larges existent depuis longtemps, et ça rend inutilement la lecture difficile
Il disait que « la contrainte la plus intéressante et la plus difficile est en fait la compatibilité logicielle », mais c’est probablement celle qu’il est le plus facile de contourner
Je la placerais plus loin dans la liste
Premièrement, l’équipe actuelle est nettement plus petite que l’ancienne équipe Pebble, donc moins il y a de travail logiciel, mieux c’est
Deuxièmement, les apps et watchfaces Pebble d’origine étaient distribuées sous forme de binaires ARM compilés ; choisir un microcontrôleur avec un jeu d’instructions complètement différent ferait donc perdre la rétrocompatibilité
Par exemple, l’ESP32 entre dans cette catégorie, même si cela n’aurait sans doute pas été un bon choix au départ
Quand tout est propriétaire, on se retrouve souvent dans des impasses
C’est complètement différent du matériel PC standard, par exemple
J’aime cet article
nimBLE est une excellente pile Bluetooth, et je pense qu’elle ouvrira des perspectives intéressantes pour Core Devices