# STM32 Nucleo-64 (F401RE): specs and pinout

> ST NUCLEO-F401RE: an STM32F401RET6 board with an on-board ST-LINK/V2-1 debugger, Arduino Uno-style connectors and ST Morpho headers.

[HTML version](https://soldr.ai/docs/boards/stm32-nucleo-f401re)

[Docs](https://soldr.ai/docs) / [Boards](https://soldr.ai/docs/boards)

ST NUCLEO-F401RE: an STM32F401RET6 board with an on-board ST-LINK/V2-1 debugger, Arduino Uno-style connectors and ST Morpho headers.

Every value cites its sourceOfficial pinout

[Buy on Compoden](https://compoden.com/products/stm32-nucleo-64-f401re)

## Specs

| Spec | Value | Source |
|---|---|---|
| MCU | STM32F401RET6 | source p.2, board table (NUCLEO-F401RE row) |
| I/O logic level | 3.3 V: UM1724 states the I/Os are 3.3 V compatible instead of 5 V as on Arduino Uno; do not rely on 5 V tolerance when using Uno shields | source Arduino connectors section (p.30) |
| Board power input VIN (CN6 pin 8 / CN7 pin 24) | 7 V to 12 V; input current 800 mA at 7 V, 450 mA at 7-9 V, 250 mA at 9-12 V | source Table 6 External power sources (p.15) |
| Board power input E5V (CN7 pin 6) | 4.75 V to 5.25 V, max 500 mA | source Table 6 External power sources (p.15) |
| Board power input +3V3 (CN6 pin 4, CN7 pins 12 and 16) | 3 V to 3.6 V, only when the ST-LINK part is cut or SB2 and SB12 are off | source Section 5.3.3, Table 8 (p.17) |
| Debugger | On-board ST-LINK/V2-1 with SWD | source Features list (p.6) |
| User LED / button | LD2 green LED on Arduino D13; B1 USER button on PC13 | source Section 5.4 LEDs; section 5.5 Push buttons (p.17-18) |

## Power

| | Value | Source |
|---|---|---|
| Supply | USB (ST-LINK connector), VIN 7-12 V, E5V 4.75-5.25 V, or +3V3 3-3.6 V in the special case above | source Section 5.3 and Tables 6, 8 (p.15-17) |

## Pinout

Rows are the Arduino connectors CN5, CN6, CN8 and CN9 from UM1724 Rev 9 Table 15. The ST Morpho connectors CN7 and CN10 carry more pins (Table 27) and are not listed beyond the power pins and PC13. Rows are from UM1724 Rev 9 (Aug 2015).

| Pin | Function | Voltage | Notes | Source |
|---|---|---|---|---|
| IOREF | 3.3 V reference for shields | 3.3 V | CN6 pin 2 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| NRST (RESET) | Reset | 3.3 V | CN6 pin 3 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| +3V3 | 3.3 V input/output | 3.3 V | CN6 pin 4; CN7 pins 12 and 16 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37); Table 8 |
| +5V | 5 V output | 5 V | CN6 pin 5; CN7 pin 18 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| GND | Ground | | CN6 pins 6 and 7 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| VIN | Power input | 7 V to 12 V | CN6 pin 8; CN7 pin 24 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37); Table 6 |
| A0 (PA0) | ADC1_0 | | CN8 pin 1 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| A1 (PA1) | ADC1_1 | | CN8 pin 2 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| A2 (PA4) | ADC1_4 | | CN8 pin 3 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| A3 (PB0) | ADC1_8 | | CN8 pin 4 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| A4 (PC1 or PB9) | ADC1_11 (PC1) or I2C1_SDA (PB9) | | CN8 pin 5; choice set by solder bridges (Table 9) | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| A5 (PC0 or PB8) | ADC1_10 (PC0) or I2C1_SCL (PB8) | | CN8 pin 6; choice set by solder bridges (Table 9) | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D15 (PB8) | I2C1_SCL | | CN5 pin 10 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D14 (PB9) | I2C1_SDA | | CN5 pin 9 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| AREF | AVDD | | CN5 pin 8 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D13 (PA5) | SPI1_SCK | | CN5 pin 6; also the green LED LD2 (Section 5.4) | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D12 (PA6) | SPI1_MISO | | CN5 pin 5 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D11 (PA7) | TIM1_CH1N or SPI1_MOSI | | CN5 pin 4 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D10 (PB6) | TIM4_CH1 or SPI1_CS | | CN5 pin 3 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D9 (PC7) | TIM3_CH2 | | CN5 pin 2 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D8 (PA9) | no alternate function listed | | CN5 pin 1 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D7 (PA8) | no alternate function listed | | CN9 pin 8 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D6 (PB10) | TIM2_CH3 | | CN9 pin 7 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D5 (PB4) | TIM3_CH1 | | CN9 pin 6 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D4 (PB5) | no alternate function listed | | CN9 pin 5 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D3 (PB3) | TIM2_CH2 | | CN9 pin 4 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D2 (PA10) | no alternate function listed | | CN9 pin 3 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D1 (PA2) | USART2_TX | | CN9 pin 2 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| D0 (PA3) | USART2_RX | | CN9 pin 1 | source Table 15 Arduino connectors on NUCLEO-F401RE (p.36-37) |
| PC13 | User button B1 (USER) | 3.3 V | ST Morpho CN7 pin 23 | source Section 5.5 Push buttons (p.18); Table 27 Morpho connector |

## Build with it
Project ideas for the STM32 Nucleo-64 (F401RE). Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.

- [A temperature and pressure logger over serial with an STM32 Nucleo-64 F401RE and a BME280 sensor module](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20temperature%20and%20pressure%20logger%20over%20serial%20with%20an%20STM32%20Nucleo-64%20F401RE%20and%20a%20BME280%20sensor%20module): The Nucleo I2C1 lines are D14 (SDA) and D15 (SCL) at 3.3 V logic. The stocked BME280 module is listed as a 5 V version and its supply and logic levels are not documented here: check the module before connecting it to the 3.3 V pins. Readings go to the ST-LINK virtual serial port.
- [A potentiometer controlled servo sweeper with an STM32 Nucleo-64 F401RE, a 10k potentiometer and an SG90 servo](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20potentiometer%20controlled%20servo%20sweeper%20with%20an%20STM32%20Nucleo-64%20F401RE%2C%20a%2010k%20potentiometer%20and%20an%20SG90%20servo): The potentiometer wiper goes to ADC pin A0 (3.3 V supply); the servo signal goes to a timer pin such as D5. Power the servo from its own 5 V supply with grounds joined, since the board&#x27;s 5 V comes from USB or VIN with limited current.
- [A desk clock that shows time from a DS3231 on a 0.96 inch OLED with an STM32 Nucleo-64 F401RE](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20desk%20clock%20that%20shows%20time%20from%20a%20DS3231%20on%20a%200.96%20inch%20OLED%20with%20an%20STM32%20Nucleo-64%20F401RE): Both modules share the I2C1 bus on D14 and D15 at 3.3 V; check each module&#x27;s address and that its pull-ups and supply suit 3.3 V.
- [A tilt angle readout over serial with an STM32 Nucleo-64 F401RE and an MPU6050 module](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20tilt%20angle%20readout%20over%20serial%20with%20an%20STM32%20Nucleo-64%20F401RE%20and%20an%20MPU6050%20module): The MPU6050 module talks I2C on D14 and D15; running it from 3.3 V keeps the logic levels the same as the board.

## Common mistakes

- Feeding 5 V logic into the I/O pins: UM1724 states the board I/Os are 3.3 V compatible, not 5 V like the Arduino Uno, so do not rely on 5 V tolerance on shields (source: [link](https://www.farnell.com/datasheets/1955466.pdf), Arduino connectors, p.30)
- Supplying VIN outside 7 V to 12 V, or drawing more than the limit for your input voltage (250 mA at 9-12 V) (source: [link](https://www.farnell.com/datasheets/1955466.pdf), Table 6, p.15)
- Powering the board through +3V3 while the ST-LINK is still connected: the ST-LINK is then unpowered, so programming and debug stop working (source: [link](https://www.farnell.com/datasheets/1955466.pdf), section 5.3.3, p.17)

## Not covered by the official source

- Values are from UM1724 Rev 9 (2015) and are not compared with newer revisions.
- Morpho connector rows (CN7, CN10) other than power and PC13 are not given on this page.
- The A4/A5 pin choice depends on solder bridges (Table 9); defaults are not stated here.
- CPU speed, memory size, MCU supply range and temperature range are not given here. See the ST STM32F401xD/xE datasheet.

## Sources

- [link](https://www.farnell.com/datasheets/1955466.pdf) (UM1724 STM32 Nucleo-64 boards user manual, DocID025833 Rev 9, Aug 2015)
