Las placas de desarrollo STM32 Nucleo de ST abarcan una amplia gama de opciones, entre las que se incluyen NUCLEO-F030R8 (compatible con STM32F0), NUCLEO-F103RB (compatible con STM32F), NUCLEO-F401RE (compatible con STM32F4) y NUCLEO-L152RE (compatible con STM32L1). Estas placas ofrecen diversas combinaciones de rendimiento, eficiencia energética y características. Las placas de desarrollo STM32 Nucleo integran el depurador/programador ST-Link y son compatibles con diversos entornos de desarrollo, como IAR EWARM, Keil MDK, mbed e IDE basados en GCC (Atollic TrueStudio). Esto facilita la creación de prototipos de nuevas aplicaciones MCU STM32. Este artículo ofrece una descripción general de las especificaciones clave y el diagrama de bloques de la placa STM32 NUCLEO-F401RE, junto con ejemplos de programación para las placas de desarrollo STM32 Nucleo.
Introducción a la placa NUCLEO-F401RE
La placa de desarrollo NUCLEO-F401RE, también conocida como NUCLEO-64, cuenta con el microcontrolador STM32F401RET6. Este controlador se basa en el núcleo RISC Arm® Cortex®-M4 de 32 bits y alto rendimiento, que funciona a una frecuencia de reloj de hasta 84 MHz. El núcleo Cortex-M4 incluye una unidad de punto flotante (FPU) de precisión simple y es compatible con todas las instrucciones y tipos de datos de procesamiento de datos de precisión simple de Arm. También incorpora un conjunto completo de instrucciones DSP y una unidad de protección de memoria (MPU) para mejorar la seguridad de las aplicaciones. La placa de desarrollo STM32 NUCLEO-F401RE ofrece a los usuarios una forma asequible y flexible de experimentar con la combinación de prestaciones y funciones de potencia que ofrecen los microcontroladores STM32. Elimina la necesidad de sondas separadas, ya que integra el depurador ST-LINK/V2-1. La placa de demostración STM32 NUCLEO-64 incluye una completa biblioteca de software gratuito y ejemplos proporcionados por el paquete STM32Cube MCU.
Especificaciones técnicas
- MCU: STM32F401RET6, 512 K de memoria flash, 96 K de RAM, paquete LQFP64
- ST-LINK/V2-1 integrado (con interfaz de programación/depuración SWD)
- Opciones de alimentación de la placa de demostración: USB Vbus o fuente externa de 5 V
- 3 indicadores LED
- 2 botones de usuario y un botón de reinicio
- Oscilador de cristal de 768 kHz
- Biblioteca de software gratuita y ejemplos: paquete STM32Cube MCU
Diagrama de bloques

Selección, mapa de pines y depuración de placas STM32 Nucleo
Una placa Nucleo-64 reúne el microcontrolador STM32, un depurador ST-LINK integrado, conectores compatibles con Arduino y filas de expansión ST Morpho, pero esos recursos no vuelven equivalentes todos los pines. En la NUCLEO-F401RE hay que consultar tanto el esquema de la placa como el manual de referencia del MCU, porque la hoja de datos por sí sola no muestra puentes de soldadura, alias de conectores ni cambios de revisión. Antes de asignar UART, SPI, temporizadores o entradas ADC, conviene comprobar la tabla de funciones alternativas y la tolerancia eléctrica real de cada GPIO.
- Variante y encapsulado: Verifique el sufijo exacto de la Nucleo, el STM32 montado, la memoria, los relojes disponibles y las instancias periféricas usadas por el firmware.
- Recorrido del conector: Relacione cada posición Arduino o Morpho con su puerto, función alternativa y posible carga compartida con LED, pulsador u oscilador.
- Ruta de ST-LINK: Determine si los puentes enlazan el depurador con el MCU local o habilitan SWD externo; no permita que dos controladores conduzcan las mismas líneas.
- Alimentación seleccionada: Revise las reglas para USB, VIN externo, 3,3 V y 5 V, conecte primero la masa y respete corriente máxima y polaridad.
- Prueba de arranque: Ejecute un parpadeo o puerto serie con reloj correcto, lea el identificador por SWD y archive el mapa junto con la revisión física.
Programación NUCLEO-F401RE - Comunicación serie
Este ejercicio de programación tiene como objetivo comprender el uso de la comunicación serie USART1 e implica dos tareas:
- Al encender la placa, enviar la cadena «System Start!» al ordenador host.
- Cuando el ordenador host envía el número hexadecimal 0xA1 a la placa de desarrollo, responder inmediatamente con la cadena «a1».
Herramientas necesarias:
- Placa de desarrollo: NUCLEO-F401RE (Nucleo64), módulo USB a TTL, 4 cables de puente
- Herramienta de desarrollo: CubeIDE v1.6, herramienta de depuración serie
Conexiones de hardware
Utilizar UART1: UART1 (pin TX: GPIOA9, pin RX: GPIOA10)

Configuración gráfica
Establecer modo de depuración.

Configure el puerto serie como USART1.
Escribir código en CubeIDE
En el archivo main.c, defina la cadena de transmisión de datos y la función de devolución de llamada para las interrupciones del puerto serie, como se muestra a continuación:

Comprueba si los datos recibidos en USART1 son 0xA1, responde en consecuencia y habilita la función de recepción controlada por interrupciones para seguir esperando datos entrantes.
En la función principal del archivo main.c, envíe «System Start!» al encender el dispositivo (línea 101) y habilite la función de recepción controlada por interrupciones (línea 104).

Depurar y ejecutar el código: conecte la placa de desarrollo al puerto USB del ordenador. Los resultados de la depuración y la ejecución serán los que se muestran a continuación:


Como se muestra en la captura de pantalla, la placa de desarrollo ha enviado correctamente un mensaje al ordenador.




