🛠 Premier Blink Arduino sur la Nucleo-F401RE avec le core STM32duino
Objetivos
Configura el núcleo STM32duino (Arduino_Core_STM32) y sube tu primer sketch a la Nucleo-F401RE. El nombre de la placa dentro del núcleo es NUCLEO_F401RE, compatible desde la versión 0.2.1 del núcleo — la más antigua y mejor documentada de la familia Nucleo F4 (F411RE desde la 0.2.1, F446RE desde la 1.1.1, F410RB desde la 2.11.0).
Hardware
- 1× Nucleo-F401RE + cable micro-USB de datos
- PC con Arduino IDE 2.x — desde la versión 2.8.0 del núcleo, Arduino IDE 1.x ya no es compatible, por lo que las capturas de pantalla del gestor de placas de tutoriales antiguos ya no coinciden
Pasos
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
- Arduino IDE 2 → Archivo → Preferencias → añade la URL del Gestor de Placas:
- Gestor de Placas → instala el paquete de placas STM32F4 del núcleo ST STM32.
- Herramientas → Placa → STSTM32F4 Boards → Nucleo F401RE.
- Conecta la placa; el ST-LINK enumera automáticamente un puerto COM virtual — sin necesidad de instalar controladores en un sistema operativo moderno.
- Sube el siguiente sketch y luego abre el monitor serie a 115200.
Código
const int kLedPin = LED_BUILTIN; // PA5 = on-board LD2 (variant header: LED_GREEN PA5)
void setup {
pinMode(kLedPin, OUTPUT);
Serial.begin(115200); // USART2 via the ST-LINK virtual COM port
}
void loop {
digitalWrite(kLedPin, HIGH); delay(150);
digitalWrite(kLedPin, LOW); delay(150);
Serial.println("tick");
}
Resultado esperado
El LED LD2 parpadea a aproximadamente 3 Hz y el monitor serie (115200 baudios, el VCP del ST-LINK) imprime tick en cada semiperiodo. El núcleo también incluye un árbol examples/ (blink, sensores, comunicaciones) que se compila para NUCLEO_F401RE sin configuración adicional — la forma más rápida de avanzar desde este sketch.
Errores comunes
Serialno es USB nativo: en esta variante es USART2 (RX = PA3, TX = PA2) conectado al puerto COM virtual del ST-LINK. Los sketches que esperan USB-CDC en el conector de la placa se llevan una sorpresa.- Seleccionar la placa Nucleo incorrecta: los mapas de pines y los pines de los LED difieren entre F401RE, F410RB, F411RE y F446RE.
- Seguir una captura de pantalla de Arduino IDE 1.x: el núcleo ≥ 2.8.0 solo es compatible con IDE 2.
- Copiar código heredado de mbed: los servicios en línea de mbed se retiraron en julio de 2026 — usa este núcleo, Zephyr o la cadena de herramientas Cube en su lugar (fork comunitario: Mbed CE).
Otros tutoriales para esta placa
- Prise en main de la Nucleo-F401RE : ST-LINK, LED LD2 et alimentation
- Console série sur le ST-LINK VCP : printf, ADC 12 bits et piège du USB
- STM32CubeF4 et HAL : blink + UART printf générés pour la Nucleo-F401RE
- ADC 12 bits et PWM sur la Nucleo-F401RE : oversampling, millivolts et LED en fondu
- Zephyr RTOS sur la Nucleo-F401RE : west build, devicetree et west flash
- Bare-metal sur le STM32F401 : clignoter LD2 en écrivant les registres GPIO