NUCLEO-F446RE is an ST development board with the STM32F446RE microcontroller (Cortex-M4F, 180 MHz). It has headers for Arduino Uno shields, ST Morpho headers with all the chip’s pins, and a snap-off ST-LINK/V2-1 programmer that also handles debugging.
The same board (MB1136) is used by NUCLEO-F401RE, F411RE and others – the pin layout on the headers is the same for most of them (the F302R8 is one exception), and they differ mainly in the functions the chip provides.
Specifications
- STM32F446RE: Arm Cortex-M4 with FPU, 180 MHz
- 512 kB flash, 128 kB SRAM
- 50 GPIO on the Morpho headers, Arduino Uno R3 headers
- 4× USART + 2× UART, 3× SPI, 3× I2C + FMPI2C, 2× CAN, 3× 12-bit ADC, 2× DAC, USB OTG
- ST-LINK/V2-1: uploading, debugging and virtual COM port over mini USB
- user button B1 (PC13), green LED LD2 (PA5)
- power from USB, 7–12 V via VIN or 5 V via E5V
You can program it in STM32CubeIDE, with PlatformIO, in the Arduino IDE (STM32duino core) or in MicroPython. When connected to USB, the board also shows up as a drive – uploading a program is just copying a .bin file.
Pinout and pin table
Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.
| Pin | Name | Arduino | Direction | UART | I2C | SPI | CAN | PWM | I2S (PCM) | ADC | DAC | Note |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CN7-1 | PC10 | input/output | TX3, TX4 | SCK3 | I2S3 CK | |||||||
| CN7-2 | PC11 | input/output | RX3, RX4 | MISO3 | ||||||||
| CN7-3 | PC12 | input/output | TX5, CK3 | SDA2 | MOSI3 | I2S3 SD | ||||||
| CN7-4 | PD2 | input/output | RX5 | |||||||||
| CN7-5 | VDD | output | MCU power 3.3 V | |||||||||
| CN7-6 | E5V | input | External 5 V input – jumper JP5 in the E5V position (pins 2–3) | |||||||||
| CN7-7 | BOOT0 | input | BOOT0 – logic 0 by default (boot from flash). A jumper between CN7-5 (VDD) and CN7-7 starts the built-in bootloader | |||||||||
| CN7-8 | GND | – | ||||||||||
| CN7-9 | NC | – | ||||||||||
| CN7-10 | NC | – | ||||||||||
| CN7-11 | NC | – | ||||||||||
| CN7-12 | IOREF | output | Voltage reference for shields (3.3 V) | |||||||||
| CN7-13 | PA13 | input/output | SWDIO – debugging via ST-LINK | |||||||||
| CN7-14 | RESET | input | MCU reset (NRST) – connect to GND, same as the black button B2 | |||||||||
| CN7-15 | PA14 | input/output | SWCLK – debugging via ST-LINK | |||||||||
| CN7-16 | 3V3 | output | 3.3 V output | |||||||||
| CN7-17 | PA15 | input/output | RTS4 | NSS1, NSS3 | T2CH1 | I2S1 WS, I2S3 WS | ||||||
| CN7-18 | 5V | output | Power 5 V (from USB, or from the regulator when powered from VIN) | |||||||||
| CN7-19 | GND | – | ||||||||||
| CN7-20 | GND | – | ||||||||||
| CN7-21 | PB7 | input/output | RX1 | SDA1 | T4CH2 | |||||||
| CN7-22 | GND | – | ||||||||||
| CN7-23 | PC13 | input/output | Blue button B1 USER (via SB17) | |||||||||
| CN7-24 | VIN | input | 7–12 V input for the 5 V regulator – jumper JP5 in the E5V position (pins 2–3) | |||||||||
| CN7-25 | PC14 | input/output | From revision MB1136 C-02 used by the 32.768 kHz crystal (X2) – on the header only after modifying SB48/SB49 | |||||||||
| CN7-26 | NC | – | ||||||||||
| CN7-27 | PC15 | input/output | From revision MB1136 C-02 used by the 32.768 kHz crystal (X2) – on the header only after modifying SB48/SB49 | |||||||||
| CN7-28 | PA0 | A0 | input/output | TX4, CTS2 | T2CH1, T5CH1 | ADC123_IN0 | ||||||
| CN7-29 | PH0 | input/output | From revision MB1136 C-02 the ST-LINK feeds an 8 MHz clock (MCO) here and the pin is not on the header | |||||||||
| CN7-30 | PA1 | A1 | input/output | RX4, RTS2 | T2CH2, T5CH2 | ADC123_IN1 | ||||||
| CN7-31 | PH1 | input/output | HSE crystal (X3) not fitted – pin is free | |||||||||
| CN7-32 | PA4 | A2 | input/output | CK2 | NSS1, NSS3 | I2S1 WS, I2S3 WS | ADC12_IN4 | DAC1 | ||||
| CN7-33 | VBAT | input | RTC backup (tied to VDD on the board) | |||||||||
| CN7-34 | PB0 | A3 | input/output | CTS4 | MOSI3 | T1CH2N, T3CH3, T8CH2N | I2S3 SD | ADC12_IN8 | ||||
| CN7-35 | PC2 | input/output | MISO2 | ADC123_IN12 | ||||||||
| CN7-36 | PC1 | A4 | input/output | MOSI2, MOSI3 | I2S2 SD, I2S3 SD | ADC123_IN11 | A4 (default). Solder jumpers SB46/SB52 (and opening SB51/SB56) route PB9 (I2C SDA) to A4 | |||||
| CN7-37 | PC3 | input/output | MOSI2 | I2S2 SD | ADC123_IN13 | |||||||
| CN7-38 | PC0 | A5 | input/output | ADC123_IN10 | A5 (default). Solder jumpers SB46/SB52 (and opening SB51/SB56) route PB8 (I2C SCL) to A5 | |||||||
| CN10-1 | PC9 | input/output | CTS5 | SDA3 | T3CH4, T8CH4 | |||||||
| CN10-2 | PC8 | input/output | RTS5, CK6 | T3CH3, T8CH3 | ||||||||
| CN10-3 | PB8 | D15 | input/output | SCL1 | CAN1 RX | T2CH1, T4CH3, T10CH1 | ||||||
| CN10-4 | PC6 | input/output | TX6 | T3CH1, T8CH1 | I2S2 MCK | |||||||
| CN10-5 | PB9 | D14 | input/output | SDA1 | NSS2 | CAN1 TX | T2CH2, T4CH4, T11CH1 | I2S2 WS | ||||
| CN10-6 | PC5 | input/output | RX3 | ADC12_IN15 | ||||||||
| CN10-7 | AVDD | output | Analog supply VDDA; AREF on the Arduino header | |||||||||
| CN10-8 | U5V | output | 5 V z USB konektoru ST-LINK | |||||||||
| CN10-9 | GND | – | ||||||||||
| CN10-10 | NC | – | ||||||||||
| CN10-11 | PA5 | D13 | input/output | SCK1 | T2CH1, T8CH1N | I2S1 CK | ADC12_IN5 | DAC2 | D13 – green LED LD2 | |||
| CN10-12 | PA12 | input/output | RTS1 | CAN1 TX | Microcontroller USB OTG FS D+ (no connector on the board) | |||||||
| CN10-13 | PA6 | D12 | input/output | MISO1 | T3CH1, T13CH1 | I2S2 MCK | ADC12_IN6 | |||||
| CN10-14 | PA11 | input/output | CTS1 | CAN1 RX | T1CH4 | Microcontroller USB OTG FS D− (no connector on the board) | ||||||
| CN10-15 | PA7 | D11 | input/output | MOSI1 | T1CH1N, T3CH2, T8CH1N, T14CH1 | I2S1 SD | ADC12_IN7 | |||||
| CN10-16 | PB12 | input/output | CK3 | NSS2 | CAN2 RX | I2S2 WS | ||||||
| CN10-17 | PB6 | D10 | input/output | TX1 | SCL1 | CAN2 TX | T4CH1 | |||||
| CN10-18 | NC | – | ||||||||||
| CN10-19 | PC7 | D9 | input/output | RX6 | SCK2 | T3CH2, T8CH2 | I2S2 CK, I2S3 MCK | |||||
| CN10-20 | GND | – | ||||||||||
| CN10-21 | PA9 | D8 | input/output | TX1 | SCK2 | T1CH2 | I2S2 CK | |||||
| CN10-22 | PB2 | input/output | MOSI3 | T2CH4 | I2S3 SD | BOOT1 | ||||||
| CN10-23 | PA8 | D7 | input/output | CK1 | SCL3 | T1CH1 | ||||||
| CN10-24 | PB1 | input/output | T1CH3N, T3CH4, T8CH3N | ADC12_IN9 | ||||||||
| CN10-25 | PB10 | D6 | input/output | TX3 | SCL2 | SCK2 | T2CH3 | I2S2 CK | ||||
| CN10-26 | PB15 | input/output | MOSI2 | T1CH3N, T8CH3N, T12CH2 | I2S2 SD | |||||||
| CN10-27 | PB4 | D5 | input/output | SDA3 | MISO1, NSS2, MISO3 | T3CH1 | I2S2 WS | |||||
| CN10-28 | PB14 | input/output | RTS3 | MISO2 | T1CH2N, T8CH2N, T12CH1 | |||||||
| CN10-29 | PB5 | D4 | input/output | MOSI1, MOSI3 | CAN2 RX | T3CH2 | I2S1 SD, I2S3 SD | |||||
| CN10-30 | PB13 | input/output | CTS3 | SCK2 | CAN2 TX | T1CH1N | I2S2 CK | |||||
| CN10-31 | PB3 | D3 | input/output | SDA2 | SCK1, SCK3 | T2CH2 | I2S1 CK, I2S3 CK | SWO – debug output to ST-LINK (via SB15) | ||||
| CN10-32 | AGND | – | Analog ground | |||||||||
| CN10-33 | PA10 | D2 | input/output | RX1 | T1CH3 | |||||||
| CN10-34 | PC4 | input/output | I2S1 MCK | ADC12_IN14 | ||||||||
| CN10-35 | PA2 | D1 | input/output | TX2 | T2CH3, T5CH3, T9CH1 | ADC123_IN2 | D1 = USART2 TX. By default routed to the ST-LINK (virtual COM port) and not on the headers – connect it via solder jumpers SB62/SB63 (and by opening SB13/SB14) | |||||
| CN10-36 | NC | – | ||||||||||
| CN10-37 | PA3 | D0 | input/output | RX2 | T2CH4, T5CH4, T9CH2 | ADC123_IN3 | D0 = USART2 RX. By default routed to the ST-LINK (virtual COM port) and not on the headers – see PA2 | |||||
| CN10-38 | NC | – |
What to watch out for
- D0 and D1 (PA3, PA2) are connected to the ST-LINK virtual COM port by default and are not on the header – to use them with a shield, connect them with solder jumpers SB62/SB63.
- Logic is 3.3 V. Many pins tolerate 5 V (marked FT in the datasheet), but the analog ones don’t – check before connecting a 5V signal.
- A4 and A5 are PC1 and PC0 (ADC) by default; I2C is on D14/D15 (PB9/PB8).
- When powering from VIN or E5V, move jumper JP5 to the E5V position and remove JP1.
- From revision C-02, PC14/PC15 and PH0 are taken by the crystal and the clock from the ST-LINK.
STM32 Nucleo on chiptron.eu/
On chiptron.eu/ you'll find these articles about Nucleo boards:
- STM32duino I. – first LED blink on a Nucleo-64 with STM32F411 in the Arduino IDE
- STM32 Nucleo – an introduction to the Nucleo development kits, including NUCLEO-F401RE
- STM32CubeIDE 2.x – what changed and where CubeMX went, tested on Nucleo-F767ZI
More pinouts
See all pinouts on the Pinouts page.