🛠 Premier programme : installer le core et faire clignoter la LED (M7 à 480 MHz !)
Objetivos
Descubrir la Arduino Portenta H7, el buque insignia industrial de Arduino (SKU ABX00042, ~120,80 € en la tienda oficial en octubre de 2026): un dual-core ST STM32H747XI con un Cortex-M7 de hasta 480 MHz (FPU de doble precisión) y un Cortex-M4 de hasta 240 MHz, 2 MB de flash interna, 8 MB de SDRAM y 16 MB de flash NOR externa. Vas a instalar el core correcto en el Board Manager, entender el doble modo de programación (M7 y/o M4) y hacer parpadear el LED con un primer programa serie.
Material
- 1 × Arduino Portenta H7 (las variantes H7 Lite / Lite Connected funcionan igual para este tutorial)
- 1 × cable USB-C de datos (los cables de carga baratos solo tienen alimentación)
- Arduino IDE 2.x o Arduino CLI
- En el Board Manager: «Arduino Mbed OS Portenta Boards» (el core histórico) o «Arduino Zephyr Boards» (el nuevo core llamado a reemplazarlo) — para este tutorial, el core Mbed
Código completo
// premier_programme.ino — blink + série sur la Portenta H7
// Dans l'IDE, sélectionne "Portenta H7" puis la cible M7 (ou M4).
int compteur = 0;
void setup {
Serial.begin(115200); // série sur le port USB-C
while (!Serial) {} // attends l'ouverture du moniteur série
pinMode(LEDG, OUTPUT); // LED verte embarquée (il y a aussi LEDR)
Serial.println("Portenta H7 - core M7 par defaut");
}
void loop {
digitalWrite(LEDG, HIGH); // LED ON
delay(250);
digitalWrite(LEDG, LOW); // LED OFF
delay(750);
Serial.print("tick "); Serial.println(compteur++);
}
Verificación esperada
El LED verde parpadea (250 ms ON / 750 ms OFF) y el monitor serie muestra los ticks. El programa se ejecuta por defecto en el Cortex-M7; el M4 permanece inactivo — será el tutorial de RPC dual-core el que lo despierte. Si la placa parece muerta, haz doble clic en RESET: entras en el bootloader MCUboot (el LED se desplaza) y «Burn bootloader» en el IDE restaura un bootloader limpio.
Errores frecuentes
- Cable USB-C «de carga» sin líneas de datos: la placa se alimenta pero nunca aparece en el IDE — es la causa n.º 1 de falsas averías.
- Buscar la documentación en docs.portenta.io: el antiguo sitio dedicado ya no resuelve (fallo de DNS) y el repositorio arduino/PortentaDocs devuelve 404; todo ha migrado a docs.arduino.cc — muchos enlaces profundos antiguos están rotos.
- Confundir los dos cores del Board Manager: el core Mbed (mbed_portenta) y el core Zephyr no tienen el mismo modelo de flash (el Zephyr pasa por un loader, ver el tutorial avanzado); no instales los dos «por si acaso» sin saber cuál estás apuntando.
- Olvidar que la placa tiene DOS núcleos: cuando flasques ejemplos RPC, tendrás que flasquear el mismo sketch en M7 y M4, de lo contrario la llamada remota fallará silenciosamente.
- Quedarse bloqueado en modo bootloader después de un doble clic: vuelve a hacer doble clic en RESET o conéctate al IDE para reflashear; el modo bootloader se señala con un comportamiento particular del LED.
- >
Otros tutoriales para esta placa
- Se connecter au Wi-Fi avec le module Murata 1DX (station WPA2)
- Apprivoiser les connecteurs 80 broches : bouton, LED et entrée analogique
- Dual-core M7 ↔ M4 : appels de fonctions distants avec la bibliothèque RPC
- Client HTTPS/TLS : interroger une API sécurisée via le Murata 1DX
- Serveur web sur le port Ethernet 10/100 embarqué
- MicroPython + machine vision : le firmware OpenMV sur un cœur, C++ sur l'autre
Ejemplos de código para esta placa
clignotante.inoArduinobouton-poussoir.inoArduinopwm-respiration.inoArduinoentree-analogique.inoArduinomulti-uart.inoArduinocapteur-i2c-bmp280.inoArduino