L’installation d’un système d’exploitation sur un Raspberry Pi Compute Module est une opération relativement simple. Le défi survient lorsque cette opération doit être répétée des dizaines ou des centaines de fois au cours de la fabrication d’un produit. La société espagnole d’ingénierie blackdevice a rencontré ce goulot d’étranglement et a développé FlashRock, une plateforme matérielle et logicielle capable de préparer jusqu’à sept Compute Modules simultanément dans un même lot, compatible avec Raspberry Pi CM4, CM5 et Radxa Compute Module 3.

Les principales caractéristiques de FlashRock en 20 secondes

  • FlashRock dispose de sept emplacements pour la programmation simultanée de Compute Modules dans un seul processus.
  • Elle est compatible avec Raspberry Pi CM4, Raspberry Pi CM5 et Radxa Compute Module 3.
  • Le logiciel détecte automatiquement les modules insérés et permet de sélectionner l’image du système d’exploitation à y écrire.
  • Les modules sont programmés par paires jusqu’à épuisement du lot.
  • blackdevice utilise cet outil dans ses propres processus de développement, de test et de production.

À l’origine, FlashRock était une solution interne. De nombreux produits développés par blackdevice utilisent des systèmes d’exploitation personnalisés et chaque unité devait être préparée avant intégration dans le produit final.

Faire ce travail module par module était faisable lorsque le volume restreint. Toutefois, à mesure que le nombre d’unités augmentait, l’installation individuelle devenait trop chronophage et introduisait une tâche répétitive dans le processus de fabrication.

La réponse de l’entreprise a été de concevoir son propre système permettant de travailler avec plusieurs modules simultanément.

Sept modules connectés et un seul processus de programmation

La partie hardware de FlashRock comprend sept emplacements dédiés pour Compute Modules, reliés par leurs connecteurs Hirose respectifs.

Actuellement, la plateforme supporte trois familles de modules : Raspberry Pi Compute Module 4 (CM4), Raspberry Pi Compute Module 5 (CM5) et Radxa Compute Module 3 (CM3).

Une fois les modules installés sur la carte, l’opérateur branche l’alimentation et la connexion USB. À partir de ce moment, c’est le logiciel développé pour FlashRock qui prend le relais.

L’application détecte quels modules sont présents et leur position. L’utilisateur peut alors sélectionner ceux qu’il souhaite préparer et choisir l’image du système d’exploitation à y écrire.

FlashRock gère ensuite la séquence de programmation.

D’après blackdevice, les modules sont traités par paires. Lorsqu’une paire est terminée, le système continue avec les autres dispositifs jusqu’à couvrir toutes les positions sélectionnées.

Ce détail signifie que les sept unités ne sont pas forcément écrites simultanément. La plateforme gère le lot et progresse automatiquement, sans que l’opérateur ait à lancer manuellement chaque étape pour chaque Compute Module.

Les voyants LED intégrés à la carte permettent de vérifier rapidement l’état. Lorsqu’un module est programmé avec succès, son indicateur passe au vert.

Le logiciel maintient aussi un état global du lot, confirmant quand tous les modules sont prêts.

La principale différence par rapport à une procédure manuelle réside dans le travail de l’opérateur : au lieu de connecter, programmer, retirer et recommencer un module à la fois, il peut installer plusieurs unités et laisser FlashRock gérer la séquence.

De prototype à ligne de production

Les Compute Modules sont conçus pour intégrer la technologie Raspberry Pi et autres plates-formes ARM dans des produits sur mesure.

Contrairement à une Raspberry Pi classique, un Compute Module concentre processeur, mémoire et autres composants essentiels dans un format prêt à se connecter à une carte porteuse spécifique à chaque application.

Cela explique leur usage fréquent dans les appareils industriels, systèmes embarqués, signalisation numérique, automatisation, robotique et autres équipements pour lesquels une carte de développement standard n’est pas adaptée.

Une fois le produit lancé en production, un autre problème apparaît comparé à celui du prototypage.

Préparer manuellement deux ou trois modules peut encore être raisonnable. Mais à 50, 100 ou plusieurs centaines, cette opération devient une étape critique du processus industriel.

De plus, il ne s’agit pas seulement d’accélérer la procédure.

En production, il est essentiel que toutes les unités reçoivent la même image et suivent un procédé reproductible. Il est aussi important de disposer d’indications claires pour identifier les modules terminés avant de continuer l’assemblage.

C’est pour répondre à ces enjeux que blackdevice a conçu FlashRock.

Cet outil centralise la sélection de l’image, identifie les emplacements occupés, contrôle la programmation et offre une visualisation des résultats.

Une option pour reprogrammer un module

FlashRock n’est pas uniquement destiné aux modules neufs ou en début de production.

La platine intègre un mécanisme permettant de remettre un Compute Module déjà configuré en mode programation pour réécrire sa mémoire.

L’opérateur peut utiliser le bouton de reset dédié, et FlashRock détecte à nouveau le dispositif, permettant d’installer une nouvelle image du système d’exploitation.

Cette capacité permet également d’utiliser l’outil durant développement et tests.

Une équipe d’ingénierie peut avoir besoin de changer fréquemment d’image pour tester différentes versions de logiciel, puis utiliser le même système pour préparer les unités destinées à la production.

C’est aussi utile lorsqu’il faut réinstaller complètement une série de dispositifs avec une nouvelle image plutôt que de faire une mise à jour incrémentielle.

Ainsi, la plateforme vise à maintenir un même procédé durant toutes les phases du cycle de vie du produit.

FlashRock pour préparer aussi les modules du projet Hive

Une utilisation interne de FlashRock concerne un autre projet de blackdevice nommé Hive.

Hive utilise des Raspberry Pi Compute Modules dans des nœuds appelés beenodes. Chacun exécute son propre système d’exploitation et doit être préparé avant d’être intégré dans l’ensemble.

FlashRock facilite le déploiement du système d’exploitation sur plusieurs de ces modules en une seule opération.

Ce cas illustre aussi une situation courante dans l’industrie du hardware : certaines des ressources nécessaires à la fabrication d’un produit deviennent elles-mêmes de véritables projets d’ingénierie.

Une entreprise peut concevoir une carte ou un dispositif, mais doit aussi développer des bancs de tests, des systèmes pour flasher le firmware, des outils de diagnostic ou des mécanismes pour préparer automatiquement ses unités avant envoi.

FlashRock appartient à cette catégorie de solutions.

Il ne fait pas forcément partie du produit final destiné à l’utilisateur, mais intervient dans le processus de fabrication afin d’assurer une production répétable et efficace.

Une solution initiale conçue pour ses propres usages, adaptable à d’autres projets

blackdevice explique que FlashRock a été conçu d’abord pour répondre à ses propres besoins de production, mais pense que le même concept peut être adapté à d’autres projets basés sur des Compute Modules.

L’entreprise a documenté le matériel et le logiciel, et fournit des informations supplémentaires sur différentes configurations possibles.

La compatibilité actuelle couvre les plateformes CM4, CM5 et Radxa CM3, mais toute utilisation avec d’autres modèles nécessiterait une étude spécifique des connexions, du processus de démarrage et des mécanismes de programmation propres à chaque matériel.

FlashRock ne modifie pas le processus d’installation interne de chaque Compute Module : son apport est de regrouper et gérer plusieurs unités via une seule plateforme.

Ce point est crucial.

En développement, une tâche apparemment triviale peut devenir problématique à l’échelle industrielle par simple multiplication. Installer une image une fois demande peu d’attention, mais faire exactement la même opération des centaines de fois nécessite une automation, une gestion de la répétition et une maîtrise des erreurs.

FlashRock illustre concrètement cette évolution : une opération manuelle qui devient une plateforme spécialisée dès que la production s’accroît.

Questions fréquentes

Qu’est-ce que FlashRock ?

FlashRock est une plateforme matérielle et logicielle conçue par blackdevice pour programmer plusieurs Compute Modules dans un même lot. Elle dispose de sept emplacements et automatise le processus d’installation des images.

Quels Compute Modules sont compatibles avec FlashRock ?

Les modèles actuellement supportés sont Raspberry Pi Compute Module 4, Raspberry Pi Compute Module 5 et Radxa Compute Module 3.

FlashRock programme-t-elle sept modules en même temps ?

La plateforme peut gérer jusqu’à sept modules dans un lot. Selon blackdevice, la programmation se fait par paires et le système progresse automatiquement dès qu’une paire est terminée.

Peut-on réinstaller un système d’exploitation avec FlashRock ?

Oui, un module déjà configuré peut être réinitialisé en mode programmation via FlashRock pour recevoir une nouvelle image.

Sources : blackdevice