1 points par GN⁺ 2025-05-16 | 1 commentaires | Partager sur WhatsApp
  • 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

1 commentaires

 
GN⁺ 2025-05-16
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’avais jamais entendu parler de Bangle.js, mais l’idée de pouvoir bricoler avec un langage qu’on connaît déjà me plaît
      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
    • C’est bien de mentionner aussi le bon travail de concurrents moins connus
      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
    • PineTime mérite aussi d’être mentionné
  • 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

    • Le firmware des dispositifs radio BLE sera probablement toujours fourni sous forme de blob binaire, à cause des questions de propriété intellectuelle et de réglementation
  • 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

    • À l’inverse, ces fonctions ne comptent absolument pas pour moi, alors qu’une longue autonomie compte
      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
    • Pour moi, elle est suffisamment smart
      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 manque aussi le fait que Garmin propose déjà la plupart de ces fonctions, et davantage encore, tout en offrant une autonomie de plusieurs semaines
      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
    • Le GPS me manquerait aussi, mais je n’ai toujours pas trouvé de produit qui comble vraiment le vide laissé par Pebble
      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
    • Rien que l’autonomie montre que ce n’est pas le cas, à mon avis
  • 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

    • Les microcontrôleurs « haut de gamme » actuels sont plutôt excellents
      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
    • Plus il y a de puces, plus le projet devient complexe
      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
    • Le cœur Cortex-M33 de la puce SiFli sera largement plus rapide que le cœur M4 utilisé par le modèle Pebble le plus rapide jamais sorti, donc il n’y a pas vraiment besoin d’un microcontrôleur plus rapide
      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
    • Ce n’est qu’une montre
      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...

    • C’est peut-être hors périmètre, mais il y a la W770 de Citizen
      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
    • J’utilise toujours une Pebble OG, et même si je suis content d’apprendre son retour, je ne prévois pas de la remplacer
      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
    • D’accord
      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
    • Même situation
      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
    • Je suis d’accord avec l’idée de vouloir « une simple montre avec alertes par vibration »
      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

    • Waouh, certaines de ces puces coûtent 2,6 yuans, soit 0,36 dollar, à partir d’une quantité minimale de commande de 3 000 unités, avec Arm Cortex-M3 et BLE, plus la prise en charge de sig-mesh
      C’est vraiment absurdement bon marché
      Le SDK est-il utilisable ?
    • Tu peux donner un lien vers l’une de ces montres ?
      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

    • Il y a deux grandes raisons pour lesquelles la compatibilité logicielle est particulièrement importante pour ce produit
      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
    • Pas du tout
      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