Arduino Portenta X8

Arduino S.r.lMCU 8-32 bitarduino

⚡ Lo esencial en 60 segundos

La Portenta X8 de Arduino representa un hito significativo en la convergencia entre el mundo de los sistemas embebidos de tiempo real y los sistemas operativos de propósito general. Anunciada en mayo de 2022, esta placa modular no es simplemente una evolución de sus predecesoras, sino una arquitectura híbrida que fusiona, por primera vez de manera integrada, el ecosistema de desarrollo de Arduino con un entorno Linux completo. Es fundamental aclarar una confusión común: la Portenta X8 no debe confundirse con la Portenta H7 ni con placas basadas en el procesador STM32MP1. Su identidad técnica se define por una dualidad de procesadores que trabajan en conjunto para ofrecer lo mejor de ambos mundos. Por un lado, el lado Linux está impulsado por un sistema en módulo (SoM) NXP i.MX 8M Mini, un chip potente que integra cuatro núcleos de arquitectura ARM Cortex-A53 que pueden funcionar a velocidades de hasta 1,8 GHz, acompañados de un núcleo Cortex-M4. Por otro lado, el lado Arduino, aquel con el que la mayoría de los usuarios están familiarizados al escribir código en el IDE de Arduino, está gestionado por un microcontrolador ST STM32H747XI, un dispositivo de doble núcleo que incluye un Cortex-M7 a 480 MHz y un Cortex-M4 a 240 MHz. Esta configuración permite que la placa ejecute simultáneamente aplicaciones complejas de alto nivel y tareas críticas de control en tiempo real, todo en una superficie física de apenas 66 x 25 milímetros.

Para entender la potencia de esta tarjeta, es útil desglosar qué significan estos componentes en términos prácticos. El procesador i.MX 8M Mini no solo ofrece potencia de cálculo para el sistema operativo, sino que incluye capacidades multimedia avanzadas, como decodificación de video en alta definición (1080p a 60 cuadros por segundo) y interfaces para pantallas y cámaras (MIPI DSI y CSI). Esto la hace ideal para aplicaciones de visión artificial o interfaces de usuario ricas. En cuanto a la memoria, la placa cuenta con 2 GB de RAM LPDDR4 y 16 GB de almacenamiento eMMC, lo que proporciona espacio suficiente para ejecutar múltiples contenedores de software y almacenar datos locales. La conectividad es igualmente robusta, integrando Wi-Fi y Bluetooth 5.1 mediante un módulo Murata, además de un controlador Ethernet Gigabit. Sin embargo, es crucial notar que el módulo base no incluye un conector físico RJ45 para el cable de red; para acceder a la conexión Ethernet por cable, es necesario utilizar una placa portadora compatible, como la Max Carrier o la Hat Carrier, que añade estos puertos físicos y otras interfaces industriales como CAN bus o RS-485.

El sistema operativo que corre en el lado Linux es una distribución personalizada basada en Yocto, conocida como Linux microPlatform (LMP), desarrollada en colaboración con Foundries.io. Una de las características más destacadas de este enfoque es la integración nativa de Docker, una tecnología de contenedores que permite empaquetar aplicaciones y sus dependencias en unidades estandarizadas. Esto significa que los desarrolladores pueden escribir código en lenguajes como Python o C++ dentro de un contenedor aislado, garantizando que la aplicación funcione igual en la placa que en cualquier otro dispositivo compatible, facilitando enormemente las actualizaciones remotas y la gestión de flotas de dispositivos. La comunicación entre el mundo Linux y el microcontrolador Arduino se logra mediante un puente de software especializado. El núcleo Cortex-M7 del STM32H747 ejecuta un firmware personalizado que actúa como intermediario, exponiendo los periféricos del microcontrolador (como pines GPIO o buses SPI) como dispositivos virtuales en Linux. Además, existe un mecanismo de llamada a procedimientos remotos (RPC) que permite que un script en Linux invoque funciones escritas en C++ que se ejecutan en el microcontrolador, y viceversa, permitiendo una integración fluida entre la lógica de alto nivel y el control de hardware de bajo nivel.

La seguridad es otro pilar fundamental de la Portenta X8, diseñada para aplicaciones industriales y comerciales. La placa incorpora un elemento seguro dedicado, el NXP SE050C2, que cumple con los estándares de certificación Common Criteria EAL 6+. Este chip se encarga de generar y almacenar claves criptográficas de forma aislada del procesador principal, protegiendo la integridad del sistema operativo y los datos del usuario contra ataques físicos y lógicos. Esta robustez de seguridad, combinada con la capacidad de realizar actualizaciones de firmware seguras y la certificación Arm SystemReady, posiciona a la X8 como una opción seria para despliegues en entornos críticos donde la ciberseguridad no es opcional. A pesar de su potencia, la placa mantiene un consumo energético relativamente moderado, con un consumo típico de 2,35 vatios en carga máxima, aunque se recomienda asegurar una fuente de alimentación USB-C con soporte de Power Delivery para garantizar el rendimiento completo, especialmente si se utilizan cargas de trabajo intensivas o periféricos adicionales.

En cuanto al desarrollo, la experiencia de usuario está diseñada para ser accesible pero potente. Para programar el lado Arduino, se utiliza el IDE de Arduino estándar o la herramienta de línea de comandos arduino-cli, seleccionando la placa "Arduino Portenta X8". Curiosamente, la subida del código (el proceso de transferir el programa compilado a la placa) no se realiza a través de un puerto serie tradicional, sino mediante el protocolo ADB (Android Debug Bridge), una herramienta común en el desarrollo de Android pero adaptada aquí para la gestión de dispositivos Linux embebidos. Esto puede suponer una curva de aprendizaje inicial para quienes están acostumbrados a la simplicidad de "un clic para subir" de las placas Arduino clásicas, pero ofrece una mayor flexibilidad y velocidad. Por su parte, el desarrollo en el lado Linux se realiza accediendo a la consola del sistema a través de ADB o SSH, permitiendo la gestión de contenedores, la instalación de paquetes y la configuración de red como en cualquier servidor Linux embebido.

Es importante mencionar algunas consideraciones prácticas y limitaciones conocidas. Dado que la placa es un módulo compacto, la disipación de calor puede ser un factor a considerar en entornos cerrados o a temperaturas extremas; aunque está clasificada para operar entre -40 °C y +85 °C, el uso de disipadores externos puede ser necesario para mantener el rendimiento máximo durante cargas sostenidas. Además, la complejidad de la arquitectura híbrida implica que los desarrolladores deben estar atentos a la sincronización del firmware del puente (el código que corre en el núcleo M7) con el núcleo de Arduino; si estos componentes no están actualizados correctamente, la comunicación entre Linux y el microcontrolador puede fallar. También ha habido reportes de la comunidad sobre cierta inestabilidad en el puente RPC en versiones anteriores del software, aunque Arduino mantiene activamente el repositorio de código abierto para estos componentes, permitiendo a los usuarios avanzados diagnosticar y, en algunos casos, aplicar correcciones. En resumen, la Portenta X8 es una herramienta de desarrollo sofisticada que exige un conocimiento más profundo de sistemas embebidos y Linux, pero recompensa al usuario con una versatilidad sin precedentes para crear dispositivos inteligentes, conectados y seguros.

Foro (1 tema) →

AttrEspecificacionesverificado
application_processor_linux_sideNXP 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_sideST 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_memory2 GB LPDDR4 DRAM (Nanya NT6AN512T32AV) + 16 GB eMMC (Foresee FEMDRW016G), both attached to the i.MX 8M Mini (Arduino datasheet page).✔
wirelessMurata 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).✔
ethernet1× 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).✔
usbUSB-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).✔
expansiontwo 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).✔
securityNXP 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).✔
powerUSB-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).✔
temperatureboard 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).✔
mechanical66.04 × 25.40 mm, 10.2 g (Arduino datasheet page).✔
  • Fabricante: Arduino S.r.l. (Monza, Italia) — línea de producto Arduino Pro / Portenta (página de la tienda, blog de anuncio).
  • Año: Anunciada el 10 de mayo de 2022 durante la "Arduino Week" ("the revolutionary X8 module, which merges Arduino and Linux for the first time") (Arduino Blog); el registro de producto de la tienda se publicó el 24 de marzo de 2022 (campo published_at de Shopify del JSON de producto de la tienda, consultado el 2026-10-13). La tabla de placas de Wikipedia indica en cambio una fecha de lanzamiento del 28 de abril de 2023 (Wikipedia — List of Arduino boards); la discrepancia no está explicada.
  • Estado: Activo — listado como disponible en la tienda oficial (consultado el 2026-10-13, JSON de producto de la tienda, available: true).
  • Precio: €223.00 en la tienda oficial (campo price: 22300 en centavos de Shopify, consultado el 2026-10-13, JSON de producto de la tienda).
  • Código de pedido / variantes: número de parte de la placa ABX00049 (JSON de producto de la tienda, datasheet). Un solo SKU ("Default Title"); la Portenta H7 complementaria (solo STM32H747, sin lado Linux) es el producto hermano (docs). Carriers compatibles: Portenta Breakout, Max Carrier, Hat Carrier, Mid Carrier (página de la tienda, blog).

+ Puntos fuertes

  • 9 núcleos en 66 × 25 mm: "two industrial products in one… no less than 9 cores" — 4×A53 + M4 (i.MX) + M7 + M4 (STM32) + radios (página de la tienda).
  • Linux contenedor-céntrico: las aplicaciones se ejecutan como contenedores Docker desacoplados del SO, lo que permite despliegue modular e independiente del dispositivo y OTA incremental (página de la tienda, docs).
  • RPC real Linux ↔ Arduino: un bridge msgpack-RPC (servicio m4-proxy en Linux, librería RPC/SerialRPC en el M4) permite a un contenedor llamar funciones C++ en el MCU y proxy del monitor serie de Arduino a través de USB (/dev/ttyGS0, puertos RPC 5001–5020) (portentax8-m4-proxy, tutorial python-arduino-data-exchange).
  • Stack de seguridad industrial: elemento seguro SE050C2 (EAL6+), PSA Certified, certificado Arm SystemReady IR, servicios Parsec integrados — "one of the market's first Cassini Products" (página de la tienda).
  • Silicio multimedia/edge-AI: decodificación VP9/HEVC/H.264 1080p60, MIPI DSI/CSI, DisplayPort sobre USB-C — casos de uso kiosco, señalética y cámara-AI (página de NXP, página de la tienda).
  • E/S industrial en los conectores: PCIe 2.0, CAN, SAI, MIPI enrutados a los conectores de alta densidad Portenta; los carriers añaden Fieldbus, LoRa, Cat-M1/NB-IoT, RS-232/422/485, mPCIe (página del datasheet de Arduino, blog).
  • Cadena de construcción abierta: la capa BSP de Linux (meta-partner-arduino), los módulos de kernel (portentax8-x8h7), el firmware M7 y los ejemplos de contenedores (portenta-containers) están todos en GitHub.

− Puntos débiles

  • Inestabilidad del bridge RPC: "RPC doesn't seem to be working on X8" — issue abierto en el core oficial (arduino/ArduinoCore-mbed #960); el lado M4 también depende de que el servicio systemd m4-proxy se esté ejecutando correctamente en Linux (sudo journalctl -fu m4-proxy) (tutorial python-arduino-data-exchange).
  • El firmware M7 debe mantenerse sincronizado: el firmware bridge del H7 se flashea por separado del core de Arduino; un firmware desactualizado rompe los periféricos del lado Linux, de ahí un procedimiento de actualización dedicado (399-install-update) (tutorial image-flashing). La última versión del firmware es la 0.0.3 (oct 2023) — la plataforma recibe poca actividad de firmware desde entonces (releases).
  • Bug de estancamiento TX de CAN en el firmware M7: issue abierto — "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); correcciones anteriores de desbordamiento de búfer en #60 / #61.
  • Obsolescencia del código de ejemplo: QSPIFBlockDevice not found al compilar ejemplos de Portenta X8 (abierto) (ArduinoCore-mbed #529); error de compilación WiFiAccessPoint does not name a type (cerrado) (#884).
  • Serie en el breakout confusa: usuarios reportan dificultad para hacer hablar a la X8 con dispositivos externos por los puertos serie del Breakout (#584, abierto).
  • Peculiaridades de ADB en el host: la subida de sketches requiere ADB, lo que históricamente se rompía en sistemas operativos host arm64 ("Arm64 no longer supported? ADB? uhg", cerrado) (#492); los permisos de docker en adb shell requieren newgrp - docker (tutorial docker-container).
  • Trampas de energía/temperatura: se requiere un puerto compatible con USB 3.0 para garantizar la corriente de cargas de trabajo busy-loop (la placa puede consumir hasta 4 W); la operación a −40…+85 °C completos puede requerir disipadores externos en los procesadores (página del datasheet de Arduino).
  • Vaivén de documentación: el antiguo repositorio arduino/PortentaDocs ahora devuelve 404 y docs.portenta.io ha desaparecido (comprobado el 2026-10-13); la documentación se trasladó a 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

Opiniones y proyectos de la comunidad

  • Python ↔ Arduino data exchange

    Intercambio de datos Python ↔ Arduino — contenedor Docker (Python) que llama al sketch M4 a través del puente RPC, incl. la imagen arduino/python-rpc-serial . (unverified au 2026-10-13) Nodo IoT de registro de datos — sensores en el M4, almacenamiento/transpo…

  • FLECS + Portenta X8

    FLECS + Portenta X8 — aplicación de control estilo PLC industrial que se ejecuta en el X8 ( — vea también la publicación dedicada a FLECS encontrada a través de ); Virgil , una exposición interactiva de cabeza parlante construida sobre Arduino, se describe en…

  • Inestabilidad del bridge RPC: "RPC doesn't seem to be working on X8" — issue abierto en el core oficial (arduino/ArduinoCore-mbed #960); el lado M4 también depende de que el servicio systemd m4-proxy se esté ejecutando correctamente en Linux (sudo journalctl -fu m4-proxy) (tutorial python-arduino-data-exchange).
  • El firmware M7 debe mantenerse sincronizado: el firmware bridge del H7 se flashea por separado del core de Arduino; un firmware desactualizado rompe los periféricos del lado Linux, de ahí un procedimiento de actualización dedicado (399-install-update) (tutorial image-flashing). La última versión del firmware es la 0.0.3 (oct 2023) — la plataforma recibe poca actividad de firmware desde entonces (releases).
  • Bug de estancamiento TX de CAN en el firmware M7: issue abierto — "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); correcciones anteriores de desbordamiento de búfer en #60 / #61.
  • Obsolescencia del código de ejemplo: QSPIFBlockDevice not found al compilar ejemplos de Portenta X8 (abierto) (ArduinoCore-mbed #529); error de compilación WiFiAccessPoint does not name a type (cerrado) (#884).
  • Serie en el breakout confusa: usuarios reportan dificultad para hacer hablar a la X8 con dispositivos externos por los puertos serie del Breakout (#584, abierto).
  • Peculiaridades de ADB en el host: la subida de sketches requiere ADB, lo que históricamente se rompía en sistemas operativos host arm64 ("Arm64 no longer supported? ADB? uhg", cerrado) (#492); los permisos de docker en adb shell requieren newgrp - docker (tutorial docker-container).
  • Trampas de energía/temperatura: se requiere un puerto compatible con USB 3.0 para garantizar la corriente de cargas de trabajo busy-loop (la placa puede consumir hasta 4 W); la operación a −40…+85 °C completos puede requerir disipadores externos en los procesadores (página del datasheet de Arduino).
  • Vaivén de documentación: el antiguo repositorio arduino/PortentaDocs ahora devuelve 404 y docs.portenta.io ha desaparecido (comprobado el 2026-10-13); la documentación se trasladó a 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

Biblioteca de código — ejemplos escritos para esta placa

  • etat-systeme.sh Bash

    El chequeo completo en 30 segundos: kernel, distribución, carga, memoria, almacenamiento y temperatura del SoC. Primer reflejo en SSH sobre la Portenta X8 para verificar que la imagen Linux corre en …

  • gpio-libgpiod.sh Bash

    libgpiod es la interfaz GPIO seria bajo Linux: gpiodetect, gpioinfo, gpioset. El script hace parpadear un LED del conector carrier documentando a la vez la trampa de liberación de línea al salir gpio…

  • python-gpio.py Python

    El script de aplicación tipo sobre el Linux de la X8: entrada, salida y registro CSV con marca de tiempo usando python3-gpiod. La placa se vuelve un contador autónomo por el lado Linux mientras el co…

  • docker-hello.sh Bash

    La X8 es la placa Arduino que ejecuta Docker: este script verifica el motor, despliega un servidor web contenerizado con rearranque automático y lo prueba con curl. La app en contenedor convive con e…

  • flasher-core-arduino.sh Bash

    El gesto único de la X8: el Linux se auto-graba el firmware Arduino del núcleo de tiempo real con mboot. Backup, flash y run en tres comandos: el despliegue OTA de los dos mundos de la placa se vuelv…

  • wifi-nmcli.sh Bash

    La radio Wi-Fi de la X8 se gestiona como en cualquier Linux moderno: nmcli escanea, conecta y guarda el perfil para el arranque. La placa se une a la red sin conectar nada.

  • service-systemd.sh Bash

    El paso obligatorio del producto embebido: cualquier script Python se vuelve servicio supervisado, reanudado si muere y relanzado en el arranque. El here-document escribe la unidad systemd en una ord…

  • ssh-cle-publique.sh Bash

    Una placa conectada a la red debe bloquearse antes de salir del taller: este script comprueba que tu clave está instalada, desactiva la autenticación por contraseña y recarga sshd sin cortar la sesió…

  • serial-core-mcu.py Python

    El dúo de cerebros de la X8 se comunica por un puerto serie interno: este script envía la hora de Linux al core Arduino y decodifica sus mensajes JSON línea a línea. El protocolo de texto es el común…

  • surveillance-temperature.sh Bash

    El módulo X8 puede calentarse cuando Docker y el Wi-Fi trabajan juntos: este demonio lee el sensor del kernel cada 10 s, registra en CSV y envía una alerta syslog al superar el umbral. A montar como …

Ejemplos y repositorios encontrados en línea