STM32 Nucleo-F446RE

The fastest Nucleo-64: a 180 MHz Cortex-M4F with DACs, CAN and an on-board ST-LINK, on Arduino Uno headers.

  • MicrocontrollerSTM32F446RET6, Arm Cortex-M4 with FPU, up to 180 MHz
  • Memory512 KB flash, 128 KB SRAM, 4 KB backup SRAM
  • Chip supply1.7 V to 3.6 V
  • Analog3 x 12-bit 2.4 MSPS ADC (16 channels on LQFP64); 2 x 12-bit DAC
STM32 Nucleo-F446RE, The fastest Nucleo-64: a 180 MHz Cortex-M4F with DACs, CAN and an on-board ST-LINK, on Arduino Uno headers.
In short

The Nucleo-F446RE is ST's Nucleo-64 board around an STM32F446RET6, an Arm Cortex-M4F at up to 180 MHz with 512 KB of flash, 128 KB of SRAM, two 12-bit DAC channels and two CAN controllers (STM32F446xC/E datasheet, p. 1). Power and program it through the mini-USB of its on-board ST-LINK/V2-1, which also carries Serial (USART2) as a virtual COM port, or feed 7 V to 12 V into VIN (UM1724, pp. 16, 21, 25). Its Arduino Uno headers run at 3.3 V: I2C on D14/D15 (PB9/PB8), LD2 on D13 (PA5), the user button on PC13 (UM1724, pp. 23, 47).

The NUCLEO-F446RE is the top of ST's F4 range on the Nucleo-64 board (MB1136, documented in UM1724). It pairs an STM32F446RET6 in LQFP64 with a snap-off ST-LINK/V2-1 that programs, debugs and powers it over one mini-USB cable, and exposes the chip through Arduino Uno V3 headers and two ST morpho headers that reach every MCU pin (UM1724, pp. 15, 16).

The STM32F446 runs its Cortex-M4 core with FPU at up to 180 MHz, 225 DMIPS, from 512 KB of flash and 128 KB of SRAM plus 4 KB of backup SRAM. Its peripherals go well beyond the F401's: three 12-bit 2.4 MSPS ADCs, two 12-bit DAC channels, two CAN 2.0B controllers, two SAI audio interfaces, Quad-SPI, SDIO and USB OTG (STM32F446xC/E datasheet, p. 1). In LQFP64 it gives 50 GPIOs and 16 ADC channels (p. 14).

The board layout is the same as every Nucleo-64: Serial is USART2 on PA2/PA3, routed to the ST-LINK's virtual COM port rather than to D0/D1 as shipped, I2C is on D14/D15, and A4/A5 are PC1/PC0 (UM1724, pp. 25, 47). The DAC outputs land on A2 (PA4) and D13 (PA5), so analogWrite on those pins gives a true voltage. It is a common choice for audio, motor control and CAN bus projects in STM32CubeIDE, Arduino (STM32duino), PlatformIO or Mbed.

STM32 Nucleo-F446RE pinout

tinkered.ai/components/stm32-nucleo-f446reSTM32 Nucleo-F446…IOREFPowerNRSTRESET (NRST)3V3Power5VPowerGNDGroundGND_2GroundVINPowerA0Digital · ADC123_IN0 · PWM · UART4 TX · UART USART2 CTSA1Digital · ADC123_IN1 · PWM · UART4 RX · UART USART2 RTSA2Digital · ADC12_IN4 · DAC DAC1 OUT1 · I2S I2S1 WS · I2S I2S3 WS · SPI1 NSS · SPI3 NSSA3Digital · ADC12_IN8 · I2S I2S3 SD · SDIO SDIO D1 · SPI3 MOSI · PWM · UART4 CTSA4Digital · ADC123_IN11 · I2S I2S2 SD · I2S I2S3 SD · SPI2 MOSI · SPI3 MOSIA5Digital · ADC123_IN10D8Digital · I2S I2S2 CK · SPI2 SCK · PWM · UART USART1 TXD9Digital · I2S I2S2 CK · I2S I2S3 MCK · SDIO SDIO D7 · SPI2 SCK · PWM · UART USART6 RXD10Digital · CAN CAN2 TX · I2C1 SCL · PWM · UART USART1 TXD11Digital · ADC12_IN7 · I2S I2S1 SD · SPI1 MOSI · PWMD12Digital · ADC12_IN6 · I2S I2S2 MCK · SPI1 MISO · PWMD13Digital · ADC12_IN5 · DAC DAC1 OUT2 · I2S I2S1 CK · SPI1 SCK · PWMGND_3GroundAREFPowerD14Digital · CAN CAN1 TX · I2C1 SDA · I2S I2S2 WS · SDIO SDIO D5 · SPI2 NSS · PWMD15Digital · CAN CAN1 RX · I2C1 SCL · SDIO SDIO D4 · PWMD0D0 (not connected: PA3 through SB62, open as shipped)D1D1 (not connected: PA2 through SB63, open as shipped)D2Digital · PWM · UART USART1 RXD3Digital · I2C2 SDA · I2S I2S1 CK · I2S I2S3 CK · SPI1 SCK · SPI3 SCK · PWMD4Digital · CAN CAN2 RX · I2S I2S1 SD · I2S I2S3 SD · SPI1 MOSI · SPI3 MOSI · PWMD5Digital · I2C3 SDA · I2S I2S2 WS · SPI1 MISO · SPI2 NSS · SPI3 MISO · PWMD6Digital · I2C2 SCL · I2S I2S2 CK · SPI2 SCK · PWM · UART USART3 TXD7Digital · I2C3 SCL · PWMCN7_1Digital · I2S I2S3 CK · SDIO SDIO D2 · SPI3 SCK · UART4 TX · UART USART3 TXCN7_2Digital · SDIO SDIO D3 · SPI3 MISO · UART4 RX · UART USART3 RXCN7_3Digital · I2C2 SDA · I2S I2S3 SD · SDIO SDIO CK · SPI3 MOSI · UART5 TXCN7_4Digital · SDIO SDIO CMD · UART5 RXCN7_5PowerCN7_6PowerCN7_7strappingCN7_8GroundCN7_9CN7-9 (NC)CN7_10CN7-10 (NC)CN7_11CN7-11 (NC)CN7_12PowerCN7_13DigitalCN7_14DigitalCN7_15DigitalCN7_16PowerCN7_17Digital · I2S I2S1 WS · I2S I2S3 WS · SPI1 NSS · SPI3 NSS · PWM · UART4 RTSCN7_18PowerCN7_19GroundCN7_20GroundCN7_21Digital · I2C1 SDA · PWM · UART USART1 RXCN7_22GroundCN7_23DigitalCN7_24PowerCN7_25DigitalCN7_26CN7-26 (NC)CN7_27DigitalCN7_28Digital · ADC123_IN0 · PWM · UART4 TX · UART USART2 CTSCN7_29DigitalCN7_30Digital · ADC123_IN1 · PWM · UART4 RX · UART USART2 RTSCN7_31DigitalCN7_32Digital · ADC12_IN4 · DAC DAC1 OUT1 · I2S I2S1 WS · I2S I2S3 WS · SPI1 NSS · SPI3 NSSCN7_33PowerCN7_34Digital · ADC12_IN8 · I2S I2S3 SD · SDIO SDIO D1 · SPI3 MOSI · PWM · UART4 CTSCN7_35Digital · ADC123_IN12 · SPI2 MISOCN7_36Digital · ADC123_IN11 · I2S I2S2 SD · I2S I2S3 SD · SPI2 MOSI · SPI3 MOSICN7_37Digital · ADC123_IN13 · I2S I2S2 SD · SPI2 MOSICN7_38Digital · ADC123_IN10CN10_1Digital · I2C3 SDA · SDIO SDIO D1 · PWM · UART5 CTSCN10_2Digital · SDIO SDIO D0 · PWM · UART5 RTSCN10_3Digital · CAN CAN1 RX · I2C1 SCL · SDIO SDIO D4 · PWMCN10_4Digital · I2S I2S2 MCK · SDIO SDIO D6 · PWM · UART USART6 TXCN10_5Digital · CAN CAN1 TX · I2C1 SDA · I2S I2S2 WS · SDIO SDIO D5 · SPI2 NSS · PWMCN10_6Digital · ADC12_IN15 · UART USART3 RXCN10_7PowerCN10_8PowerCN10_9GroundCN10_10CN10-10 (NC)CN10_11Digital · ADC12_IN5 · DAC DAC1 OUT2 · I2S I2S1 CK · SPI1 SCK · PWMCN10_12Digital · CAN CAN1 TX · UART USART1 RTS · USB USB D+CN10_13Digital · ADC12_IN6 · I2S I2S2 MCK · SPI1 MISO · PWMCN10_14Digital · CAN CAN1 RX · PWM · UART USART1 CTS · USB USB D-CN10_15Digital · ADC12_IN7 · I2S I2S1 SD · SPI1 MOSI · PWMCN10_16Digital · CAN CAN2 RX · I2S I2S2 WS · SPI2 NSSCN10_17Digital · CAN CAN2 TX · I2C1 SCL · PWM · UART USART1 TXCN10_18CN10-18 (NC)CN10_19Digital · I2S I2S2 CK · I2S I2S3 MCK · SDIO SDIO D7 · SPI2 SCK · PWM · UART USART6 RXCN10_20GroundCN10_21Digital · I2S I2S2 CK · SPI2 SCK · PWM · UART USART1 TXCN10_22Digital · I2S I2S3 SD · SDIO SDIO CK · SPI3 MOSI · PWMCN10_23Digital · I2C3 SCL · PWMCN10_24Digital · ADC12_IN9 · SDIO SDIO D2 · PWMCN10_25Digital · I2C2 SCL · I2S I2S2 CK · SPI2 SCK · PWM · UART USART3 TXCN10_26Digital · I2S I2S2 SD · SPI2 MOSI · PWMCN10_27Digital · I2C3 SDA · I2S I2S2 WS · SPI1 MISO · SPI2 NSS · SPI3 MISO · PWMCN10_28Digital · SPI2 MISO · PWM · UART USART3 RTSCN10_29Digital · CAN CAN2 RX · I2S I2S1 SD · I2S I2S3 SD · SPI1 MOSI · SPI3 MOSI · PWMCN10_30Digital · CAN CAN2 TX · I2S I2S2 CK · SPI2 SCK · PWM · UART USART3 CTSCN10_31Digital · I2C2 SDA · I2S I2S1 CK · I2S I2S3 CK · SPI1 SCK · SPI3 SCK · PWMCN10_32PowerCN10_33Digital · PWM · UART USART1 RXCN10_34Digital · ADC12_IN14 · I2S I2S1 MCKCN10_35Digital · ADC123_IN2 · PWM · UART USART2 TXCN10_36CN10-36 (NC)CN10_37Digital · ADC123_IN3 · PWM · UART USART2 RXCN10_38CN10-38 (NC)
PinFunctionType
IOREFIOREF (3.3 V)power out
NRSTRESET (NRST)input
3V3+3.3V3.3 Vpower out
5V+5V5 Vpower out
GNDGNDpower in
GND_2GNDpower in
VINVIN (7-12 V)power in
A0Digital, ADC123_IN0, PWM, UART4 TX, UART USART2 CTS3.3 V, 5 V tolerantbidirectional
A1Digital, ADC123_IN1, PWM, UART4 RX, UART USART2 RTS3.3 V, 5 V tolerantbidirectional
A2Digital, ADC12_IN4, DAC DAC1 OUT1, I2S I2S1 WS, I2S I2S3 WS, SPI1 NSS, SPI3 NSS3.3 Vbidirectional
A3Digital, ADC12_IN8, I2S I2S3 SD, SDIO SDIO D1, SPI3 MOSI, PWM, UART4 CTS3.3 V, 5 V tolerantbidirectional
A4Digital, ADC123_IN11, I2S I2S2 SD, I2S I2S3 SD, SPI2 MOSI, SPI3 MOSI3.3 V, 5 V tolerantbidirectional
A5Digital, ADC123_IN103.3 V, 5 V tolerantbidirectional
D8Digital, I2S I2S2 CK, SPI2 SCK, PWM, UART USART1 TX3.3 V, 5 V tolerantbidirectional
D9Digital, I2S I2S2 CK, I2S I2S3 MCK, SDIO SDIO D7, SPI2 SCK, PWM, UART USART6 RX3.3 V, 5 V tolerantbidirectional
D10Digital, CAN CAN2 TX, I2C1 SCL, PWM, UART USART1 TX3.3 V, 5 V tolerantbidirectional
D11Digital, ADC12_IN7, I2S I2S1 SD, SPI1 MOSI, PWM3.3 V, 5 V tolerantbidirectional
D12Digital, ADC12_IN6, I2S I2S2 MCK, SPI1 MISO, PWM3.3 V, 5 V tolerantbidirectional
D13Digital, ADC12_IN5, DAC DAC1 OUT2, I2S I2S1 CK, SPI1 SCK, PWM3.3 Vbidirectional
GND_3GNDpower in
AREFAREF (AVDD)power out
D14Digital, CAN CAN1 TX, I2C1 SDA, I2S I2S2 WS, SDIO SDIO D5, SPI2 NSS, PWM3.3 V, 5 V tolerantbidirectional
D15Digital, CAN CAN1 RX, I2C1 SCL, SDIO SDIO D4, PWM3.3 V, 5 V tolerantbidirectional
D0D0 (not connected: PA3 through SB62, open as shipped)bidirectional
D1D1 (not connected: PA2 through SB63, open as shipped)bidirectional
D2Digital, PWM, UART USART1 RX3.3 V, 5 V tolerantbidirectional
D3Digital, I2C2 SDA, I2S I2S1 CK, I2S I2S3 CK, SPI1 SCK, SPI3 SCK, PWM3.3 V, 5 V tolerantbidirectional
D4Digital, CAN CAN2 RX, I2S I2S1 SD, I2S I2S3 SD, SPI1 MOSI, SPI3 MOSI, PWM3.3 V, 5 V tolerantbidirectional
D5Digital, I2C3 SDA, I2S I2S2 WS, SPI1 MISO, SPI2 NSS, SPI3 MISO, PWM3.3 V, 5 V tolerantbidirectional
D6Digital, I2C2 SCL, I2S I2S2 CK, SPI2 SCK, PWM, UART USART3 TX3.3 V, 5 V tolerantbidirectional
D7Digital, I2C3 SCL, PWM3.3 V, 5 V tolerantbidirectional
CN7_1Digital, I2S I2S3 CK, SDIO SDIO D2, SPI3 SCK, UART4 TX, UART USART3 TX3.3 V, 5 V tolerantbidirectional
CN7_2Digital, SDIO SDIO D3, SPI3 MISO, UART4 RX, UART USART3 RX3.3 V, 5 V tolerantbidirectional
CN7_3Digital, I2C2 SDA, I2S I2S3 SD, SDIO SDIO CK, SPI3 MOSI, UART5 TX3.3 V, 5 V tolerantbidirectional
CN7_4Digital, SDIO SDIO CMD, UART5 RX3.3 V, 5 V tolerantbidirectional
CN7_5CN7-5 (VDD)power out
CN7_6CN7-6 (E5V)power in
CN7_7strappinginput
CN7_8CN7-8 (GND)power in
CN7_9CN7-9 (NC)no connect
CN7_10CN7-10 (NC)no connect
CN7_11CN7-11 (NC)no connect
CN7_12CN7-12 (IOREF)power out
CN7_13Digital3.3 V, 5 V tolerantbidirectional
CN7_14Digital3.3 Vinput
CN7_15Digital3.3 V, 5 V tolerantbidirectional
CN7_16CN7-16 (+3.3V)power out
CN7_17Digital, I2S I2S1 WS, I2S I2S3 WS, SPI1 NSS, SPI3 NSS, PWM, UART4 RTS3.3 V, 5 V tolerantbidirectional
CN7_18CN7-18 (+5V)power out
CN7_19CN7-19 (GND)power in
CN7_20CN7-20 (GND)power in
CN7_21Digital, I2C1 SDA, PWM, UART USART1 RX3.3 V, 5 V tolerantbidirectional
CN7_22CN7-22 (GND)power in
CN7_23Digital3.3 V, 5 V tolerantbidirectional
CN7_24CN7-24 (VIN)power in
CN7_25Digital3.3 V, 5 V tolerantbidirectional
CN7_26CN7-26 (NC)no connect
CN7_27Digital3.3 V, 5 V tolerantbidirectional
CN7_28Digital, ADC123_IN0, PWM, UART4 TX, UART USART2 CTS3.3 V, 5 V tolerantbidirectional
CN7_29Digital3.3 V, 5 V tolerantbidirectional
CN7_30Digital, ADC123_IN1, PWM, UART4 RX, UART USART2 RTS3.3 V, 5 V tolerantbidirectional
CN7_31Digital3.3 V, 5 V tolerantbidirectional
CN7_32Digital, ADC12_IN4, DAC DAC1 OUT1, I2S I2S1 WS, I2S I2S3 WS, SPI1 NSS, SPI3 NSS3.3 Vbidirectional
CN7_33CN7-33 (VBAT)power in
CN7_34Digital, ADC12_IN8, I2S I2S3 SD, SDIO SDIO D1, SPI3 MOSI, PWM, UART4 CTS3.3 V, 5 V tolerantbidirectional
CN7_35Digital, ADC123_IN12, SPI2 MISO3.3 V, 5 V tolerantbidirectional
CN7_36Digital, ADC123_IN11, I2S I2S2 SD, I2S I2S3 SD, SPI2 MOSI, SPI3 MOSI3.3 V, 5 V tolerantbidirectional
CN7_37Digital, ADC123_IN13, I2S I2S2 SD, SPI2 MOSI3.3 V, 5 V tolerantbidirectional
CN7_38Digital, ADC123_IN103.3 V, 5 V tolerantbidirectional
CN10_1Digital, I2C3 SDA, SDIO SDIO D1, PWM, UART5 CTS3.3 V, 5 V tolerantbidirectional
CN10_2Digital, SDIO SDIO D0, PWM, UART5 RTS3.3 V, 5 V tolerantbidirectional
CN10_3Digital, CAN CAN1 RX, I2C1 SCL, SDIO SDIO D4, PWM3.3 V, 5 V tolerantbidirectional
CN10_4Digital, I2S I2S2 MCK, SDIO SDIO D6, PWM, UART USART6 TX3.3 V, 5 V tolerantbidirectional
CN10_5Digital, CAN CAN1 TX, I2C1 SDA, I2S I2S2 WS, SDIO SDIO D5, SPI2 NSS, PWM3.3 V, 5 V tolerantbidirectional
CN10_6Digital, ADC12_IN15, UART USART3 RX3.3 V, 5 V tolerantbidirectional
CN10_7CN10-7 (AVDD)power out
CN10_8CN10-8 (U5V)power in
CN10_9CN10-9 (GND)power in
CN10_10CN10-10 (NC)no connect
CN10_11Digital, ADC12_IN5, DAC DAC1 OUT2, I2S I2S1 CK, SPI1 SCK, PWM3.3 Vbidirectional
CN10_12Digital, CAN CAN1 TX, UART USART1 RTS, USB USB D+3.3 V, 5 V tolerantbidirectional
CN10_13Digital, ADC12_IN6, I2S I2S2 MCK, SPI1 MISO, PWM3.3 V, 5 V tolerantbidirectional
CN10_14Digital, CAN CAN1 RX, PWM, UART USART1 CTS, USB USB D-3.3 V, 5 V tolerantbidirectional
CN10_15Digital, ADC12_IN7, I2S I2S1 SD, SPI1 MOSI, PWM3.3 V, 5 V tolerantbidirectional
CN10_16Digital, CAN CAN2 RX, I2S I2S2 WS, SPI2 NSS3.3 V, 5 V tolerantbidirectional
CN10_17Digital, CAN CAN2 TX, I2C1 SCL, PWM, UART USART1 TX3.3 V, 5 V tolerantbidirectional
CN10_18CN10-18 (NC)no connect
CN10_19Digital, I2S I2S2 CK, I2S I2S3 MCK, SDIO SDIO D7, SPI2 SCK, PWM, UART USART6 RX3.3 V, 5 V tolerantbidirectional
CN10_20CN10-20 (GND)power in
CN10_21Digital, I2S I2S2 CK, SPI2 SCK, PWM, UART USART1 TX3.3 V, 5 V tolerantbidirectional
CN10_22Digital, I2S I2S3 SD, SDIO SDIO CK, SPI3 MOSI, PWM3.3 V, 5 V tolerantbidirectional
CN10_23Digital, I2C3 SCL, PWM3.3 V, 5 V tolerantbidirectional
CN10_24Digital, ADC12_IN9, SDIO SDIO D2, PWM3.3 V, 5 V tolerantbidirectional
CN10_25Digital, I2C2 SCL, I2S I2S2 CK, SPI2 SCK, PWM, UART USART3 TX3.3 V, 5 V tolerantbidirectional
CN10_26Digital, I2S I2S2 SD, SPI2 MOSI, PWM3.3 V, 5 V tolerantbidirectional
CN10_27Digital, I2C3 SDA, I2S I2S2 WS, SPI1 MISO, SPI2 NSS, SPI3 MISO, PWM3.3 V, 5 V tolerantbidirectional
CN10_28Digital, SPI2 MISO, PWM, UART USART3 RTS3.3 V, 5 V tolerantbidirectional
CN10_29Digital, CAN CAN2 RX, I2S I2S1 SD, I2S I2S3 SD, SPI1 MOSI, SPI3 MOSI, PWM3.3 V, 5 V tolerantbidirectional
CN10_30Digital, CAN CAN2 TX, I2S I2S2 CK, SPI2 SCK, PWM, UART USART3 CTS3.3 V, 5 V tolerantbidirectional
CN10_31Digital, I2C2 SDA, I2S I2S1 CK, I2S I2S3 CK, SPI1 SCK, SPI3 SCK, PWM3.3 V, 5 V tolerantbidirectional
CN10_32CN10-32 (AGND)power in
CN10_33Digital, PWM, UART USART1 RX3.3 V, 5 V tolerantbidirectional
CN10_34Digital, ADC12_IN14, I2S I2S1 MCK3.3 V, 5 V tolerantbidirectional
CN10_35Digital, ADC123_IN2, PWM, UART USART2 TX3.3 V, 5 V tolerantbidirectional
CN10_36CN10-36 (NC)no connect
CN10_37Digital, ADC123_IN3, PWM, UART USART2 RX3.3 V, 5 V tolerantbidirectional
CN10_38CN10-38 (NC)no connect

Before you wire it

Don’t
  • Never put 5 V on PA4 or PA5 (A2 and D13): they are not 5 V tolerant
  • Logic is 3.3 V. Most of the F446's I/Os are 5 V tolerant (up to 112 of 114 in the largest package, datasheet p. 1), but PA4 and PA5, the DAC and ADC pins on A2 and D13, are TTa pins, tolerant to 3.3 V only (datasheet, pp. 45, 48). Keep 5 V signals off them and off every analog input.
  • From USB, the board and shields share 300 mA once the PC has enumerated it (UM1724, p. 19). For more, use VIN at 7 V to 12 V or E5V at 5 V with JP5 on E5V/VIN and JP1 removed (p. 21).
  • The DAC channels are on PA4 (A2) and PA5 (D13). D13 also drives LD2 through SB21, so the LED lights with the DAC's output on PA5; open SB21 for a clean DAC2 output (UM1724, p. 26).
  • Serial is USART2 on PA2/PA3, connected to the ST-LINK by SB13/SB14 with SB62/SB63 open, so D0/D1 are not connected as shipped (UM1724, p. 25). USART1 is free on D8 (PA9, TX) and D2 (PA10, RX).
  • I2C1 is on D14 (PB9, SDA) and D15 (PB8, SCL); A4/A5 are PC1/PC0 (UM1724, p. 47).
  • CAN needs an external transceiver such as a 3.3 V CAN PHY between the chip's CAN_TX/CAN_RX pins and the bus; the STM32F446 contains only the controllers (datasheet, p. 1).

Specifications

Microcontroller
STM32F446RET6, Arm Cortex-M4 with FPU, up to 180 MHzSTM32F446xC/E datasheet (DS10693 Rev 11), p. 1
Memory
512 KB flash, 128 KB SRAM, 4 KB backup SRAMSTM32F446xC/E datasheet, p. 1
Chip supply
1.7 V to 3.6 VSTM32F446xC/E datasheet, p. 1
Analog
3 x 12-bit 2.4 MSPS ADC (16 channels on LQFP64); 2 x 12-bit DACSTM32F446xC/E datasheet, pp. 1, 14
Buses
2 x CAN 2.0B, up to 4 x I2C, 4 x SPI (3 with I2S), 2 x SAI, SDIO, USB OTGSTM32F446xC/E datasheet, p. 1
Board power inputs
USB (U5V), VIN 7 V to 12 V, E5V 4.75 V to 5.25 V, or +3.3V 3 V to 3.6 VUM1724 Rev 14, pp. 19, 21, 22
Current over USB
300 mA for the whole board and shields after enumerationUM1724 Rev 14, pp. 19, 20
3.3 V output
Limited by regulator U4, 500 mA maxUM1724 Rev 14, p. 22
On-board programmer
ST-LINK/V2-1 (SWD), virtual COM port on USART2 (PA2/PA3), mass storageUM1724 Rev 14, pp. 16, 25
User LED and button
LD2 green on D13 (PA5), lit HIGH; B1 USER on PC13UM1724 Rev 14, p. 23
Logic level
3.3 V
Clock speed
180 MHz
Flash
512 KB
RAM
128 KB
GPIO pins
50
ADC channels
16
ADC resolution
12 bits
PWM channels
17
Dimensions
82.5 × 20.3 × 70 mm
Weight
37 g

From the STMicroelectronics's datasheet, published by STMicroelectronics.

Common mistakes

  1. Putting 5 V on PA4 or PA5

    PA4 and PA5 are TTa pins, 3.3 V tolerant only, because they connect straight to the ADC and DAC (F446 datasheet, pp. 45, 48). A 5 V sensor output on A2 or D13 can damage them.

  2. Wiring a module to D0/D1 for Serial

    As shipped, D0/D1 are not connected: USART2 goes to the ST-LINK's virtual COM port through SB13/SB14 (UM1724, p. 25). Use USART1 on D8/D2, or move the solder bridges.

  3. Looking for I2C on A4/A5

    On the Nucleo, A4 and A5 are PC1 and PC0. I2C1 is on D14 (PB9, SDA) and D15 (PB8, SCL) (UM1724, p. 47).

  4. Wiring CAN_TX and CAN_RX straight to a bus

    The F446 has two CAN controllers but no transceiver. CANH and CANL come from an external transceiver chip; without one, nothing is sent on the bus.

  5. Running motors from the USB supply

    Over USB the board and shields get 300 mA at most (UM1724, p. 20). Power servos and motors from their own supply, sharing ground with the Nucleo.

STM32 Nucleo-F446RE questions

Is the Nucleo-F446RE 5 V tolerant?

Mostly. ST rates up to 112 of the F446's I/Os 5 V tolerant (datasheet, p. 1), but PA4 and PA5 are TTa pins, tolerant to 3.3 V only (pp. 45, 48), and analog inputs must stay within 0 to 3.3 V. Outputs swing to 3.3 V, so a 5 V part that needs a 5 V high may need a level shifter.

Why won't my Nucleo-F446RE upload?

Check that both CN2 jumpers are on, the default for programming the on-board chip (UM1724, p. 16), that the mini-USB cable carries data, and that the ST-LINK/V2-1 driver is installed on Windows (p. 17). LD1 turns green when the ST-LINK reaches the target and orange on a communication failure (p. 23). If LD3 stays off on a USB charger, fit JP1 (p. 20).

Does the Nucleo-F446RE have a DAC?

Yes. The STM32F446 has two 12-bit DAC channels (datasheet, p. 1), on PA4 (A2) and PA5 (D13). With the STM32duino core, analogWrite on those pins sets a voltage rather than PWM.

How do I power the Nucleo-F446RE from a battery or adapter?

Feed 7 V to 12 V into VIN, or a regulated 4.75 V to 5.25 V into E5V, with JP5 on E5V/VIN and JP1 removed (UM1724, p. 21). VIN can deliver up to 800 mA at 7 V, 450 mA up to 9 V and 250 mA up to 12 V.

Nucleo-F446RE vs Nucleo-F401RE: what is the difference?

Same board, different chip. The F446RE runs at 180 MHz with 128 KB of SRAM, two DACs and two CAN controllers (F446 datasheet, p. 1); the F401RE runs at 84 MHz with 96 KB of SRAM and has no DAC or CAN (F401 datasheet, p. 1).

Nucleo-F446RE vs Blue Pill: why pay more?

The Nucleo carries its own ST-LINK/V2-1 debugger, virtual COM port and drag-and-drop programming on one USB cable (UM1724, p. 16), plus Arduino Uno headers. A Blue Pill needs a separate USB-to-serial adapter or ST-LINK to program it, and its STM32F103 is a slower Cortex-M3 without an FPU.

Build something with the STM32 Nucleo-F446RE

  • CAN bus node

    Add a transceiver and read or send car and robot CAN frames with the F446's two CAN 2.0B controllers.

    Build this
  • Audio synthesizer

    Generate waveforms on the 12-bit DAC or stream audio over I2S and SAI to a codec or amplifier.

    Build this
  • Motor control with encoders

    Use the advanced timers for PWM and quadrature inputs on a closed-loop DC or BLDC motor controller.

    Build this
  • DSP and FFT experiments

    Run CMSIS-DSP filters and FFTs on the 180 MHz Cortex-M4F's FPU and DSP instructions.

    Build this
  • Arduino shield projects

    Stack displays, motor drivers or sensor shields on the Uno headers at 3.3 V logic.

    Build this
For AI assistants

This page as plain Markdown, for ChatGPT, Claude or your own agent. /components/stm32-nucleo-f446re.md

What will you build with it?