Arduino Portenta H7
⚡ Lo esencial en 60 segundos
- soc — STMicroelectronics STM32H747XI dual-core Arm MCU. - Cortex-M7 up to 480 MHz, FPU with single- and double-precision (IEEE 754), DSP instructions, MPU (ST). - Cortex-M4 up to 240 MHz (single-precision FPU), real-time coprocessor role (ST / Arduino). - Both cores share all on-chip peripherals; cores communicate through Arduino's RPC mechanism (OpenAMP/rpmsg-based) (docs.arduino.cc).
- graphics — on-chip Chrom-ART Accelerator (DMA2D) "GPU" plus dedicated JPEG encode/decode; DisplayPort over USB-C output on the board (Arduino docs + store page).
- memory — - On-chip: dual-bank flash up to 2 MB, up to 1 MB RAM (192 KB TCM, up to 864 KB user SRAM, 4 KB backup SRAM) (ST). - On-board: 8 MB SDRAM (external, FMC) and 16 MB NOR flash (store page "default configuration" list).
- connectivity — - Murata 1DX module: dual-band-capable Wi-Fi (802.11n, up to 65 Mbps, AP / STA / simultaneous AP+STA modes) + Bluetooth 5.1 (Classic and Low Energy) (Arduino docs + store page). - 10/100 Ethernet PHY on-board, exposed via the 80-pin connector pair (store page). - USB-C HS multipurpose port: programming, power, USB host/hub, DisplayPort alt-mode, OTG power delivery (store page).
- analog_digital_peripherals_stm32h747 — 3 ADCs, 2 DACs, 2 ultra-low-power comparators, low-power RTC, high-resolution timer, 12 general 16-bit timers, 2 motor-control PWM timers, 5 low-power timers, RNG, 4× DFSDM sigma-delta filters (ST product page).
- gpio_expansion — two 80-pin high-density "Arduino industrial" connectors at the bottom (plus MKR-style connector footprint); expose UART/SPI/I2C and, via the 80-pin pair, Ethernet and more (store page).
- En esta placa : 9 tutoriales · 10 código
La Portenta H7 de Arduino representa la cúspide de la línea industrial de la marca, diseñada para aquellos proyectos que requieren un rendimiento computacional excepcional y una conectividad avanzada en un factor de forma compacto. Introducida originalmente en el año 2020, esta placa se ha consolidado como una herramienta fundamental para desarrolladores que necesitan potencia de nivel de escritorio en un entorno de microcontrolador. Su arquitectura está centrada en el microcontrolador STM32H747XI de STMicroelectronics, un sistema dual-core que combina un núcleo Cortex-M7 operando a 480 MHz con un núcleo Cortex-M4 a 240 MHz. Para entender la magnitud de esta frecuencia, es útil recordar que los microcontroladores tradicionales suelen operar a velocidades muy inferiores; aquí, la alta velocidad permite procesar datos complejos, como señales de audio o imágenes, en tiempo real. La presencia de dos núcleos permite una ejecución verdaderamente paralela: mientras el núcleo M7 se encarga de las tareas principales de alto rendimiento, el M4 puede gestionar funciones en tiempo real o periféricos críticos, comunicándose entre sí mediante un mecanismo de llamada a procedimiento remoto (RPC) desarrollado por Arduino. Esta capacidad de dividir cargas de trabajo evita que una tarea pesada bloquee el resto del sistema, una ventaja crucial en aplicaciones industriales y de Internet de las Cosas (IoT).
En cuanto a la memoria y el almacenamiento, la Portenta H7 supera ampliamente las limitaciones habituales de las placas de desarrollo estándar. Incorpora 2 MB de memoria flash interna y 1 MB de RAM, pero su verdadero poder reside en la memoria externa integrada: 8 MB de SDRAM y 16 MB de memoria flash NOR. La SDRAM (memoria dinámica de acceso aleatorio síncrona) es esencial para almacenar grandes volúmenes de datos temporales, como fotogramas de vídeo o modelos de inteligencia artificial, mientras que la memoria NOR permite almacenar el código del programa y los datos persistentes de forma segura. Esta configuración de memoria masiva habilita el uso de sistemas operativos en tiempo real más complejos y la ejecución de entornos de interpretación como MicroPython o JavaScript directamente en la placa, permitiendo a los desarrolladores elegir entre la eficiencia del código compilado en C++ y la flexibilidad de los lenguajes de script. Además, la placa soporta oficialmente la inferencia de modelos de aprendizaje automático mediante TensorFlow Lite, lo que la convierte en una plataforma viable para la visión artificial y el reconocimiento de voz en el borde (edge computing).
La conectividad es otro de los pilares fundamentales de este dispositivo. Integra un módulo Murata 1DX que proporciona Wi-Fi de doble banda compatible con el estándar 802.11n, alcanzando velocidades de hasta 65 Mbps, y Bluetooth 5.1, que incluye tanto el modo clásico como el de bajo consumo (BLE). Esto permite que la placa funcione como un punto de acceso o como cliente, y se comunique con una amplia variedad de sensores y dispositivos móviles. Para entornos industriales donde la estabilidad de la red es crítica, la placa incluye un puerto Ethernet de 10/100 Mbps expuesto a través de sus conectores de alta densidad. La interfaz física se basa en dos conectores de 80 pines que siguen un estándar industrial, lo que facilita la creación de placas base personalizadas (carriers) y garantiza la compatibilidad con otras variantes de la familia Portenta, como la H7 Lite o el módulo X8. La alimentación se realiza principalmente a través de un puerto USB-C de alta velocidad, que también sirve para la programación y la transmisión de datos, simplificando el cableado en entornos de laboratorio o producción.
En el ámbito gráfico y multimedia, la Portenta H7 destaca por incluir un acelerador gráfico Chrom-ART (DMA2D) y un códec de hardware para la codificación y decodificación de imágenes JPEG. Esto permite generar interfaces gráficas de usuario (GUI) complejas y fluidas, incluso para pantallas de alta resolución, sin sobrecargar la CPU principal. La placa puede enviar señal de vídeo a través de su puerto USB-C utilizando el modo alternativo DisplayPort, lo que significa que se puede conectar directamente a un monitor externo para mostrar datos visuales en tiempo real. Esta capacidad es ideal para aplicaciones de control industrial con interfaz humana, quioscos interactivos o sistemas de monitoreo visual. La seguridad también es una prioridad, incorporando un elemento seguro NXP SE050C2, un coprocesador criptográfico dedicado que protege las claves y los datos sensibles, junto con funciones de arranque seguro (secure boot) y actualizaciones de firmware seguras sobre la aire (OTA), características indispensables para despliegues comerciales a largo plazo.
El ecosistema de software para la Portenta H7 es rico y en evolución. Los desarrolladores pueden programar la placa utilizando el entorno clásico de Arduino basado en el sistema operativo Mbed OS, o bien optar por el más reciente núcleo basado en Zephyr RTOS, un sistema operativo en tiempo real de código abierto que está siendo adoptado progresivamente por Arduino para reemplazar a Mbed en futuros lanzamientos. Esta transición ofrece mayor flexibilidad y rendimiento, aunque implica cambios en la forma de compilar y cargar el código, utilizando un cargador dinámico llamado llext. Además, la placa soporta aplicaciones nativas de Mbed OS y entornos de desarrollo visual como OpenMV para visión artificial. Es importante notar que, aunque la placa es extremadamente potente, no soporta Linux directamente; para proyectos que requieran un sistema operativo completo de escritorio o contenedores Docker, Arduino ofrece el módulo Portenta X8 como complemento. La documentación oficial ha migrado de su antiguo sitio dedicado a la plataforma central docs.arduino.cc, por lo que es recomendable consultar siempre las fuentes actualizadas para evitar enlaces rotos. En resumen, la Portenta H7 es una solución robusta para quienes necesitan superar las barreras tradicionales de los microcontroladores, ofreciendo una plataforma escalable, segura y potente para la próxima generación de dispositivos inteligentes e industriales.



Esquema de pines (pinout)


| Attr | Especificaciones | verificado |
|---|---|---|
soc | STMicroelectronics STM32H747XI dual-core Arm MCU. - Cortex-M7 up to 480 MHz, FPU with single- and double-precision (IEEE 754), DSP instructions, MPU (ST). - Cortex-M4 up to 240 MHz (single-precision FPU), real-time coprocessor role (ST / Arduino). - Both cores share all on-chip peripherals; cores communicate through Arduino's RPC mechanism (OpenAMP/rpmsg-based) (docs.arduino.cc). | ✔ |
graphics | on-chip Chrom-ART Accelerator (DMA2D) "GPU" plus dedicated JPEG encode/decode; DisplayPort over USB-C output on the board (Arduino docs + store page). | ? sin verificar |
memory | - On-chip: dual-bank flash up to 2 MB, up to 1 MB RAM (192 KB TCM, up to 864 KB user SRAM, 4 KB backup SRAM) (ST). - On-board: 8 MB SDRAM (external, FMC) and 16 MB NOR flash (store page "default configuration" list). | ? sin verificar |
connectivity | - Murata 1DX module: dual-band-capable Wi-Fi (802.11n, up to 65 Mbps, AP / STA / simultaneous AP+STA modes) + Bluetooth 5.1 (Classic and Low Energy) (Arduino docs + store page). - 10/100 Ethernet PHY on-board, exposed via the 80-pin connector pair (store page). - USB-C HS multipurpose port: programming, power, USB host/hub, DisplayPort alt-mode, OTG power delivery (store page). | ? sin verificar |
analog_digital_peripherals_stm32h747 | 3 ADCs, 2 DACs, 2 ultra-low-power comparators, low-power RTC, high-resolution timer, 12 general 16-bit timers, 2 motor-control PWM timers, 5 low-power timers, RNG, 4× DFSDM sigma-delta filters (ST product page). | ? sin verificar |
gpio_expansion | two 80-pin high-density "Arduino industrial" connectors at the bottom (plus MKR-style connector footprint); expose UART/SPI/I2C and, via the 80-pin pair, Ethernet and more (store page). | ? sin verificar |
security | NXP SE050C2 secure element (crypto co-processor), plus STM32 TrustZone-M, MPU, RNG (store page; ST). | ? sin verificar |
power | powered from USB-C (5 V VBUS) or carrier/80-pin supplies; LiPo charging circuitry present on board. | ? sin verificar |
boot | MCUboot-based secure bootloader, updatable (MCUboot library ships in the core; official tutorials: updating-the-bootloader, secure-boot). | ✔ |
- Fabricante: Arduino (Arduino AG / Arduino S.r.l., Italia). Desde octubre de 2025 la empresa Arduino es propiedad de Qualcomm (Wikipedia — Arduino, consultado el 2026-10-13).
- Producto: Portenta H7, el buque insignia de la línea industrial "Portenta"; el nombre en clave de la configuración estándar pedible es H7-15EUNWAD, y la familia de SKU de la tienda es ABX00042 (el SKU es visible en las imágenes de producto de la tienda, p. ej. ABX00042_00.iso.jpg) (store.arduino.cc/products/portenta-h7, consultado el 2026-10-13).
- Año de introducción: 2020 (anunciado a mediados de 2020).
- Estado: Activo / producto actual. Listado y vendido en la tienda oficial a €120.80 (precio extraído del JSON/HTML de la página de la tienda, consultado el 2026-10-13).
- Variantes (todas con páginas activas en docs.arduino.cc, consultadas el 2026-10-13 vía sitemap-0.xml): - Portenta H7 — ficha técnica completa (hardware/portenta-h7) - Portenta H7 Lite / H7 Lite Connected — variantes de coste reducido (lite, lite connected) - Portenta X8 — módulo complementario que añade un procesador Linux NXP i.MX 8MP (hardware/portenta-x8) - Ecosistema de carriers: Portenta Breakout, Max Carrier, Mid Carrier, Hat Carrier, Machine Control, Vision Shield, shields de clase carrier.
+ Puntos fuertes
- Paralelismo bicául real con RPC transparente: ejecute Arduino/C++ compilado en un núcleo y MicroPython en el otro; llamadas a procedimiento remoto RPC.bind/RPC.call sobre OpenAMP (docs.arduino.cc/hardware/portenta-h7; librería RPC: libraries/RPC).
- Pipeline gráfico: Chrom-ART (DMA2D) + códec JPEG + DisplayPort-sobre-USB-C → controle un monitor desde un MCU; tutorial oficial de GUI con LVGL (creating-gui-with-lvgl).
- Visión artificial / ML: Vision Shield (cámaras de clase Himax HM01B0 / GC2145 compatibles con las librerías del core Camera, Arduino_H7_Video, Himax_HM01B0, Himax_HM0360, OV7670 — todas presentes en ArduinoCore-mbed/libraries); inferencia con TensorFlow Lite y CMSIS-NN (librería MLC); soporte del motor de reconocimiento de voz Syntiant NDP101/120 (librerías syntiant_ilib, NDP; tutorial de speech-recognition-engine).
- Seguridad industrial: elemento seguro SE050C2 + arranque seguro + actualizaciones OTA firmadas (tutorial over-the-air-update, tutorial secure-boot).
- Estándar mezzanine de 80 pines de alta densidad → actualizaciones con pines compatibles H7 ↔ H7 Lite ↔ X8 sobre el mismo carrier (página de la tienda).
- Pila de host USB (librerías USBHOST/USBMSD/USBHID/USBAudio/USBMIDI; tutorial usb-host), audio PDM (Portenta_Audio), tarjeta SD (Portenta_SDCARD), API de SDRAM externa (Portenta_SDRAM), CAN (Arduino_CAN), Ethernet — todo incluido en el core.
- Posicionamiento de arranque rápido: "high-speed booting computation (ms)" para dispositivos de misión crítica (página de la tienda).
− Puntos débiles
- Wi-Fi no se reconecta tras perder el AP (core Mbed clásico): WiFi.begin a secas no volvía a unirse a un AP restaurado; era necesario un WiFi.end antes de volver a hacer begin. Reportado con MRE completa en arduino/ArduinoCore-mbed#382 (2022, cerrado).
- El firmware Wi-Fi puede perderse o corromperse → Wi-Fi muerto tras actualizaciones fallidas; la recuperación oficial consiste en ejecutar el sketch FlashFormat para restaurar el firmware del módulo (FAQ del README de ArduinoCore-zephyr, consultado el 2026-10-13).
- Cambios por la migración de core: el core Mbed está siendo reemplazado por el core Zephyr; las APIs, la compatibilidad de librerías y el modelo de grabado (cargador llext, modos "Standard/Debug", shell de Zephyr) difieren, y algunas funciones de Zephyr aún no se exportan a los sketches (solución alternativa llext_exports.c) (README de ArduinoCore-zephyr).
- Discontinuidad de la documentación: el sitio dedicado docs.portenta.io ya no resuelve (DNS ENOTFOUND, 2026-10-13) y el repositorio arduino/PortentaDocs devuelve 404 (2026-10-13); el contenido ahora vive en docs.arduino.cc — muchos enlaces profundos antiguos están muertos.
- Trampas del dual-core: los sketches deben grabarse en ambos núcleos para que los ejemplos de RPC funcionen, y el M7 debe dar tiempo al M4 a enlazar sus funciones remotas (los ejemplos oficiales insertan un delay(100) explícito tras RPC.begin en el M7) (ejemplo Basic_AddSub).
- Problema de tamaño de pila del cargador Zephyr: cargar un sketch desde el shell de Zephyr necesita una pila grande; los usuarios deben reducir la pila del shell en el .conf de la placa en compilaciones con poca RAM (FAQ del README de ArduinoCore-zephyr).
- Históricamente no había ejemplo de websocket para la pila Wi-Fi de Mbed (solicitud de la comunidad en arduino/ArduinoCore-mbed#589); pilas de terceros (p. ej. las de khoih-prog) cubrieron el hueco.
- Retour d'expérience expert expert — expert-arduino
- Je passe sur la Portenta H7 pour un projet industriel. La dualité des coeurs est réelle : je tourne du C++ sur le M7 et du MicroPython sur le M4 via l'RPC, ça marche bien. Par contre, attention au Wi-Fi. Comme documenté dans l'issue 382, si l'AP tombe, WiFi.begin ne suffit pas. Il faut impérativeme… — expert-arduino
- Salut, je découvre la carte. Tu parles de la corruption Wi-Fi, c'est arrivé à la livraison ou après un update ? J'ai vu que la fiche source mentionne que la doc officielle docs.portenta.io ne répond plus (DNS error), ce qui est embêtant pour la migration depuis l'autre core. Pour la partie graphiqu… — maker-hobby-99
- @maker-hobby-99 Pour le display, ça tourne mais faut lire le tuto LVGL sur docs.arduino.cc, c'est pas plug-and-play. Pour le Wi-Fi, expert-arduino a raison sur le hack WiFi.end. Le souci c'est que si tu perds la config, tu perds aussi l'accès à certaines fonctions réseau complexes une fois le modul… — debug-user-01
Opiniones y proyectos de la comunidad
- Performance of SD and USB Drives on Portenta H7 (and GIGA) forum.arduino.cc
- Portenta H7 WiFi Library Very Slow forum.arduino.cc
- Giga/Portenta H7 - difficulties with malloc on zephyr 0.52 forum.arduino.cc
- Energy meter application note
- Portenta H7 websocket control project
Contenido no disponible todavía.
- docs.arduino.cc/hardware/portenta-h7/
- store.arduino.cc/products/portenta-h7
- setting-up-portenta
- dual-core-processing
- wifi-access-point
- reading-writing-flash-memory
- over-the-air-update
- secure-boot
- updating-the-bootloader
- usb-host
- lauterbach-debugger
- github.com/arduino/ArduinoCore-mbed
- github.com/arduino/ArduinoCore-zephyr
- github.com/arduino/ArduinoCore-API
- github.com/arduino-libraries/Arduino_PortentaMachineControl
- github.com/arduino-libraries/Arduino_MachineControl
- github.com/arduino/portenta-containers
- Arduino Forum Portenta category
- ArduinoDiscord
- Wi-Fi no se reconecta tras perder el AP (core Mbed clásico): WiFi.begin a secas no volvía a unirse a un AP restaurado; era necesario un WiFi.end antes de volver a hacer begin. Reportado con MRE completa en arduino/ArduinoCore-mbed#382 (2022, cerrado).
- El firmware Wi-Fi puede perderse o corromperse → Wi-Fi muerto tras actualizaciones fallidas; la recuperación oficial consiste en ejecutar el sketch FlashFormat para restaurar el firmware del módulo (FAQ del README de ArduinoCore-zephyr, consultado el 2026-10-13).
- Cambios por la migración de core: el core Mbed está siendo reemplazado por el core Zephyr; las APIs, la compatibilidad de librerías y el modelo de grabado (cargador llext, modos "Standard/Debug", shell de Zephyr) difieren, y algunas funciones de Zephyr aún no se exportan a los sketches (solución alternativa llext_exports.c) (README de ArduinoCore-zephyr).
- Discontinuidad de la documentación: el sitio dedicado docs.portenta.io ya no resuelve (DNS ENOTFOUND, 2026-10-13) y el repositorio arduino/PortentaDocs devuelve 404 (2026-10-13); el contenido ahora vive en docs.arduino.cc — muchos enlaces profundos antiguos están muertos.
- Trampas del dual-core: los sketches deben grabarse en ambos núcleos para que los ejemplos de RPC funcionen, y el M7 debe dar tiempo al M4 a enlazar sus funciones remotas (los ejemplos oficiales insertan un delay(100) explícito tras RPC.begin en el M7) (ejemplo Basic_AddSub).
- Problema de tamaño de pila del cargador Zephyr: cargar un sketch desde el shell de Zephyr necesita una pila grande; los usuarios deben reducir la pila del shell en el .conf de la placa en compilaciones con poca RAM (FAQ del README de ArduinoCore-zephyr).
- Históricamente no había ejemplo de websocket para la pila Wi-Fi de Mbed (solicitud de la comunidad en arduino/ArduinoCore-mbed#589); pilas de terceros (p. ej. las de khoih-prog) cubrieron el hueco.
- Premier programme : installer le core et faire clignoter la LED (M7 à 480 MHz !) debutant Schéma : IMG-portenta-h7-debutant-1-portenta-h7-premier-programme.svg — Arduino Portenta H7 vue de dessus avec le SoC STM32H747XI (double coeur M7/M4) et la LED utilisateur LEDG mise en évidence, câble USB-C branché, deux connecteurs 80 broches annotés sous la carte
- Se connecter au Wi-Fi avec le module Murata 1DX (station WPA2) debutant Schéma : IMG-portenta-h7-debutant-2-portenta-h7-connexion-wifi.svg — Portenta H7 sur un bureau, ondes Wi-Fi reliant le module blindé Murata 1DX à une box Internet, terminal série affichant l'adresse IP obtenue, étiquette 802.11n 65 Mbps
- Apprivoiser les connecteurs 80 broches : bouton, LED et entrée analogique debutant Schéma : IMG-portenta-h7-debutant-3-portenta-h7-broches-gpio.svg — Portenta H7 sur breadboard avec ses deux connecteurs 80 broches en bas de carte, bouton poussoir sur une broche D avec pull-up interne, potentiomètre sur une broche A, porteuse Breakout à côté annotée compatible H7 Lite et X8
- Dual-core M7 ↔ M4 : appels de fonctions distants avec la bibliothèque RPC intermediaire Schéma : IMG-portenta-h7-intermediaire-1-portenta-h7-dual-core-rpc.svg — SoC STM32H747XI éclaté en deux coeurs Cortex-M7 480 MHz et Cortex-M4 240 MHz reliés par une flèche double étiquetée RPC/OpenAMP, croquis identique flashé sur chaque coeur, terminal série affichant add(1,2)=3
- Client HTTPS/TLS : interroger une API sécurisée via le Murata 1DX intermediaire Schéma : IMG-portenta-h7-intermediaire-2-portenta-h7-client-tls.svg — Portenta H7 envoyant un tunnel TLS en pointillés verts vers un serveur web distant via la box Internet, cadenas sur le tunnel, terminal série affichant le début de la réponse HTTP, étiquette certificats en flash
- Serveur web sur le port Ethernet 10/100 embarqué intermediaire Schéma : IMG-portenta-h7-intermediaire-3-portenta-h7-serveur-web-ethernet.svg — Portenta H7 reliée par un câble RJ45 (via porteuse ou connecteurs 80 broches) à un switch, un navigateur laptop affichant la page servie par l'IP de la carte, étiquettes PHY 10/100 et connecteurs 80 broches
- MicroPython + machine vision : le firmware OpenMV sur un cœur, C++ sur l'autre avance Schéma : IMG-portenta-h7-avance-1-portenta-h7-micropython-openmv.svg — Portenta H7 avec caméra branchée sur le connecteur CSI, écran OpenMV IDE affichant une image QVGA avec rectangle de détection, étiquettes MicroPython OpenMV sur un coeur et Arduino C++ sur l'autre, Vision Shield à côté
- Le core Zephyr : sketches ELF chargés à chaud via llext (fin du reflash complet) avance Schéma : IMG-portenta-h7-avance-2-portenta-h7-zephyr-llext.svg — architecture du core Zephyr sur Portenta H7 : loader Zephyr précompilé en bas, sketch compilé en ELF chargé dynamiquement par llext au-dessus, flèche d'upload sans reset, terminal Zephyr shell affichant la commande sketch
- Sécurité industrielle : bootloader MCUboot, secure boot, SE050 et OTA signé avance Schéma : IMG-portenta-h7-avance-3-portenta-h7-securite-boot-ota.svg — chaîne de confiance de la Portenta H7 en maillons : bootloader MCUboot, secure boot vérifiant la signature, élément sécurisé NXP SE050C2, mise à jour OTA signée entrant par le Wi-Fi, TrustZone-M en arrière-plan du SoC
Biblioteca de código — ejemplos escritos para esta placa
clignotante.inoArduinobouton-poussoir.inoArduinopwm-respiration.inoArduinoentree-analogique.inoArduinomulti-uart.inoArduinocapteur-i2c-bmp280.inoArduinorpc-coeur-m4.inoArduinoservo-angle.inoArduinoruban-neopixel.inoArduinobuzzer-melodie.inoArduino
Ejemplos y repositorios encontrados en línea
- arduino/ArduinoCore-mbed github.com
- hpssjellis/my-examples-for-the-arduino-portentaH7 github.com
- gdobato/portenta-h7 github.com
- gdobato/portenta-h7-async github.com