Affordable and flexible platform to ease prototyping using a STM32F401RET6 microcontroller.


The STM32 Nucleo board provides an affordable and flexible way for users to try out new ideas and build prototypes with any STM32 microcontroller line, choosing from the various combinations of performance, power consumption and features.

The Arduino™ connectivity support and ST Morpho headers make it easy to expand the functionality of the STM32 Nucleo open development platform with a wide choice of specialized shields.

The STM32 Nucleo board does not require any separate probe as it integrates the ST-LINK/V2-1 debugger/programmer.

Microcontroller features

  • STM32F401RET6 in LQFP64 package
  • ARM®32-bit Cortex®-M4 CPU with FPU
  • 84 MHz max CPU frequency
  • VDD from 1.7 V to 3.6 V
  • 512 KB Flash
  • 96 KB SRAM
  • GPIO (50) with external interrupt capability
  • 12-bit ADC with 16 channels
  • RTC
  • Advanced-control Timer
  • General Purpose Timers (7)
  • Watchdog Timers (2)
  • USART/UART (4)
  • I2C (3)
  • SPI (3)
  • SDIO
  • USB 2.0 OTG FS

Board features

  • Two types of extension resources
    • Arduino Uno Revision 3 connectivity
    • STMicroelectronics Morpho extension pin headers for full access to all STM32 I/Os
  • On-board ST-LINK/V2-1 debugger/programmer with SWD connector
    • Selection-mode switch to use the kit as a standalone ST-LINK/V2-1
  • Flexible board power supply
    • USB VBUS or external source (3.3 V, 5 V, 7 - 12 V)
    • Power management access point
  • User LED (LD2)
  • Two push buttons: USER and RESET
  • USB re-enumeration capability: three different interfaces supported on USB
    • Virtual Com port
    • Mass storage (USB Disk drive) for drag'n'drop programming
    • Debug port

Board pinout

Pins Legend


You can find more details on the available pins and labels in the PeripheralPins.c and PinNames.h files.

These files can be found in:

  • ARMmbed/mbed-os repository on GitHub (up-to-date version, used with mbed CLI commands)

  • mbed-dev library in (source files of the mbed library used on mbed compiler IDE)

Arduino-compatible headers

/media/uploads/bcostm/nucleo_f401re_2017_9_19_arduino_left.png /media/uploads/bcostm/nucleo_f401re_2017_9_19_arduino_right.png

Morpho headers

These headers give access to all STM32 pins. /media/uploads/bcostm/nucleo_f401re_2017_9_19_morpho_left.png /media/uploads/bcostm/nucleo_f401re_2017_9_19_morpho_right.png

Supported shields

ST X-NUCLEO boards

See Matrix of tested boards.

Other Non-ST boards

See here.

Getting started

This video shows how to get started with ARM mbed Integrated Development Environment using STM32 Nucleo platform:

Nucleo ST-LINK/V2 driver installation and firmware upgrade

  • Install the ST-LINK/V2 driver before connecting the Nucleo board to your PC the first time. Follow this LINK for all details.
  • For optimum performances, ensure that the Nucleo ST-LINK/V2 firmware is upgraded to the latest version. Follow this LINK for all details.

Technical references

For more information, please refer to:

Known limitations

The following section describes known limitations of the platform. Note that general issues are tracked into the mbed repository available on GitHub.

  • On Nucleo 64-pins boards, the D0 and D1 pins are not available per default as they are used by the STLink Virtual Comm Port. More information HERE

Tips and Tricks

Find more information in ST WIKI pages.

 Buy Now

You need to log in to post a discussion

Discussion topics

TopicRepliesLast post
sevenSegmant_stopwatch 0 18 Apr 2019 by Yarik Gricev
Nucleo F401RE and Quadrature encoders 30 20 Oct 2018 by MAINO MARIO
SERIAL_TX SERIAL_RX: not recieving data from STM32F401 0 04 Nov 2017 by Maria Chavez
NUCLEO-F401RE I2C slave problem 15 23 Jun 2017 by bus710 .
nucleo firmware update problem 1 07 Apr 2017 by Luca Sevà
Flashing and running STM Nucleo board in Linux 3 11 Oct 2016 by Robin Clark
HID reading doesn't work - nucleo STM32F401RE 0 22 Sep 2016 by Daniel Sierra
NUCLEO-F401RE SPI API problem 0 29 Aug 2016 by Jingxi Zhang
Nucleo F401RE and rotary encoders 0 01 Jul 2016 by Balazs Bornyasz
How to get unique ID 1 11 Mar 2016 by Joseph Ellsworth
F401RE out of reset time vs F103 2 15 Nov 2015 by Bill Bellis
Nucleo F401RE and Quadrature encoders 3 17 Jan 2015 by Miguel Sánchez
Offline compile & debug 9 13 Jan 2015 by Lukasz Buczynski
HTTP ERROR 2 14 Dec 2014 by enrico taormina
CoIDE mbed offline compile F401RE 11 13 Nov 2014 by Miguel Moreto
Weird Ticker Behavior Inside Class 1 11 Oct 2014 by Abraham Howell
ST Mbed status - betta ! 16 02 Oct 2014 by C T
Repeated Start of I2C does not work. 3 03 Aug 2014 by John Dyal
Unique Fully Open Source Educational Robot - Apeiros 2 14 Jul 2014 by Sergey Kordubin
Nucleo Robot 12 10 Jul 2014 by Sergey Kordubin
Speed up the board to 84MHz 13 27 Jun 2014 by Clive Turvey
Serial pc(SERIAL_TX,SERIAL_RX) problem. 8 20 Jun 2014 by Wim Huiskamp
Bad experience with the Nucleo F4 11 13 Jun 2014 by Wim Huiskamp
Nucleo Pinmap to Micro Pinout Diagram 12 25 May 2014 by bco stm
Upload with new version NOT WORKING !!!! 0 22 May 2014 by Roman Kuzmin
Crash oh upload 7 15 May 2014 by S. Ken San
wait not working on 401RE 10 10 May 2014 by hitesh koradia
Ethernet shield/module with ST Nucleo F401RE 1 23 Apr 2014 by Thomas Kirchner
Windows7 serial configuration for debug 10 22 Apr 2014 by Sea Food
Offline KeilMDK5.1 compile and Blink LED problem 8 14 Apr 2014 by aaron xu
See more related discussion topics


See more related questions