Arduino Portenta X8
⚡ L’essentiel en 60 secondes
- application_processor_linux_side — NXP i.MX 8M Mini (MIMX8M6, "VTKZAA" marking per datasheet) — 4× Arm Cortex-A53 up to 1.8 GHz (32 KB L1-I + 32 KB L1-D per core, 512 KB L2) + 1× Cortex-M4 up to 400 MHz, 14LPC FinFET (NXP product page, Arduino datasheet page). - GPU: 3D GPU (1 shader, OpenGL ES 2.0) + 2D GPU (NXP page). - Video: 1080p60 VP9 (Profile 0/2, 10-bit), HEVC/H.265, AVC/H.264 (BM/MP/HP), VP8 decoders; 1080p60 H.264 + VP8 encoders (NXP page). - Multimedia I/O: 1× MIPI DSI (4-lane), 1× MIPI CSI (4-lane), 5× SAI (12 Tx + 16 Rx I²S lanes), 8-ch PDM in (NXP page, Arduino datasheet page).
- microcontroller_arduino_side — ST STM32H747XI dual core — Cortex-M7 up to 480 MHz (runs Arduino's custom bridge firmware, "normally invisible to the user, able to map all its peripherals as Linux devices") + Cortex-M4 up to 240 MHz (the core you program from the Arduino IDE) (docs.arduino.cc, ST product page). - MCU memory: 2 MB dual-bank flash (read-while-write), 1 MB RAM (192 KB TCM + up to 864 KB user SRAM + 4 KB backup SRAM) (ST page, Arduino datasheet page). - MCU analog/peripherals: 3× ADC, 2× DAC, 2× comparators, RNG, 12+ general-purpose timers (ST page). The datasheet's peripheral table for the X8 lists (M4/Arduino-facing) 3× SPI, 4× PWM outputs, 7× GPIO, 8× ADC inputs with separate VREF (Arduino datasheet page).
- system_memory — 2 GB LPDDR4 DRAM (Nanya NT6AN512T32AV) + 16 GB eMMC (Foresee FEMDRW016G), both attached to the i.MX 8M Mini (Arduino datasheet page).
- wireless — Murata 1DX module (Cypress LBEE5KL1DX combo IC) — Wi-Fi 802.11 b/g/n (65 Mbps max) + Bluetooth 5.1 BR/EDR/LE (Arduino datasheet page).
- ethernet — 1× Gigabit Ethernet MAC (AVB, IEEE 1588, EEE) on the i.MX 8M Mini + onboard 10/100/1000 Ethernet interface with PHY (Arduino datasheet page, Wikipedia).
- usb — USB-C High-Speed with DisplayPort output and Power Delivery support, host and device operation (Arduino datasheet page, Wikipedia); i.MX side has 2× USB 2.0 OTG controllers with integrated PHY (NXP page).
- Sur cette fiche : 9 tutoriels · 10 codes
L’Arduino Portenta X8, identifiée par la référence ABX00049, représente une avancée majeure dans l’écosystème des cartes de développement électroniques en fusionnant pour la première fois l’univers temps réel d’Arduino avec la puissance d’un système d’exploitation Linux complet. Annoncée en mai 2022, cette carte ne doit pas être confondue avec sa sœur, la Portenta H7, qui est dépourvue de la partie Linux. Le concept central de la X8 repose sur une architecture hétérogène hébergeant pas moins de neuf cœurs de calcul au sein d’un module compact de 66,04 sur 25,40 millimètrès. Cette densité de calcul est rendue possible par la cohabitation de deux puces distinctes : un processeur d’application NXP i.MX 8M Mini pour la partie Linux et un microcontrôleur ST STM32H747XI pour la partie Arduino. Il est crucial de comprendre que la X8 n’est pas une carte basée sur un seul SoC (System on Chip) unique, mais une véritable passerelle entre deux mondes informatiques, chacun optimisé pour des tâches spécifiques.
Du côté Linux, le cœur du système est le NXP i.MX 8M Mini, une puce gravée en 14 nm qui intègre quatre cœurs Arm Cortex-A53 cadencés jusqu’à 1,8 GHz ainsi qu’un cœur Cortex-M4 dédié à la gestion temps réel. Cette configuration est épaulée par 2 Go de mémoire vive LPDDR4 et 16 Go de stockage eMMC, offrant des ressources suffisantes pour faire tourner des conteneurs Docker natifs. La carte est livrée avec la distribution Linux microPlatform (LMP) développée par Foundries.io, basée sur Yocto, qui intègre nativement la gestion des conteneurs. Cela signifie que les développeurs peuvent isoler leurs applications dans des environnements conteneurisés, facilitant ainsi les mises à jour à distance (OTA) et la gestion de flottes de dispositifs via le service Arduino Cloud for Business. La connectivité est assurée par un module Murata 1DX offrant le Wi-Fi 802.11 b/g/n et le Bluetooth 5.1, tandis qu’une interface Ethernet Gigabit est disponible, bien que son accès physique nécessite l’utilisation d’un carrier board compatible, comme le Max Carrier, car le module nu ne possède pas de port RJ45.
En parallèle, la partie Arduino est gérée par le microcontrôleur ST STM32H747XI, une puce double cœur composée d’un Cortex-M7 à 480 MHz et d’un Cortex-M4 à 240 MHz. Le cœur M4 est celui que le développeur programme directement via l’IDE Arduino, tandis que le cœur M7 exécute un firmware de pontage personnalisé. Ce firmware, invisible pour l’utilisateur final, expose les périphériques du microcontrôleur (comme les GPIO ou les bus CAN) au système Linux sous forme de périphériques logiciels. Cette architecture permet une communication fluide entre les deux mondes grâce à un pont RPC (Remote Procedure Call) basé sur msgpack. Par exemple, une application Python tournant dans un conteneur Linux peut appeler une fonction C++ exécutée sur le cœur M4, permettant de combiner la puissance de calcul et les bibliothèques modernes de Linux avec la réactivité temps réel et l’accès direct aux capteurs du microcontrôleur. La carte dispose également d’un élément de sécurité matériel NXP SE050C2, certifié Common Criteria EAL 6+, garantissant le stockage sécurisé des clés cryptographiques et l’authentification des appareils.
La connectivité physique de la carte est assurée par un port USB-C supportant la norme Power Delivery et la sortie DisplayPort, ainsi que par deux connecteurs haute densité au format Portenta. Ces connecteurs exposent des interfaces industrielles critiques telles que le PCIe 2.0, le bus CAN, l’audio SAI et les interfaces vidéo MIPI, permettant l’ajout de cartes d’extension (carriers) pour des protocoles spécifiques comme le LoRa, le NB-IoT ou les bus de terrain industriels. L’alimentation peut se faire via l’USB-C ou une entrée VIN de 5 volts, avec une consommation typique variant de 200 mW en mode basse consommation à 2,35 W en charge intensive, pouvant atteindre 4 W au maximum. Il est à noter que pour garantir une alimentation stable en charge maximale, un port USB-C capable de fournir un courant élevé est recommandé. La carte est conçue pour fonctionner dans des environnements industriels, avec une plage de température de fonctionnement allant de -40 °C à +85 °C, bien que des dissipateurs thermiques externes puissent être nécessaires aux extrêmes de cette plage.
Malgré ses capacités impressionnantes, l’utilisation de la Portenta X8 présente certaines complexités que le développeur doit anticiper. La communication entre les deux systèmes repose sur des services logiciels spécifiques, notamment le service m4-proxy sous Linux, dont le dysfonctionnement peut rompre le pont RPC. De plus, le firmware du cœur M7 doit être maintenu à jour séparément du noyau Linux et du cœur Arduino ; une désynchronisation peut entraîner l’indisponibilité des périphériques côté Linux. Des bugs connus subsistent, comme un problème de saturation du bus CAN dans le firmware M7 ou des difficultés occasionnelles avec les ports série sur les cartes d’extension. Enfin, la documentation a évolué, les anciens dépôts étant obsolètes, ce qui impose de se référer exclusivement aux ressources actuelles sur docs.arduino.cc. Avec un prix de vente officiel de 223 euros, la Portenta X8 s’adresse aux professionnels et aux makers avancés cherchant à créer des passerelles IoT industrielles robustes, capables de gérer à la fois le temps réel critique et le traitement de données complexe, le tout dans un format ultra-compact.



Schéma de brochage (pinout)

| Attr | Specs | vérifié |
|---|---|---|
application_processor_linux_side | NXP i.MX 8M Mini (MIMX8M6, "VTKZAA" marking per datasheet) — 4× Arm Cortex-A53 up to 1.8 GHz (32 KB L1-I + 32 KB L1-D per core, 512 KB L2) + 1× Cortex-M4 up to 400 MHz, 14LPC FinFET (NXP product page, Arduino datasheet page). - GPU: 3D GPU (1 shader, OpenGL ES 2.0) + 2D GPU (NXP page). - Video: 1080p60 VP9 (Profile 0/2, 10-bit), HEVC/H.265, AVC/H.264 (BM/MP/HP), VP8 decoders; 1080p60 H.264 + VP8 encoders (NXP page). - Multimedia I/O: 1× MIPI DSI (4-lane), 1× MIPI CSI (4-lane), 5× SAI (12 Tx + 16 Rx I²S lanes), 8-ch PDM in (NXP page, Arduino datasheet page). | ✔ |
microcontroller_arduino_side | ST STM32H747XI dual core — Cortex-M7 up to 480 MHz (runs Arduino's custom bridge firmware, "normally invisible to the user, able to map all its peripherals as Linux devices") + Cortex-M4 up to 240 MHz (the core you program from the Arduino IDE) (docs.arduino.cc, ST product page). - MCU memory: 2 MB dual-bank flash (read-while-write), 1 MB RAM (192 KB TCM + up to 864 KB user SRAM + 4 KB backup SRAM) (ST page, Arduino datasheet page). - MCU analog/peripherals: 3× ADC, 2× DAC, 2× comparators, RNG, 12+ general-purpose timers (ST page). The datasheet's peripheral table for the X8 lists (M4/Arduino-facing) 3× SPI, 4× PWM outputs, 7× GPIO, 8× ADC inputs with separate VREF (Arduino datasheet page). | ✔ |
system_memory | 2 GB LPDDR4 DRAM (Nanya NT6AN512T32AV) + 16 GB eMMC (Foresee FEMDRW016G), both attached to the i.MX 8M Mini (Arduino datasheet page). | ✔ |
wireless | Murata 1DX module (Cypress LBEE5KL1DX combo IC) — Wi-Fi 802.11 b/g/n (65 Mbps max) + Bluetooth 5.1 BR/EDR/LE (Arduino datasheet page). | ✔ |
ethernet | 1× Gigabit Ethernet MAC (AVB, IEEE 1588, EEE) on the i.MX 8M Mini + onboard 10/100/1000 Ethernet interface with PHY (Arduino datasheet page, Wikipedia). | ✔ |
usb | USB-C High-Speed with DisplayPort output and Power Delivery support, host and device operation (Arduino datasheet page, Wikipedia); i.MX side has 2× USB 2.0 OTG controllers with integrated PHY (NXP page). | ✔ |
expansion | two high-density 0.5 mm board-to-board connectors (Portenta form factor) exposing PCIe 2.0 (1-lane), CAN, SAI, MIPI, on-chip memory, GPIO and GPU signals (Arduino datasheet page). | ✔ |
security | NXP SE050C2 secure element on a dedicated bus — Common Criteria EAL 6+ (up to OS level), key generation, accelerated crypto, secure storage, "secures flash user memory up to 50 kB", I2C slave up to 3.4 MHz (Arduino datasheet page, SE050 datasheet). | ✔ |
power | USB-C (Power Delivery) or VIN = 5 V; 3.3 V I/O, 8 mA DC per I/O pin; official power-consumption table: 2350 mW typ (busy loop), 200 mW typ (low-power mode), 4000 mW max (Arduino datasheet page). | ✔ |
temperature | board rated −40 °C to +85 °C; Arduino notes external heatsinks may be needed at the extremes (Arduino datasheet page); the i.MX 8M Mini die itself is offered in industrial grade −40…+105 °C Tj (NXP page). | ✔ |
mechanical | 66.04 × 25.40 mm, 10.2 g (Arduino datasheet page). | ✔ |
- Fabricant : Arduino S.r.l. (Monza, Italie) — gamme de produits Arduino Pro / Portenta (page boutique, billet d'annonce).
- Année : annoncé le 10 mai 2022 pendant la « Arduino Week » ("the revolutionary X8 module, which merges Arduino and Linux for the first time") (Arduino Blog) ; la fiche produit de la boutique a été publiée le 24 mars 2022 (champ published_at Shopify du JSON produit de la boutique, consulté le 2026-10-13). Le tableau des cartes de Wikipedia indique quant à lui une date de sortie au 28 avril 2023 (Wikipedia — List of Arduino boards) ; l'écart reste inexpliqué.
- Statut : Actif — référencé comme disponible sur la boutique officielle (consulté le 2026-10-13, JSON produit de la boutique, available: true).
- Prix : 223,00 € sur la boutique officielle (champ Shopify price: 22300 en centimes, consulté le 2026-10-13, JSON produit de la boutique).
- Référence de commande / variantes : numéro de pièce de la carte ABX00049 (JSON produit de la boutique, datasheet). Un seul SKU (« Default Title ») ; le Portenta H7 companion (STM32H747 seul, sans partie Linux) est le produit frère (docs). Carriers compatibles : Portenta Breakout, Max Carrier, Hat Carrier, Mid Carrier (page boutique, blog).
+ Points forts
- 9 cœurs en 66 × 25 mm : "two industrial products in one… no less than 9 cores" — 4×A53 + M4 (i.MX) + M7 + M4 (STM32) + radios (page boutique).
- Linux « conteneur d'abord » : les applications s'exécutent en conteneurs Docker découplés de l'OS, permettant un déploiement modulaire, indépendant du matériel, et un OTA incrémental (page boutique, docs).
- Vrai RPC Linux ↔ Arduino : un pont msgpack-RPC (service m4-proxy sur Linux, bibliothèque RPC/SerialRPC sur le M4) permet à un conteneur d'appeler des fonctions C++ sur le MCU et de proxifier le moniteur série Arduino par USB (/dev/ttyGS0, ports RPC 5001–5020) (portentax8-m4-proxy, tutoriel python-arduino-data-exchange).
- Empilement sécurité industrielle : élément sécurisé SE050C2 (EAL6+), PSA Certified, certifié Arm SystemReady IR, services Parsec intégrés — "one of the market's first Cassini Products" (page boutique).
- Silicium multimédia/IA en périphérie : décodage VP9/HEVC/H.264 1080p60, MIPI DSI/CSI, DisplayPort par USB-C — cas d'usage kiosk, affichage dynamique et caméra IA (page NXP, page boutique).
- E/S industrielles sur les connecteurs : PCIe 2.0, CAN, SAI, MIPI routés vers les connecteurs haute densité Portenta ; les carriers ajoutent Fieldbus, LoRa, Cat-M1/NB-IoT, RS-232/422/485, mPCIe (page datasheet Arduino, blog).
- Chaîne de construction ouverte : couche BSP Linux (meta-partner-arduino), modules noyau (portentax8-x8h7), firmware M7 et exemples de conteneurs (portenta-containers) sont tous sur GitHub.
− Points faibles
- Fiabilité du pont RPC : "RPC doesn't seem to be working on X8" — ticket ouvert sur le core officiel (arduino/ArduinoCore-mbed #960) ; le côté M4 dépend aussi du bon fonctionnement du service systemd m4-proxy sur Linux (sudo journalctl -fu m4-proxy) (tutoriel python-arduino-data-exchange).
- Firmware M7 à garder synchronisé : le firmware bridge du H7 se flashe séparément du core Arduino ; un firmware obsolète casse les périphériques côté Linux, d'où une procédure de mise à jour dédiée (399-install-update) (tutoriel Image flashing). La dernière version du firmware est la 0.0.3 (oct. 2023) — la plateforme connaît peu d'activité firmware depuis (versions publiées).
- Bug de blocus TX CAN dans le firmware M7 : ticket ouvert — "HAL_FDCAN_TxBufferCompleteCallback silently drops the TX-complete status when the shared SPI queue is full — causes permanent Linux-side TX stall" (portentax8-stm32h7-fw #74) ; corrections antérieures de dépassement de tampon dans #60 / #61.
- Pourrissement du code d'exemple : QSPIFBlockDevice not found à la compilation des exemples Portenta X8 (ouvert) (ArduinoCore-mbed #529) ; erreur de compilation WiFiAccessPoint does not name a type (fermé) (#884).
- Série sur le breakout déroutante : des utilisateurs rapportent des difficultés à faire communiquer le X8 avec des appareils externes via les ports série du Breakout (#584, ouvert).
- Particularités d'ADB côté hôte : le téléversement de sketches exige ADB, qui s'est historiquement cassé sur les OS hôtes arm64 ("Arm64 no longer supported ? ADB ? uhg", fermé) (#492) ; les permissions docker de adb shell nécessitent newgrp - docker (tutoriel docker-container).
- Pièges alimentation/thermique : un port compatible USB 3.0 est requis pour garantir le courant des charges de type busy loop (la carte peut tirer jusqu'à 4 W) ; le fonctionnement complet en −40…+85 °C peut exiger des dissipateurs externes sur les processeurs (page datasheet Arduino).
- Mouvance documentaire : l'ancien dépôt arduino/PortentaDocs renvoie désormais 404 et docs.portenta.io a disparu (vérifié le 2026-10-13) ; la documentation a migré vers docs.arduino.cc.
- Retour d'expérience expert expert — expert-arduino
- J'ai passe pas mal de temps sur la Portenta X8 recemment. Le concept est bluffant : 9 coeurs dans 66x25mm, un vrai Linux avec conteneurs Docker et le pont RPC vers le M7 pour l'Arduino. C'est puissant. Par contre, la doc a bouge violemment (docs.portenta.io est mort, tout est sur docs.arduino.cc) e… — expert-arduino
- Merci pour ce retour très complet. Je bute exactement sur le même souci de serial via le Breakout Carrier, impossible de faire causer la carte avec mes modules GPS, ca reste muet (voir issue 584). Tu as trouve une astuce pour le routage des ports série ? Par ailleurs, le pont CAN me fait peur : j'a… — maker-iot-01
- Pour le CAN, confirme que le bug de la file SPI est present si tu n'utilises pas le dernier firmware, mais même en 0.0.3 ca reste fragile en charge. Pour le serial du Breakout, verifie bien que tu n'utilises pas les pins reserves par les carriers actifs ou le debug USB. Le hic c'est que la doc est … — dev-embedded
Retours et projets de la communauté
- SerialRPC and Serial.print on PortentaX8 forum.arduino.cc
- Portenta x8 appears to be a dud forum.arduino.cc
- Portenta x8, GPIO Setup and Toggle, Command Line Shell forum.arduino.cc
- Portenta X8 RPC tutorial is not working on the latest firmware forum.arduino.cc
- Resetting the Portenta X8's M4 Core from the Linux/I.MX8 side? forum.arduino.cc
- PDF del datasheet ABX00049 datasheet
- datasheet STM32H747 espejado por Arduino datasheet
- datasheet NXP SE050C2 datasheet
- Portenta X8 hardware page + datasheet tables
- ABX00049 datasheet PDF
- store page
- X8 Fundamentals
- Uploading sketches to M4
- Docker containers
- Image flashing
- User manual
- Firmware release notes
- ArduinoCore-mbed
- portentax8-stm32h7-fw
- portentax8-x8h7
- portentax8-m4-proxy
- portenta-containers
- meta-partner-arduino
- portenta-gpio
- NXP i.MX 8M Mini
- STM32H747 datasheet mirrored by Arduino
- NXP SE050C2 datasheet
- Foundries.io
- fioctl getting started
- Arduino images on Docker Hub
- Portenta X8 Manager
- Wikipedia — List of Arduino boards (X8 row)
- Arduino forum
- announcement blog post
- Fiabilité du pont RPC : "RPC doesn't seem to be working on X8" — ticket ouvert sur le core officiel (arduino/ArduinoCore-mbed #960) ; le côté M4 dépend aussi du bon fonctionnement du service systemd m4-proxy sur Linux (sudo journalctl -fu m4-proxy) (tutoriel python-arduino-data-exchange).
- Firmware M7 à garder synchronisé : le firmware bridge du H7 se flashe séparément du core Arduino ; un firmware obsolète casse les périphériques côté Linux, d'où une procédure de mise à jour dédiée (399-install-update) (tutoriel Image flashing). La dernière version du firmware est la 0.0.3 (oct. 2023) — la plateforme connaît peu d'activité firmware depuis (versions publiées).
- Bug de blocus TX CAN dans le firmware M7 : ticket ouvert — "HAL_FDCAN_TxBufferCompleteCallback silently drops the TX-complete status when the shared SPI queue is full — causes permanent Linux-side TX stall" (portentax8-stm32h7-fw #74) ; corrections antérieures de dépassement de tampon dans #60 / #61.
- Pourrissement du code d'exemple : QSPIFBlockDevice not found à la compilation des exemples Portenta X8 (ouvert) (ArduinoCore-mbed #529) ; erreur de compilation WiFiAccessPoint does not name a type (fermé) (#884).
- Série sur le breakout déroutante : des utilisateurs rapportent des difficultés à faire communiquer le X8 avec des appareils externes via les ports série du Breakout (#584, ouvert).
- Particularités d'ADB côté hôte : le téléversement de sketches exige ADB, qui s'est historiquement cassé sur les OS hôtes arm64 ("Arm64 no longer supported ? ADB ? uhg", fermé) (#492) ; les permissions docker de adb shell nécessitent newgrp - docker (tutoriel docker-container).
- Pièges alimentation/thermique : un port compatible USB 3.0 est requis pour garantir le courant des charges de type busy loop (la carte peut tirer jusqu'à 4 W) ; le fonctionnement complet en −40…+85 °C peut exiger des dissipateurs externes sur les processeurs (page datasheet Arduino).
- Mouvance documentaire : l'ancien dépôt arduino/PortentaDocs renvoie désormais 404 et docs.portenta.io a disparu (vérifié le 2026-10-13) ; la documentation a migré vers docs.arduino.cc.
- Premiers pas : comprendre le monstre à 9 cœurs et entrer dans Linux via ADB debutant Schéma : IMG-portenta-x8-debutant-1-portenta-x8-premiers-pas.svg — Arduino Portenta X8 vue de dessus avec ses deux SoC mis en évidence (NXP i.MX 8M Mini 4x Cortex-A53 et ST STM32H747XI), câble USB-C branché, terminal PC affichant la commande adb shell et le prompt fio@portenta-x8, deux connecteurs 80 broches sous la carte
- Premier sketch sur le cœur M4 : le blink qui se flash par ADB debutant Schéma : IMG-portenta-x8-debutant-2-portenta-x8-premier-sketch-m4.svg — Arduino Portenta X8 avec le SoC STM32H747XI zoomé sur son cœur Cortex-M4 240 MHz, flèche de transfert USB-C vers la carte étiquée adb / upload Arduino, LED utilisateur clignotante, fenêtre Arduino IDE montrant le board Portenta X8 sélectionné
- Docker dès la sortie de l'emballage : premier conteneur sur le Linux embarqué debutant Schéma : IMG-portenta-x8-debutant-3-portenta-x8-docker-hello-world.svg — Arduino Portenta X8 en coupe stylisée : le noyau Linux en bas, des boîtes conteneur Docker empilées au-dessus (python, node, hello-world), terminal adb affichant docker run hello-world et le message de bienvenue, étiquette Yocto LMP Foundries.io
- Pont Linux ↔ Arduino : appeler des fonctions du sketch M4 depuis Python (RPC) intermediaire Schéma : IMG-portenta-x8-intermediaire-1-portenta-x8-rpc-python-m4.svg — Arduino Portenta X8 en deux colonnes : à gauche un conteneur Python avec un script appelant subtract(7,4), à droite le cœur Cortex-M4 du STM32H747XI avec la fonction bindée, flèches aller-retour étiquetées msgpack-RPC et m4-proxy ports 5001-5020, terminal affichant le résultat 3
- Mettre la X8 en réseau : Wi-Fi du Murata 1DX et Gigabit Ethernet sur porteuse intermediaire Schéma : IMG-portenta-x8-intermediaire-2-portenta-x8-reseau-wifi-ethernet.svg — Arduino Portenta X8 sur sa Max Carrier avec prise RJ45, ondes Wi-Fi partant du module blindé Murata 1DX vers une box, câble Ethernet vers un switch, terminal adb affichant une adresse IP et le message NetworkManager, étiquettes 802.11n 65 Mbps et GbE IEEE 1588
- Nœud IoT de datalogging : capteurs sur le M4, stockage et transport en conteneur intermediaire Schéma : IMG-portenta-x8-intermediaire-3-portenta-x8-datalogging-iot.svg — Arduino Portenta X8 avec sondes branchées sur ses broches ADC côté MCU, flèche RPC traversant la frontière Linux, conteneur Docker écrivant dans un fichier journal et poussant des paquets MQTT vers le cloud, graphique de courbes de température à l'écran
- Le firmware caché : mettre à jour le bridge STM32H7 M7 qui expose les périphériques à Linux avance Schéma : IMG-portenta-x8-avance-1-portenta-x8-firmware-bridge-m7.svg — architecture logicielle de la Portenta X8 en trois étages : conteneurs Docker en haut, noyau Linux avec modules x8h7_* au centre, firmware STM32H747 M7 en bas relié au cœur M4 Arduino, flèche adb push du fichier STM32H747AII6_CM7.bin vers la carte, bouton poussoir 10 s à côté
- Images custom et flotte : construire son Yocto, déployer par OTA avec fioctl et Waves avance Schéma : IMG-portenta-x8-avance-2-portenta-x8-image-yocto-ota-fleet.svg — pipeline de déploiement : poste de build Yocto avec la couche meta-partner-arduino, usine FoundriesFactory, flèches OTA signées vers trois Portenta X8 alignées, terminal affichant fioctl updates et docker ps avec des conteneurs versionnés, étiquette Linux microPlatform
- Sécurité industrielle : élément sécurisé SE050C2 (EAL6+), PSA Certified et Parsec avance Schéma : IMG-portenta-x8-avance-3-portenta-x8-securite-se050-parsec.svg — chaîne de confiance de la Portenta X8 en maillons : puce NXP SE050C2 blindée au centre avec ses clés, bus dédié vers l'i.MX 8M Mini, badges PSA Certified et Arm SystemReady IR, conteneur Docker demandant une signature via le service Parsec, mise à jour OTA signée entrant par le réseau, bouclier Common Criteria EAL6+ en arrière-plan
Bibliothèque de code — exemples écrits pour cette carte
etat-systeme.shBashgpio-libgpiod.shBashpython-gpio.pyPythondocker-hello.shBashflasher-core-arduino.shBashwifi-nmcli.shBashservice-systemd.shBashssh-cle-publique.shBashserial-core-mcu.pyPythonsurveillance-temperature.shBash
Exemples et dépôts trouvés en ligne
- joel35/portenta-x8-blink-rpc github.com
- alexander-labarge/portenta-x8-debian-port github.com