What is STM32 Nucleo-144?
The STM32 Nucleo-144 is a powerful development board for prototyping applications using STM32 microcontrollers in 144-pin LQFP packages. It is designed to support a wide array of STM32 family types; F4, F7, H7, L4, L5, and U5. Therefore, this board can cater to applications that have demanding performance needs, low power consumption, and a wealth of connectivity options.
The board has many I/Os, ADC/DAC, PWM, timers, and several communication Interfaces; UART, I2C, SPI, CAN, and USB. It offers Arduino Uno R3 and ST morpho connectors for easy expansion with shields and external modules.
However, it is also well suited for embedded development, thanks to support within STM32CubeIDE, Keil MDK, IAR Embedded Workbench, and Arduino IDE. Built-in ST-LINK/V2-1 enables debugging and programming without external tools.

The Nucleo-144 is a good fit for such applications as motor control, IoT, audio processing, and real-time embedded systems. This is a cost-effective and scalable solution for engineers and hobbyists alike. Well-documented with libraries and community support, it is an excellent choice for beginners and professionals interested in complex embedded projects.
Here, you will find pinouts, datasheets, specifications, features, and projects of the STM32 Nucleo-144. Let’s dive.
Datasheet of STM32 Nucleo-144


Features | Details |
Microcontroller | STM32F4, F7, H7, L4, L5, U5 series (varies by model) |
Core Architecture | ARM Cortex-M4, M7, M33, or M0+ (depending on MCU) |
Flash Memory | 512 KB to 2 MB |
SRAM | 96 KB to 512 KB |
EEPROM | Some models include internal EEPROM |
Clock Speed | Up to 400 MHz (varies by MCU series) |
Operating Voltage | 3.3V (I/O) with 5V power input support |
Power Supply Options | USB (5V), External 5V (VIN), or ST-LINK/V2-1 |
Current Consumption | Typically 30-150 mA, depending on active peripherals and power mode |
GPIOs | Up to 144 General-Purpose I/O (GPIO) pins |
I/O Voltage Levels | 3.3V logic, some 5V-tolerant pins |
Communication Interfaces | UART (up to 5), USART (up to 5), I2C (up to 4), SPI (up to 6), CAN (2), USB (1), Ethernet (1, on some models) |
Timers | Multiple timers including basic, general-purpose, advanced PWM, and motor control timers |
PWM Channels | Available on multiple pins through timers |
ADC | 12-bit ADC (up to 16-bit oversampling), up to 3 ADC units (depending on model) |
DAC | Up to 2 channels (12-bit resolution) |
Digital Signal Processing (DSP) | Available on Cortex-M4 and M7 models |
Floating Point Unit (FPU) | Single-precision (M4), double-precision (M7) |
Debug Interface | Onboard ST-LINK/V2-1 (USB-based debugger and programmer) |
USB Support | USB 2.0 Full-Speed (Host/Device, depending on model) |
Ethernet Support | Available on some STM32H7 models |
External Memory Interface | FSMC/FMC for NOR, SRAM, NAND, SDRAM (on select models) |
Boot Mode Selection | BOOT0 and BOOT1 jumpers for selecting boot mode (Flash, SRAM, or System Memory) |
LEDs | 3 User LEDs (LD1, LD2, LD3), 1 Power LED |
Push Buttons | 1 User button, 1 Reset button |
Expansion Connectors | Arduino Uno R3, ST morpho connectors (allowing additional shields and modules) |
Supported IDEs | STM32CubeIDE, Keil MDK, IAR Embedded Workbench, Arduino IDE |
Supported Firmware | STM32Cube Firmware, HAL (Hardware Abstraction Layer), LL (Low Layer APIs) |
Real-Time Clock (RTC) | Built-in RTC with optional backup battery support |
Low-Power Modes | Sleep, Stop, and Standby modes for ultra-low power consumption |
Security Features | Secure Boot, TrustZone (on Cortex-M33), Crypto, and Hardware Unique Key (HUK) support (varies by model) |
Dimensions | Approx. 100 mm x 80 mm (varies slightly by model) |
Weight | Varies (typically ~50g) |
Operating Temperature | -40°C to +85°C |
Package Type | 144-pin LQFP MCU |
Typical Applications | IoT, robotics, industrial automation, motor control, embedded systems, real-time data processing, and audio processing |
Pinouts of STM32 Nucleo-144

Pin Number | Pin Name | Function | Description |
Power Pins | |||
5V | Power | 5V power input (USB or external) | |
3.3V | Power | 3.3V regulated output | |
GND | Ground connections | ||
VIN | Power | External power input (5V) | |
Analog Pins (ADC & DAC) | |||
A0 | PA0 | ADC_IN0 | 12-bit Analog-to-Digital Input |
A1 | PA1 | ADC_IN1 | 12-bit Analog-to-Digital Input |
A2 | PA2 | DAC_OUT1 | |
A3 | PA3 | ADC_IN5 | 12-bit Analog-to-Digital Input |
A4 | PA4 | ADC_IN6 | 12-bit Analog-to-Digital Input |
A5 | PA5 | ADC_IN7 | 12-bit Analog-to-Digital Input |
Digital I/O Pins | |||
D0 | PB3 | GPIO/UART_RX | General-purpose I/O, UART Receive |
D1 | PB10 | GPIO/UART_TX | General-purpose I/O, UART Transmit |
D2 | PC0 | GPIO | General-purpose I/O |
D3 | PC1 | GPIO/PWM | General-purpose I/O, PWM Output |
D4 | PC2 | GPIO | General-purpose I/O |
D5 | PC3 | GPIO/PWM | General-purpose I/O, PWM Output |
D6 | PC4 | GPIO/PWM | General-purpose I/O, PWM Output |
D7 | PC5 | GPIO | General-purpose I/O |
PWM Pins | |||
PA8 | TIM1_CH1 | PWM Output | |
PA9 | TIM1_CH2 | PWM Output | |
PA10 | TIM1_CH3 | PWM Output | |
PA11 | TIM1_CH4 | PWM Output | |
PB0 | TIM1_CH5 | PWM Output | |
UART / USART Pins | |||
PA2 | USART2_TX | UART Transmit | |
PA3 | USART2_RX | UART Receive | |
PB6 | USART2_TX | UART Transmit | |
PB7 | USART2_RX | UART Receive | |
PD5 | USART2_TX | UART Transmit | |
PD6 | USART2_RX | UART Receive | |
I2C Pins | |||
PB8 | I2C1_SCL | I2C Clock Line | |
PB9 | I2C1_SDA | I2C Data Line | |
PB10 | 12C2_SCL | I2C Clock Line | |
PB11 | I2C2_SDA | I2C Data Line | |
SPI Pins | |||
PA5 | SPI1_SCK | SPI Clock | |
PA6 | SPI1_MISO | SPI Data Input | |
PA7 | SPI1_MOSI | SPI Data Output | |
PB12 | SPI2_NSS | SPI Chip Select | |
PB13 | SPI2_SCK | SPI Clock | |
PB14 | SPI2_MISO | SPI Data Input | |
PB15 | SPI2_MOSI | SPI Data Output | |
CAN Bus Pins | |||
PA11 | CAN_RX | CAN Bus Receive | |
PA12 | CAN_TX | CAN Bus Transmit | |
USB Pins | PA11 | USB_DM | USB Data- |
PA12 | USB_DP | USB Data+ | |
Ethernet (Only on STM32H7 Models) | |||
PA1 | ETH_REF_CLK | Ethernet Reference Clock | |
PA2 | ETH_MDIO | Ethernet MDIO | |
PC1 | ETH_MDC | Ethernet MDC | |
PA7 | ETH_CRS_DV | Carrier Sense/Data Valid | |
PC4 | ETH_RXD0 | Ethernet Receive Data 0 | |
PC5 | ETH_RXD1 | Ethernet Receive Data 1 | |
ST-LINK Debugging Interface | |||
SWCLK | SWD Clock | Serial Wire Debug Clock | |
SWDIO | SWD Data | Serial Wire Debug Data | |
Expansion Connectors | |||
Arduino Uno R3 Header | Compatible with Arduino shields | ||
ST morpho Connector | Provides full access to all STM32 I/O pins |


Specifications of STM32 Nucleo-144

1. Microcontroller and Processing Core:
The Nucleo-144 board comes with several STM32 microcontrollers, all featuring the prestigious ARM Cortex-M architecture. Thus, under the STM32 Nucleo-144, a microcontroller family dubbed as follows is included:
● Cortex-M4 (STM32F4): Provides intermediate performance integrated with DSP and FPU.
● Cortex-M7 (STM32F7, H7): Offers maximum performance by dual-issue execution plus floating-point acceleration.
● Cortex-M33 (STM32L5, U5): Comes integrated with TrustZone security which makes it suitable for secure applications.
● Cortex-M0+ (that of STM32L4 in low-power mode): Optimized for performance in the area of energy consumption.
Clocked at about 80 MHz up to 400 MHz, depending again on the microcontroller variant, the board can perform real-time processing, DSP operations, and complex control algorithms.
2. Memory Architecture:
Accurately, the configuration is different across various models of STM32, even though memory sizes vary:
● Flash Memory: Flash Memory has a typical range of between 512 KB to 2 MB for storing program codes.
● SRAM: SRAM has a range of between 96 KB and 512 KB to hold runtime data and stack memory.
● EEPROM: Features some models that store the configuration data from all the devices in non-volatile memory.
● External Memory Interface (FSMC/FMC): Enables the connection of NOR, NAND, SRAM, or SDRAM with the extended storage system.
This flexible memory architecture enables an application that requires extensive storage, outside storage, and real-time performance to be managed by the board.
3. Power Management and Voltage Levels:
The STM32 Nucleo-144 supports a variety of power sources: a USB-powered (5V), external 5V input, or ST-LINK power supply. The core logic operates on 3.3V, while some pins of the GPIO are 5V tolerant. Ultra-low-power modes-Sleep, Stop, and Standby-will save power, making the board suitable for use in battery-operated applications and those requiring stroke efficiency. Dynamic voltage scaling (DVS) on some models helps optimize the power efficiency. All these power management functions contribute to the adaptability of the board in low-power applications found in IoT and portable devices.
4. Digital and Analog I/O:
There are up to 144 General-Purpose I/O (GPIO) pins:
● Configurable input/output modes, pull-up/pull-down resistors, and interrupt triggering.
● Support for external sensors and actuators and real-time control applications.
● Analog inputs: Up to 3 units of 12-bit ADCs, with 16-bit oversampling feature.
● Analog outputs: Up to two 12-bit DACs capable of generating analog waveforms.
Consequently, the STM32 Nucleo-144 allows one to be involved in the processing of the signals with motor control and applications on sensors for real-time action.
5. Timers and PWM:
These include various categories of timers such as the following:
● Basic timers are used for periodic interrupts and delays.
● General purpose timers to create PWM (Pulse Width Modulation), and for capturing input or motor control.
● Advanced timers for very minute high-speed motor control. In the case of power electronics,
● Watchdog timers are used to improve reliability in the system by detecting faults.
PWM (Pulse Width Modulation) is widely used in motor control, LED dimming, and generating signals. For advanced timers on the STM32 Nucleo-144, multiple actuators, motors, and power systems can be controlled efficiently.
6. Communication Interfaces:
● The board supports a plethora of wired communication protocols, including
● USART/UART (4~5 channels) for serial communication.
● I2C (1~4 channels) for sensor interfacing and peripheral communication.
● SPI (3~6 channels) for high-speed data transfer.
● CAN Bus (up to 2 channels) for automotive and industrial computerization.
● USB 2.0 (Host/Device) for USB peripherals like keyboards, flash drives, etc., and serial interfaces.
● Ethernet (on selected models like STM32H7) for communication.
Such varied levels of communication make this board easy to integrate within IoT, industrial automation, and data communication applications.
7. Debugging and Programming:
The on-board ST-LINK/V2-1 debugger interface allows for direct programming and debugging without additional hardware. It supports:
● Serial Wire Debug (SWD) and JTAG interface.
● Integration with STM32CubeIDE, Keil MDK, IAR Embedded Workbench, and Arduino IDE.
This renders swift development with intuitive concepts suitable for beginners while giving full debugging capabilities to advanced professionals.
8. Expansion and Peripheral Support:

The STM32 Nucleo-144 board has multiple expansion connectors:
● Arduino Uno R3 headers to be compatible with Arduino shields.
● The ST Morpho connectors expose all the I/O pins of the microcontroller.
● Foundation for additional communication modules such as Wi-Fi, Bluetooth, and LoRa.
These expansions render the board highly adaptive to prototyping and product development.
9. RTOS and Software Support:
These boards support a variety of embedded SW environments, including:
● FreeRTOS, Zephyr, and other real-time operating systems (RTOS). STM32Cube firmware libraries for hardware abstraction.
● HAL (Hardware Abstraction Layer) and LL (Low-Level) APIs for development.
This combination of RTOS support and STM32Cube tools makes this Board suitable for real-time applications, automation, and embedded computing.
Project Themes for STM32 Nucleo-144

This is a flexible development board and is of huge importance in IoT, automation, robotics, and real-time control applications. Here are three project ideas that can be excellently executed using the features of the board.
1. An IoT Weather Monitoring System:
Here, the STM32 Nucleo-144 helps create a weather station that is IoT-based to monitor temperature, humidity, and air pressure with the functionality of sending data over the cloud towards remote access. It is useful for environmental monitoring, agriculture, and smart homes.
So, to create this system, the STM32 will be interfaced with a DHT22 temperature and humidity sensor and BMP180 pressure sensor through I2C and ADC communication. An ESP8266 Wi-Fi module enables real-time data upload to ThingSpeak or Firebase. A local LCD may also be used to perform such monitoring. The low-power features available in STM32 make it suitable for battery-operated devices used over long periods.
2. Real-Time Motor Control System:
The STM32 Nucleo-144 would be the best choice for such control applications as robotics, CNC machines, and industrial automation. This project controls a BLDC or stepper motor accurately in its speed and position using PWM signals with the encoder feedback.
This project includes an L298N or DRV8825 motor driver interfacing the STM32 with the respective motor, while an encoder sensor measures real speeds. Then, a PID control algorithm helps maintain the motor steady and accurate. The real-time processing capability of the STM32 showcases closed-loop control systems.
3. Home Automation Using Bluetooth and Voice Commands:
This project allows the user to control the home devices by Bluetooth or voice commands with Google Assistant or Alexa included for smart home automation.
The HC-05 Bluetooth module connected to the STM32 with the main mobile app sends the commands to relay modules for the control of lights or appliances. The Wi-Fi connection can also be enabled to allow remote access.
Conclusion
This development board is a powerhouse in development prototyping for embedded systems and industrial applications. It is so because it supports various families of microcontrollers within the STM32 range, coming with many GPIOs and communication interfaces, as well as flexible power options, catering to diverse project applications.
It is compatible with all the different IDEs, including STM32CubeIDE, Keil MDK, and IAR Embedded Workbench, thus providing a comprehensive platform for developers. Also, the headers for Arduino Uno R3 and ST morpho connectors offer easy out-of-the-box extensions for additional external peripherals. Its processing speed can reach up to 400 MHz in the STM32H7 series, thereby handling quite demanding applications with efficiency.
It is used widely in applications like IoT, motor control, automation, and real-time data processing. Given the extent of libraries and example projects as well as the strong community around it, the STM32 Nucleo-144 is perhaps the most trusted platform for both the novice and the expert developer hoping to build advanced embedded systems.
- 1.
What types of projects is the STM32 Nucleo-144 board best suited for?
The STM32 Nucleo-144 is ideal for IoT, motor control, industrial automation, real-time data processing, and audio applications. Its high-speed ARM Cortex-M cores, extensive I/O, and support for interfaces like CAN, USB, and Ethernet make it perfect for advanced embedded systems and prototyping.
- 2.
Does the STM32 Nucleo-144 support Arduino shields and external modules?
Yes, the board includes Arduino Uno R3 and ST morpho connectors, enabling seamless integration with Arduino shields and custom modules. It also supports debugging/programming via its onboard ST-LINK/V2-1 and works with IDEs like STM32CubeIDE, Keil, and Arduino.
28 November 2025
25 October 2025
25 September 2025
16 August 2025
10 July 2025






