Famille STM32 Nucleo-64 F4 — modelo insignia: Nucleo-F401RE

STMicroelectronicsMCU 8-32 bitarduino

⚡ Lo esencial en 60 segundos

La familia de placas de desarrollo STM32 Nucleo-64, centrada en los microcontroladores de la serie STM32F4, representa uno de los puntos de entrada más accesibles y documentados al mundo de los sistemas embebidos de alto rendimiento. Dentro de esta gama, la placa Nucleo-F401RE se erige como el modelo insignia y la referencia canónica para la mayoría de los tutoriales y proyectos educativos. Esta tarjeta, basada en el microcontrolador STM32F401RET6, fue anunciada por STMicroelectronics en abril de 2013, mientras que las primeras placas Nucleo con soporte para entornos de desarrollo como mbed y conectores Arduino se lanzaron al mercado en febrero de 2014. Aunque la familia incluye otras variantes como la F410RB, F411RE y F446RE, la F401RE destaca por ser la más antigua en recibir soporte en el núcleo de Arduino STM32 y la que cuenta con la mayor cantidad de recursos de aprendizaje disponibles. Es importante notar que las placas de formato Nucleo-144, como la F429ZI, son físicamente diferentes y no se incluyen en esta descripción, la cual se centra exclusivamente en el formato de 64 pines.

El corazón de la Nucleo-F401RE es un microcontrolador basado en la arquitectura ARM Cortex-M4F. Para entender su potencia, es útil desglosar qué significa esta denominación. El "Cortex-M4" es un núcleo de procesador de 32 bits diseñado por ARM para aplicaciones de control en tiempo real, ofreciendo un equilibrio eficiente entre rendimiento y consumo de energía. La "F" al final indica la presencia de una Unidad de Punto Flotante (FPU, por sus siglas en inglés). Esto significa que el chip puede realizar cálculos matemáticos con números decimales de forma nativa y mucho más rápida que los microcontroladores más básicos que deben emular estas operaciones mediante software. Además, la serie F4 incluye instrucciones de Procesamiento Digital de Señales (DSP), lo que la hace ideal para tareas como filtrado de audio o control de motores. Este núcleo opera a una frecuencia máxima de 84 MHz. En términos sencillos, la frecuencia indica cuántos ciclos de reloj puede procesar el procesador por segundo; 84 millones de ciclos permiten ejecutar instrucciones complejas con gran fluidez. La placa cuenta con 512 KB de memoria Flash para almacenar el código del programa y 96 KB de memoria SRAM para el almacenamiento temporal de datos durante la ejecución, además de 0.5 KB de memoria OTP (One-Time Programmable) para datos únicos.

Una de las características más atractivas de esta placa es su versatilidad en la expansión de hardware. El diseño incorpora dos mundos de conectividad en una sola tarjeta. Por un lado, dispone de conectores compatibles con el estándar Arduino Uno V3, lo que permite utilizar una inmensa biblioteca de "shields" o módulos de expansión diseñados para las placas Arduino originales. Por otro lado, incluye los conectores "ST morpho", unos pines adicionales que exponen todas las entradas y salidas generales (GPIO) del microcontrolador. Los GPIO son los pines físicos que permiten leer sensores o controlar actuadores; mientras que los conectores Arduino ocultan algunos de estos pines para mantener la compatibilidad, los conectores morpho permiten acceder a la totalidad de las capacidades del chip, como los múltiples puertos de comunicación serie (USART/UART), interfaces I2C para sensores digitales, y buses SPI para tarjetas SD o pantallas.

La gestión de la energía y la programación se integran de manera elegante en la placa. La Nucleo-F401RE puede alimentarse a través del puerto USB o mediante una fuente externa de voltaje, con opciones para 3.3 V, 5 V o un rango de 7 a 12 V, seleccionables mediante puentes de conexión. Para el desarrollo, la placa incluye un depurador y programador integrado llamado ST-LINK/V2-1. Este componente cumple una triple función: permite depurar el código paso a paso desde el ordenador, crea un puerto serie virtual para enviar mensajes de texto desde el microcontrolador al PC (útil para ver resultados sin pantallas), y actúa como un dispositivo de almacenamiento masivo USB. Esta última función facilita la programación mediante arrastrar y soltar archivos, aunque el método principal sigue siendo la carga a través del protocolo SWD (Serial Wire Debug). Es crucial entender que el puerto USB físico de la placa está conectado al ST-LINK, no directamente al microcontrolador. Esto significa que, por defecto, la comunicación serie nativa del microcontrolador no está disponible en ese puerto USB, una distinción técnica que a menudo confunde a los principiantes que esperan una conexión USB directa al chip.

En cuanto al ecosistema de software, la placa goza de un soporte excepcional. Es totalmente compatible con el entorno oficial de STMicroelectronics, STM32CubeF4, que ofrece drivers y ejemplos listos para usar. También es una placa ciudadana de primera clase en el mundo de Arduino, admitida por el núcleo STM32duino desde sus primeras versiones. Esto permite a los usuarios escribir código en el lenguaje sencillo de Arduino y compilarlo para este potente microcontrolador ARM. Además, tiene soporte nativo en Zephyr RTOS, un sistema operativo en tiempo real moderno y escalable. Históricamente, la placa fue lanzada con soporte para la plataforma mbed, pero es vital señalar que los servicios en línea de mbed fueron descontinuados en julio de 2026 y el sistema operativo Mbed OS ya no se mantiene activamente por Arm. Los usuarios que dependían de este entorno deben migrar a soluciones como Zephyr, STM32CubeIDE o el proyecto comunitario Mbed CE. Finalmente, aunque la placa es robusta y ampliamente utilizada, los desarrolladores deben estar conscientes de que el soporte para versiones antiguas del IDE de Arduino (versión 1.x) ha sido eliminado en las versiones recientes del núcleo STM32, requiriendo ahora el uso de Arduino IDE 2.x o superior para garantizar la compatibilidad y el acceso a las últimas correcciones de errores.

Foro (1 tema) →

AttrEspecificacionesverificado
cpuARM Cortex-M4F (single core), 84 MHz max, with single-precision FPU and DSP instructions — the F4 series is ST's "high-performance" Cortex-M4F line (Wikipedia; Zephyr board doc).✔
gpunone (Cortex-M MCU).? sin verificar
memory512 KB flash, 96 KB SRAM, 0.5 KB OTP (Wikipedia table; Zephyr YAML ram: 96, flash: 512).? sin verificar
packageLQFP64 (STM32F401RET6) (Zephyr board doc).? sin verificar
supply_voltageVDD 1.7 V to 3.6 V (Zephyr board doc).? sin verificar
peripherals_on_chip_per_zephyr_board_doc12-bit ADC with 16 channels, RTC, 1 advanced-control timer + 7 general-purpose timers, 2 watchdog timers, 3× USART/UART, 3× I2C, 4× SPI, SDIO, USB 2.0 OTG FS, DMA controller, I2S.? sin verificar
dac? sin verificar
power_consumption_temperature_range? sin verificar
board_nucleo_f401re_mb1136- Expansion: Arduino Uno V3 shield connector plus ST morpho pin headers giving access to all MCU I/O (6×1, 2.54 mm) (Zephyr board doc; Wikipedia table). - Debug/program: on-board ST-LINK/V2-1 debugger/programmer with SWD connector; the ST-LINK host adapter provides SWD debugging, virtual COM port, and mass storage over USB (Wikipedia — STM32, Nucleo section). - USB: board USB connector is micro-B, full-speed (Wikipedia table "mini-B FS"; Zephyr lists USB VBUS supply). The MCU's USB OTG FS pins are broken out on the morpho headers, not wired to the board connector (the board connector goes to the ST-LINK side). - User I/O: 3 LEDs — LD1 (USB/COM), LD2 (user), LD3 (power); USER + RESET buttons (Zephyr board doc). User LED (LD2) = PA5 (STM32duino variant header, below). - Powering: flexible supply — USB VBUS or external source at 3.3 V, 5 V, or 7–12 V, with power-management access points (Zephyr board doc); board power chosen by jumpers. - Arduino shield 5 V: power can be taken from USB cable 5 V or external 5 V (Wikipedia Nucleo section).✔
  • Fabricante: STMicroelectronics (familia de placas: STM32 Nucleo, línea «discovery-meets-mbed»).
  • Año: los chips de la serie STM32F401 fueron anunciados en abril de 2013; ST anunció las primeras placas Nucleo (headers de Arduino + soporte del IDE mbed) en febrero de 2014 (Wikipedia — tabla histórica de STM32, consultado 2026-10-13).
  • Estado: activo en términos de software — la F401RE sigue siendo un destino admitido y probado en CI del core Arduino STM32 (Boards Manager, 2026), Zephyr main (board YAML), y STM32CubeF4 (GitHub).
  • Precio de lanzamiento: > ninguna cifra citable.
  • Variantes (línea Nucleo-64 F4): | Placa | MCU | Reloj | Flash | SRAM | |---|---|---|---|---| | Nucleo-F401RE (insignia) | STM32F401RET6 | 84 MHz | 512 KB (+0.5 KB OTP) | 96 KB | | Nucleo-F410RB | STM32F410RBT6 | 100 MHz | 128 KB (+0.5 KB OTP) | 32 KB | | Nucleo-F411RE | STM32F411RET6 | 100 MHz | 512 KB (+0.5 KB OTP) | 128 KB | | Nucleo-F446RE | STM32F446RET6 | 180 MHz | 512 KB | 132 KB | Fuente: tabla comparativa de Nucleo, Wikipedia — STM32 (consultado 2026-10-13); contrastado para la F401RE contra la documentación de placa y el YAML de Zephyr (96 KiB de RAM / 512 KiB de flash).

+ Puntos fuertes

  • FPU + DSP a 84 MHz en una placa de 64 pines consciente del coste — la F401RE llevó el punto flotante Cortex-M4F y las instrucciones DSP al extremo económico de la línea F4 (Wikipedia: F4 = serie Cortex-M4F de alto rendimiento; F401 anunciada en abr de 2013).
  • Depurador de tres personalidades a bordo: el ST-LINK/V2-1 se enumera como depurador SWD + puerto COM virtual + dispositivo de almacenamiento masivo USB (programación estilo arrastrar-y-soltar en la función MSD) — sección Nucleo de Wikipedia; UM1760 es el manual autoritativo de la placa.
  • Dos mundos de expansión en un PCB: huella shield Arduino Uno V3 y headers ST morpho para cada GPIO (doc de placa Zephyr) — los shields funcionan, pero el morpho expone el pinout completo que el header Arduino oculta.
  • USB OTG FS + SDIO integrados — USB dispositivo/host y streaming de tarjeta SD sin bit-banging (doc de placa Zephyr).
  • Placa de referencia del ecosistema: ciudadano de primera clase en Arduino STM32 (desde 0.2.1), Zephyr (bindings GPIO/I2C/SPI compatibles con Arduino: arduino_gpio, arduino_i2c, arduino_spi en el YAML de la placa), BSP de CubeF4, e históricamente mbed.
  • La compatibilidad mbed era una función de lanzamiento (anuncio de feb de 2014, Wikipedia) — una de las primeras placas en formato Arduino usable desde mbed.

− Puntos débiles

  • Cierre de la plataforma mbed (2026): la toolchain mbed en línea en la que se apoyan muchos tutoriales de Nucleo-F4 está muerta desde julio de 2026; Mbed OS no se mantiene aguas arriba — migrar a Mbed CE, Zephyr o CubeIDE (fuente, consultado 2026-10-13).
  • Arduino IDE 1.x abandonado: el core STM32duino ≥ 2.8.0 soporta solo Arduino IDE 2 (aviso en el README del core) — las capturas del gestor de placas de los tutoriales viejos ya no coinciden.
  • Serial no es USB nativo: en la variante F401RE, el Serial por defecto es USART2 cableado al puerto COM virtual del ST-LINK (SERIAL_UART_INSTANCE = 2, RX = PA3, TX = PA2) (header de varianteT/variant_NUCLEO_F401RE.h)). Los sketches que esperan USB-CDC en el conector de la placa se llevan una sorpresa — el socket USB de la placa habla con el ST-LINK, no con el periférico OTG del MCU.
  • Pegas de CubeF4 en GitHub: el repo es un agregado de submódulos — git clone --recursive es obligatorio, y el middleware con licencia (STM32_Audio, STemWin, TouchGFX) más algunas demos no están en GitHub (licencia click-through; paquete completo solo desde st.com con cuenta) (README del repo).
  • Acceso scriptado a st.com: las páginas de producto/datasheet devuelven 404 o cortan conexiones para fetchers no-navegador (observado el 2026-10-13) — prever descargas manuales de datasheets, UM1760 y RM0368.
  • >
  • Retour d'expérience expert expert — expert-microcontroleur
    • Le point critique actuellement sur la Nucleo F401RE, c'est la fin de vie de la plateforme mbed. Si vous suivez de vieux tutos en ligne, vous allez vous heurter a un mur car l'outillage en ligne est mort depuis juillet 2026 et Mbed OS n'est plus maintenu en amont. Il faut absolument migrer vers Mbed… — expert-microcontroleur
    • Merci pour l'alerte sur mbed, je pensais pouvoir suivre un tuto de 2024 tranquillement. Du coup, si je veux eviter la migration vers Mbed CE qui a l'air compliquee, est-ce que je peux rester sur le core Arduino STM32 ? Je vois que la fiche mentionne un support CI actif en 2026, mais je me demande s… — maker_debutant
    • Pour Arduino, c'est très stable actuellement, le F401RE est bien supporte dans le Boards Manager. Pas besoin de toucher a mbed si tu restes sur cet IDE. Le ST-LINK/V2-1 est generalement reconnu nativement, mais assure-toi d'avoir les derniers pilotes ST si le port COM apparait mal. L'avantage des c… — bidouilleur_hardware

Opiniones y proyectos de la comunidad

  • Zephyr `hello_world` on nucleo_f401re

    Zephyr hello_world en nucleo_f401re — la documentación oficial de la placa explica paso a paso (unverified au 2026-10-13) — interno alojado en sitio interno, estado en vivo verificado el 2026-10-13. Proyecto documentado en la ficha stm32f4-nucleo (MCU 8-32 bi…

Contenido no disponible todavía.

  • Cierre de la plataforma mbed (2026): la toolchain mbed en línea en la que se apoyan muchos tutoriales de Nucleo-F4 está muerta desde julio de 2026; Mbed OS no se mantiene aguas arriba — migrar a Mbed CE, Zephyr o CubeIDE (fuente, consultado 2026-10-13).
  • Arduino IDE 1.x abandonado: el core STM32duino ≥ 2.8.0 soporta solo Arduino IDE 2 (aviso en el README del core) — las capturas del gestor de placas de los tutoriales viejos ya no coinciden.
  • Serial no es USB nativo: en la variante F401RE, el Serial por defecto es USART2 cableado al puerto COM virtual del ST-LINK (SERIAL_UART_INSTANCE = 2, RX = PA3, TX = PA2) (header de varianteT/variant_NUCLEO_F401RE.h)). Los sketches que esperan USB-CDC en el conector de la placa se llevan una sorpresa — el socket USB de la placa habla con el ST-LINK, no con el periférico OTG del MCU.
  • Pegas de CubeF4 en GitHub: el repo es un agregado de submódulos — git clone --recursive es obligatorio, y el middleware con licencia (STM32_Audio, STemWin, TouchGFX) más algunas demos no están en GitHub (licencia click-through; paquete completo solo desde st.com con cuenta) (README del repo).
  • Acceso scriptado a st.com: las páginas de producto/datasheet devuelven 404 o cortan conexiones para fetchers no-navegador (observado el 2026-10-13) — prever descargas manuales de datasheets, UM1760 y RM0368.
  • >

Biblioteca de código — ejemplos escritos para esta placa

  • clignotante.c C

    El parpadeo de referencia en C puro con STM32 HAL: el LED de usuario en pin 5 cambia cada 500 ms gracias al tick SysTick de 1 ms de HAL. El esqueleto es el generado por STM32CubeIDE, listo para compi…

  • bouton-hal.c C

    El botón de usuario de la placa (GPIOA/GPIO_PIN_13, activo en HIGH) alterna el LED en cada pulsación. El antirrebote por muestreo a 50 Hz es el patrón estándar en C embebido, sin interrupciones ni es…

  • usart-printf.c C

    Redirigir printf() al USART en tres líneas: la placa envía sus medidas por el puerto serie virtual USB, visibles en un terminal a 115200 baudios. El patrón de retargeting es el mismo en toda la gama …

  • adc-temperature.c C

    El sensor térmico interno cuelga de un canal dedicado del ADC: este programa lo convierte, aplica la calibración típica de la ficha técnica e imprime la temperatura del circuito en grados Celsius por…

  • pwm-timer-led.c C

    El PWM hardware de un temporizador STM32 hace respirar un LED sin consumir CPU: el canal compara con el contador y genera la señal en autonomía. El ciclo de trabajo se expresa en porcentaje del perio…

  • servo-pwm.c C

    El temporizador configurado para contar microsegundos genera el impulso de control del servo (0,5 a 2,5 ms sobre periodo de 20 ms). La función servo_angle convierte cualquier ángulo en un valor de co…

  • i2c-oled.c C

    El protocolo I2C del SSD1306 se resume en dos bytes de control: 0x00 para orden, 0x40 para datos. Este programa envía la secuencia de inicialización y una imagen de prueba, sin librería: la mejor for…

  • watchdog-iwdg.c C

    El watchdog independiente IWDG reinicia la placa si el firmware deja de refrescarlo: aquí un bucle infinito simulado provoca el reset tras 30 ciclos. El puerto serie muestra claramente el rearranque …

  • rtc-reveil.c C

    La RTC mantiene la hora aunque se corte la alimentación (pila de botón o supercondensador de la placa): este programa imprime el reloj continuamente y lanza un despertador cada 10 s, base de las esta…

  • usart-reception.c C

    El DMA circular rellena el búfer UART sin interrumpir nunca la CPU: el bucle principal trocea el flujo en líneas y ejecuta órdenes ("led" alterna el LED de usuario). El patrón de referencia para un m…

Ejemplos y repositorios encontrados en línea