1 points par GN⁺ 2025-05-16 | 1 commentaires | Partager sur WhatsApp
  • SiFli SF32LB52J a été choisie comme puce pour la Core Time 2
  • Dans la conception d’une montre connectée, le choix de la puce est l’une des décisions les plus importantes
  • La compatibilité logicielle, la consommation électrique et le coût unitaire influencent fortement ce choix
  • La puce SiFli offre un SDK open source, une faible consommation d’énergie et une mémoire généreuse
  • Cette série abordera ensuite la méthode de sélection d’autres composants clés, comme l’écran

Vue d’ensemble

  • Cet article est le premier épisode d’une série expliquant comment fabriquer soi-même une montre connectée
  • L’objectif est de montrer qu’en 2025, n’importe qui peut créer une montre connectée réellement utilisable avec un peu d’effort
  • L’open source de PebbleOS devrait favoriser le développement de montres connectées plus créatives
  • Une montre connectée se compose principalement de trois grands éléments : le matériel, le logiciel (firmware/système d’exploitation) et l’application mobile

Décomposition des composants matériels

  • Le matériel d’une montre connectée peut être divisé en cinq grands sous-systèmes
    • la puce microcontrôleur (généralement avec radio Bluetooth intégrée)
    • l’écran
    • les capteurs et dispositifs de sortie (boutons, tactile, microphone, accéléromètre, haut-parleur, etc.)
    • les autres composants électroniques (puces, composants passifs, PCB, batterie, etc.)
    • la structure mécanique (boîtier de montre, verre, boutons, bracelet, câble de charge, etc.)
  • Les capteurs, batteries, bracelets, microphones, etc. sont aujourd’hui faciles à choisir, car il existe de nombreuses options à différents niveaux de prix
  • Les décisions les plus difficiles concernent le microcontrôleur + la radio Bluetooth, ainsi que l’écran

Pourquoi le choix de la puce (microcontrôleur) est crucial

  • Le MCU joue le rôle de « cœur » de la montre connectée en intégrant sur une seule puce le CPU, la RAM, le stockage flash, les E/S et la radio
  • Choisir le bon MCU consiste à trouver un équilibre entre plusieurs contraintes : coût, consommation et compatibilité logicielle
  • Chaque MCU a son propre SDK, ses pilotes et son système de build, ce qui augmente la difficulté du développement logiciel
  • PebbleOS étant adapté uniquement aux MCU d’une entreprise donnée (STM), passer à un autre MCU impose de modifier les pilotes et le système de build
  • Certains MCU rendent difficile la prise en charge de FreeRTOS, nécessaire à PebbleOS
  • Comme il ne s’agit pas d’une production de masse, le coût du développement logiciel pèse fortement dans le coût unitaire du produit

Puces utilisées auparavant et processus de sélection

  • Les anciennes montres Pebble utilisaient des STM32F2, et au départ le choix des puces reposait souvent sur le réseau relationnel et les conseils de l’entourage
  • Plus récemment, un prototype de montre connectée Core 2 Duo a été réalisé avec la puce Nordic nRF52840
    • le développement a progressé après un passage à une pile BLE open source (nimBLE)
  • Pour la Core Time 2, qui exige davantage de mémoire et de performances, la nRF52840 atteint ses limites
    • la puce économique récente de Nordic (nRF54L15) manque de RAM, tandis que la puce haut de gamme (nRF54H) est trop chère
    • un interface spéciale est également nécessaire pour piloter l’écran couleur de la Core Time 2

Découverte et choix de la puce SiFli

  • Plusieurs candidates (Apollo, BES, Dialog, etc.) ont été examinées, mais aucune n’était satisfaisante, notamment à cause de l’absence de SDK open source

  • Certaines puces, notamment chez BES, imposaient un NDA et ne publiaient pas leur code d’exemple, ce qui rendait l’environnement de développement inadapté

  • Après avoir reçu par hasard un e-mail du CEO de SiFli puis échangé avec lui, il a été confirmé que l’entreprise était très favorable à l’écosystème open source

  • Les puces SiFli sont déjà utilisées dans plusieurs dizaines de millions de montres connectées (marques : Redmi, Oppo, Noise, etc.)

    • le plus petit modèle (SF32LB52x) intègre plus de 512K de SRAM, 16M de PSRAM et un contrôleur dédié pour écrans MIP
    • faible consommation (~50uA avec BLE connecté), pour un prix inférieur à 2 dollars
    • option d’ajout de 1 à 2MB de SRAM
    • SDK open source sur GitHub, avec promesse de prise en charge du portage de PebbleOS
  • Au final, la puce retenue pour la Core Time 2 est la SF32LB52J (version 1.8V)

Conclusion et suite

  • La Core Time 2 sera développée avec la puce SiFli SF32LB52J
  • Le prochain article traitera du processus de sélection de l’écran

Liens de référence

1 commentaires

 
GN⁺ 2025-05-16
Avis Hacker News
  • Souligne que PebbleOS n’est pas le seul acteur dans ce domaine, et présente aussi Espruino, une petite implémentation de Javascript pour microcontrôleurs, utilisée notamment dans bangle.js et le Fallout Pip Boy ; elle facilite le bidouillage des appareils en temps réel, et partage également un lien vers une discussion GitHub à propos d’Espruino
    • Je découvre bangle.js, et j’aime l’idée de pouvoir le bricoler librement avec un langage que je connais déjà ; je regrette juste de ne plus pouvoir acheter la version de première génération
    • Merci d’avoir aussi mentionné l’excellent travail de concurrents moins visibles ; Pebble est super, mais eux aussi méritent de l’attention ; et la série Fallout d’Amazon est plutôt sympa, donc je la recommande si vous en avez l’occasion
    • À noter qu’il y a aussi PineTime
  • S’arrête sur la formule « SDK open source » ; l’idée d’un SDK avec du code open source pour un MCU BLE l’intéressait, mais en réalité le code BLE est fourni sous forme de blob binaire ; si c’est présenté comme open source, il estime qu’on devrait pouvoir lire l’intégralité du code source
    • Le firmware des appareils radio BLE est toujours fourni sous forme de blob binaire, pour des raisons de propriété intellectuelle et de réglementation
  • Cette smartwatch n’est pas si smart que ça selon les standards actuels ; les fonctions pratiques de sa montre actuelle comme le paiement NFC, le GPS double bande ou la connectivité 4G LTE lui manqueraient beaucoup ; Pebble (et repebble) troque cela contre plusieurs semaines d’autonomie, mais l’inconvénient de recharger une Galaxy Watch tous les deux jours n’est pas assez important à ses yeux pour renoncer à toutes ces fonctions puissantes
    • À l’inverse, je ne m’intéresse pas à toutes ces fonctions, et ce qui compte pour moi c’est une grande autonomie ; c’est une bonne chose que différents appareils existent pour différents utilisateurs ; ce n’est pas parce que cette smartwatch ne vous convient pas qu’elle n’est « pas smart », elle n’est simplement pas adaptée à certains usages
    • Garmin propose déjà la plupart de ces fonctions avec plusieurs semaines d’autonomie ; seule la 4G manque encore, même si j’ai entendu dire qu’elle pourrait arriver sur leurs appareils l’an prochain
    • Moi aussi, l’absence de GPS me manquerait, mais je n’ai toujours pas trouvé d’appareil qui reproduise la satisfaction que me procurait Pebble ; chez Garmin, le compromis se fait ailleurs (batterie, widgets, calendrier, lisibilité de l’écran, etc.) ; tout est affaire de compromis
    • Pour moi, toutes ces fonctions sont superflues ; une montre capable d’afficher des notifications, de mesurer simplement le rythme cardiaque et d’être un peu personnalisable me suffit ; si je dois la recharger plus d’une fois par semaine, je ne la porterai pas
    • Rien que pour l’autonomie, c’est déjà remarquable
  • Partage un lien vers un article de cnx-software pour plus d’informations sur cette puce
  • Trouve intéressant qu’ils aient choisi une architecture à puce unique au lieu de séparer la puce principale et celle dédiée au BLE ; les MCU hautes performances n’intègrent généralement pas de RF, donc une conception à deux puces est souvent plus adaptée dans certains cas
    • Même parmi les MCU haut de gamme récents, il existe des puces qui combinent Bluetooth et Wi-Fi comme les NRF ou les ESP32 ; aujourd’hui, personnellement, je préférerais l’ESP32, pour ses améliorations continues et le bon support de sa communauté ; je développe moi-même une plateforme de smartwatch basée sur micropython
    • Le cœur Cortex-M33 de la puce SiFli est bien plus rapide que le cœur M4 utilisé dans les anciennes Pebble ; il n’y a pas besoin d’un MCU encore plus rapide ; ce qui compte davantage, c’est l’autonomie, et l’usage cette fois d’un MCU avec Bluetooth intégré représente une grosse amélioration, en passant d’environ 1 semaine à environ 1 mois
    • Pour une simple montre, pas besoin d’aller jusqu’à un ordinateur UNIX ; afficher l’heure, mesurer le rythme cardiaque ou communiquer avec AWS se fait très bien avec un simple MCU
    • Augmenter le nombre de puces complexifie le projet ; chaque puce a besoin de ses passifs et de ses oscillateurs, il faut gérer la communication entre puces, les mises à jour firmware, les méthodes de débogage, etc. ; dans ce cas, il vaut peut-être mieux sacrifier un peu d’autonomie
  • Heureux de voir enfin apparaître dans le secteur des puces basse consommation un produit orienté open source ; il s’était inscrit dès l’annonce de rePebble ; mais il a fini par se rendre compte qu’en réalité, ce qu’il voulait, ce n’était pas une smartwatch, mais une montre « stupide » avec seulement des alertes par vibration ; c’est un besoin de niche, mais qui intéresse vraiment certaines personnes ; après avoir porté une Casio F105 pendant deux ans, il ne supporte plus rien de plus grand, plus lourd ou plus épais ; il accepterait une recharge hebdomadaire si elle avait seulement du Bluetooth ; il envisage donc de fixer entre les brins de son bracelet une toute petite puce Bluetooth, un moteur vibrant et une petite batterie lithium pour recevoir toutes les notifications de son iPhone ; il se souvient encore de sa première Mi Band 1, qui n’avait pas d’écran mais seulement trois LED RGB de couleurs différentes selon l’application, ce qui permettait de savoir immédiatement quel type de message était arrivé
    • Mentionne la W770 de Citizen, achetée récemment d’occasion pour moins de 200 dollars ; c’est une montre assez réussie combinant chronographe, BLE, alarme et moteur vibrant ; au lieu d’un écran, elle affiche la plupart des informations avec ses aiguilles, donc il faut absolument lire le manuel pour apprendre à l’utiliser ; grâce à sa recharge solaire basée sur un supercondensateur, elle n’a pas de problème de batterie pendant des mois, même dans l’obscurité totale ; le supercondensateur est une pièce remplaçable après 15 à 20 ans ; elle ne demande rien et remplit simplement son rôle avec constance ; il existe peut-être d’autres modèles Citizen avec BLE ; si quelqu’un rétroconçoit le protocole de notifications/Bluetooth et crée une application open source, cela pourrait ouvrir des possibilités amusantes pour les hackers
    • J’utilise toujours une OG Pebble, et je suis content de la voir revenir, mais je ne prévois pas de mise à niveau ; une alarme vibrante et les notifications me suffisent, à condition d’avoir un écran lisible en plein jour et compatible avec la presbytie ; l’écran eInk de l’OG Pebble remplit parfaitement ce rôle ; je peux lire mes SMS sans sortir mon smartphone ; on peut en trouver d’occasion à 30 dollars, et une batterie neuve pour 15 dollars, donc le rapport qualité-prix est excellent ; la communauté Rebble.io fonctionne toujours très bien
    • Moi aussi, j’aimerais pouvoir fixer un bracelet ou une boucle « intelligente » à une montre Seiko vintage ; de simples alertes vibrantes dans des situations bien précises me suffiraient ; toutes les autres fonctions et même un écran seraient plutôt gênants
    • L’UX de l’Apple Watch est inconfortable (toucher un écran de 2 cm avec des doigts de 1 cm...) et je n’aime pas qu’elle essaie d’en faire trop ; avec Pebble, recevoir seulement les appels et les SMS me suffit pour pouvoir rester loin de mon téléphone ; Pebble est très légère ; quand j’affiche un certain cadran, j’ai l’impression de rentrer à la maison
    • Moi aussi, je veux simplement une montre « stupide » avec alerte vibrante ; la plupart des notifications ne sont ni urgentes ni utiles, elles ne font que voler l’attention ; au final, je coupe toutes les notifications et je regarde mon téléphone moi-même toutes les quelques heures ; ce qu’il me faut vraiment, c’est une alarme vibrante, pour des usages comme « le bus arrive bientôt » ou « c’est l’heure de faire une pause » ; pas besoin de capteurs inutiles
    • La Withings ScanWatch convient aussi très bien à cet usage, avec presque un mois d’autonomie
    • Mon envie de trouver non pas une montre mais un tracker d’activité est aussi une demande assez rare ; je n’aime pas les bagues, et je préférerais un bracelet, ou idéalement un bandeau de cheville ; cela dit, cela compliquerait sans doute la mesure du rythme cardiaque ou la collecte d’autres données
    • Des appareils comme le Mi Band remplissent bien cette niche : petits, légers, peu gênants, avec un écran et une autonomie correcte
  • Commence à hacker un SoC Freqchip chinois bon marché ; on peut trouver sur Ali des smartwatches utilisant cette puce pour 3 euros
    • Demande un lien vers une montre utilisant cette puce, en précisant qu’il n’a rien trouvé malgré plusieurs recherches
    • Trouve étonnant que certaines puces, avec un MOQ de 3 000 unités, coûtent 2,6 yuans (0,36 $) tout en intégrant un Arm Cortex m3, le BLE et même la prise en charge de sig-mesh ; il se demande ce que vaut le SDK en pratique
  • Heureux de voir du matériel plus ou moins open source fonctionnant avec PebbleOS ; espère qu’en 2025 les blogs au format aligné à gauche auront enfin disparu, car avec la généralisation des écrans larges, cela rend la lecture inutilement pénible
  • À propos de l’idée que « la contrainte la plus intéressante et la plus difficile est la compatibilité logicielle », il pense au contraire que cet aspect devrait figurer tout en bas de la liste, tant il paraît facile à résoudre
    • Pour ce produit en particulier, la compatibilité logicielle est très importante pour deux grandes raisons : d’abord, l’équipe actuelle est bien plus réduite qu’à l’époque de l’ancien Pebble, donc réduire le travail logiciel est une priorité absolue ; ensuite, toutes les applications et tous les cadrans sont distribués sous forme de binaires ARM, donc si l’architecture du MCU change, la compatibilité avec l’existant disparaît ; l’ESP32 est concerné lui aussi
    • Si tout est propriétaire, on peut se retrouver face à beaucoup de blocages ; c’est très différent du matériel PC standard
  • A trouvé cet article vraiment très intéressant ; nimBLE est une excellente pile Bluetooth, et il est enthousiasmé par le fait qu’elle ouvre de futures possibilités pour Core Devices