What is STM32 Nucleo-64?
The STM32 Nucleo-64 is a general-purpose development board designed by STMicroelectronics for rapid prototyping with STM32 microcontrollers. It has covered most of the SM32 family member ranges of microcontroller families such as F0, F4, L4, and the like, as well as specified computing power, memory, and peripheral support. The Nucleo-64 also features headers compatible with the Arduino Uno R3 and ST morpho connectors for integration with Arduino shields and advanced STM32 peripherals.

What is more interesting is that this ST-LINK/V2-1 comes on board within the STM32 Nucleo-64 in the role of a debugger and programmer. So there is no need to include an external debugging tool. Besides the Assert Build option, it has programming support with STM32CubeIDE, Keil, IAR, and Arduino IDE, making it suitable for a beginner or an advanced developer.
Owning the support for multiple communication protocols-I2C, SPI, UART, and CAN, and PWM, ADC, and DAC makes it suitable for several applications in IoT, robotics, industrial automation, and real-time embedded systems. Power-efficient and high-performance, hence perfect for engineers, students, and hobbyists wishing hands-on experience with the STM32 microcontrollers world.
Here, you will find pinouts, datasheets, specifications, features, and projects of the STM32 Nucleo-64. Let’s dive.
Datasheet of STM32 Nucleo-64

Features | Description |
Microcontroller | Available in multiple variants including STM32F0, STM32F1, STM32F3, STM32F4, and STM32L4 series |
Core | ARM Cortex-M0, Cortex-M3, Cortex-M4, or Cortex-M7 (depends on MCU variant) |
Clock Speed | Varies by model: up to 64 MHz (STM32F0), 72 MHz (STM32F1), 100 MHz (STM32F3), 120 MHz (STM32F4), or 80 MHz (STM32L4) |
Flash Memory | 64 KB to 512 KB, depending on the STM32 variant used |
SRAM (RAM) | 8 KB to 128 KB |
EEPROM | Some STM32 models include integrated EEPROM for data storage |
Operating Voltage | 3.3V (internal) with 5V tolerance on some I/O pins |
Power Supply Options | Powered via USB (5V), VIN (external power source), or ST-LINK/V2-1 |
GPIO Pins | Up to 64, configurable as general-purpose input/output |
Analog Inputs | Multiple ADC channels with 10-bit or 12-bit resolution (varies by MCU model) |
Digital I/O Pins | Can be used for PWM, interrupts, or alternate functions |
Timers & PWM | Multiple general-purpose and advanced timers with PWM generation capability |
Communication Interfaces | Supports UART, I2C, SPI, CAN, and USB (depends on MCU variant) |
USB Support | Some variants include USB Devices and USB OTG (On-The-Go) functionality |
Debugging Interface | Built-in ST-LINK/V2-1 (debugger and programmer) with USB connection |
Expansion Connectors | Arduino Uno R3-compatible headers, ST morpho connectors for access to additional STM32 peripherals |
Boot Modes | Supports multiple boot configurations for firmware updates |
Low Power Mode | Sleep, Stop, and Standby modes available for power-efficient applications |
Compatible IDEs | STM32CubeIDE, Keil MDK, IAR Embedded Workbench, and Arduino IDE (for some variants) |
Development Support | Extensive STM32Cube firmware libraries, HAL (Hardware Abstraction Layer), and LL (Low-Layer) drivers |
Dimensions | Approx. 70mm × 50mm |
Pinouts of STM32 Nucleo-64

Pin | Pin Name | Function | Alternate Functions |
1 | A0 | Analog Input | GPIO, ADC |
2 | A1 | Analog Input | GPIO, ADC |
3 | A2 | Analog Input | GPIO, ADC |
4 | A3 | Analog Input | GPIO, ADC |
5 | A4 | Analog Input | GPIO, ADC, I2C (SDA) |
6 | A5 | Analog Input | GPIO, ADC, I2C (SCL) |
7 | D0 | Digital I/O | UART RX, GPIO |
8 | D1 | Digital I/O | UART TX, GPIO |
9 | D2 | Digital I/O | External Interrupt, GPIO |
10 | D3 | Digital I/O | PWM, GPIO |
11 | D4 | Digital I/O | GPIO |
12 | D5 | Digital I/O | PWM, GPIO |
13 | D6 | Digital I/O | PWM, GPIO |
14 | D7 | Digital I/O | GPIO |
15 | D8 | Digital I/O | GPIO |
16 | D9 | Digital I/O | PWM, GPIO |
17 | D10 | Digital I/O | PWM, SPI SS, GPIO |
18 | D11 | Digital I/O | PWM, SPI MOSI, GPIO |
19 | D12 | Digital I/O | SPI MISO, GPIO |
20 | D13 | Digital I/O | SPI SCK, GPIO, Onboard LED |
21 | 3.3V | Power Supply | 3.3V Output |
22 | 5V | Power Supply | 5V Output |
23 | GND | Ground | - |
24 | VIN | Power Input | 7-12V External Power |
ST Morpho Connector Pinout

Pin | Pin Name | Function | Alternate Functions |
1 | PA0 | GPIO | ADC, TIM2_CH1 |
2 | PA1 | GPIO | ADC, TIM2_CH2 |
3 | PA2 | GPIO | ADC, USART2_TX |
4 | PA3 | GPIO | ADC, USART2_RX |
5 | PA4 | GPIO | ADC, SPI1_NSS |
6 | PA5 | GPIO | ADC, SPI1_SCK |
7 | PA6 | GPIO | ADC, SPI1_MISO |
8 | PA7 | GPIO | ADC, SPI1_MOSI |
9 | PB0 | GPIO | ADC, TIM3_CH3 |
10 | PB1 | GPIO | ADC, TIM3_CH4 |
11 | PB6 | GPIO | I2C1_SCL, USART1_TX |
12 | PB7 | GPIO | I2C1_SDA, USART1_RX |
13 | PB8 | GPIO | I2C1_SCL, TIM4_CH3 |
14 | PB9 | GPIO | I2C1_SCL, TIM4_CH4 |
15 | PC13 | GPIO | RTC Backup |
16 | PC14 | GPIO | Oscillator |
17 | PC15 | GPIO | Oscillator |
18 | NRST | GPIO | Hardware Reset Pin |
Specifications of STM32 Nucleo-64

1. Microcontroller Architecture:
The STM32 Nucleo-64 comprises microcontrollers of the following family of ARM Cortex-M architecture microcontrollers:
● Cortex-M0 (STM32F0): ultra-low-power controllers well suited for some features in low-complexity control applications.
● Cortex-M3 (STM32F1, STM32F3): general-purpose applications, for example, higher performance.
● Cortex-M4 (STM32F4): higher performance with DSP and floating point.
● Cortex-M7 (some F7 variants): high performance and real-time for computation-intensive applications.
The different microcontroller families differ in their clock speeds (up to 120 MHz), flash memory (64 KB to 512 KB), and RAM (8 KB to 128 KB) to support different levels of complexity of projects.
2. Power Supply and Voltage Levels:
The board is designed for use under several power supplies:
● USB (5V): powers the board while debugging it using the built-in ST-LINK/V2-1.
● VIN (External 7-12V): operation is possible independently of USB; hence, it is suitable for standalone applications.
● 3.3V Internal Regulator: Supplies the microcontroller and some peripherals.
● Batteries Power (for low-power applications): Some STM32 models support ultra-low power modes for battery operation.
Almost all I/O pins run on the 3.3 V rail, and some of them are 5V tolerant, hence wide compatibility with different external peripherals.
3. Communication Interfaces:
This is of multiple communication protocols working together; hence the STM32 Nucleo-64 board can be linked to several sensors, modules, and external devices.
UART/USART (Universal Synchronous/Asynchronous Receiver-Transmitter):
● It is very useful in serial communication between the microcontroller and various external devices including GPS modules, Wi-Fi modules, and more microcontrollers.
● Also useful for debugging and console output.
Interface I2C (Inter-Integrated Circuit):
● Connecting to potentially multiple slaves: sensors, displays, and EEPROMs, using only two wires (SDA, SCL).
● Commonly used in IoT and embedded projects.
SPI (Serial Peripheral Interface):
● Intra-family fast connectivity with sensor, display, or memory modules; high-speed communication.
● Using pins for MOSI, MISO, SCK, and SS.
CAN (Controller Area Network) – Found in Selected Models:
● It is the interface for connecting microcontrollers inside an automotive or industrial application.
● USB (For Some Variants)
● Acts as a USB device or USB host to PC and USB peripherals.
4. Programming and Debugging:
An important aspect of the STM32 Nucleo-64 is that it has the built-in ST-LINK/V2-1 debugger/programmer, thus saving the cost of having to purchase a separate debugging tool. These features include:
● Drag-and-drop programming, the board appears like a USB storage device for copying the firmware.
● An integrated debugger to allow for real-time debugging including using STM32CubeIDE, Keil MDK, and IAR Embedded Workbench.
● Comes with a Virtual COM port for serial communication to the PC for debugging.
Supports several programming environments on the board :
● STM32CubeIDE: Official STMicroelectronics IDE for the development of embedded systems.
● Keil MDK & IAR Embedded Workbench: well-accepted tools by the industry for STM32 programming.
● Arduino IDE: integrated with certain models for more facile prototyping with users on an Arduino.
5 . Expansion and Wiring:
The STM32 Nucleo-64 is designed to facilitate interfacing with its primary two types of connectors:
Arduino Uno R3-Compatible Headers:
● This means standard Arduino shields can be interfaced by the users with ease to sensors, motors, displays, and communication modules.
● The Arduino ecosystem becomes easily available for prototypes.
ST Morpho Connectors:
● Direct all STM32 microcontroller pin accesses for advanced interfacing.
● Used for applications that need direct hardware-level access to STM32 peripherals like timers, PWM, and ADC.
6. Timer and PWM functionalities:
These hardware timers support the STM32 Nucleo-64:
● PWM - for controlling motors, dimming LED lights, and generating signals.
● Input Capture - used to measure external pulse widths.
● Output Compare - generates precise time events for the control application pulls.
PWM outputs are available on more than one digital pin, making the board fit for robotics and automation projects.
7. Analog and Digital I/O:
The board comprises these:
● ADC: Converts the analog sensor inputs to a digital value (with a resolution of 10-bit or 12-bit).
● Digital GPIOs: These can be configured as input, output, or alternate functions.
● External Interrupts: To respond to some events occurring outside the real-world environment (like pressing buttons, or motion sensors).
8. Low-Power Modes:
Some STM32 models, particularly the below STM32L4 series, include advanced low-power modes such as:
● Sleep mode: Reducing power consumption while still keeping vital peripherals working.
● Stop mode: Memory content is retained in RAM and most clocks are stopped.
● Standby mode: Low-power operation suited to battery-powered applications.
These features make the STM32 Nucleo-64 the best suited for IoT (Internet of Things) and wearable applications.
STM32 Nucleo-64 Projects
STM32 Nucleo-64 boards offer a versatile development platform for many embedded applications targeting domains such as IoT, automation, and real-time control. Below are some practical projects to help work with STM32 features, such as GPIO, UART, I2C, use, PWM, and sensor interfacing.
1. LED Blinking (Basic Project):
The basic and probably the first project is the LED blinking on the STM32 Nucleo-64. The first aim of this project was to blink an LED at a fixed time interval, enabling the candidate to set up GPIO and write some simple code. An onboard LED on the Nucleo board is being used for this project. This process involves setting a digital pin as an output and using the HAL (Hardware Abstraction Layer) functions to toggle the LED state; while the software timer controls the delay between toggles. The project is implemented by STM32CubeIDE or Keil MDK.

2. Push Button Controlled LED:
This project introduces GPIO input handling whereby a user can control an LED using push-button control. The pushbutton is connected to a digital input pin with a pull-up resistor for clean, stable readings. The program constantly checks the button’s state and turns the LED ON or OFF accordingly. This simple real-world project shows how external user inputs are handled in STM32 Nucleo-64.
3. Temperature Monitoring with I2C Sensor:

In this project, an I2C temperature sensor such as LM75 or DS18B20 is interfaced with the STM32 Nucleo-64 board. The purpose of the project is to read the temperature and show it on the LCD or a serial monitor. I2C is configured using the inbuilt I2C peripheral of the STM32 while reading the temperature involves sending the correct commands to the sensor. This project makes use of environmental monitoring and IoT applications.
4. Distance Measurement Using Ultrasonic Sensor:
This system employs an HC-SR04 ultrasonic sensor to measure distance via sound waves. An STM32 Nucleo-64 board has been programmed to send a trigger to the sensor, which returns an echo pulse after hitting an object. Employing a timer input capture function, the board measures the time taken by the pulse to return and converts this time into distance. Great for applications requiring robotics, automation, and obstacle detection systems.
5. IoT-Based Temperature and Humidity Monitoring:

The project mostly comprises the STM32 Nucleo-64 board, an ESP8266 Wi-Fi module, and a DHT11/DHT22 sensor for submitting real-time temperature and humidity data to a cloud platform like Thingspeak or Firebase. The STM32 reads the sensor data via GPIO pins and transmits it using UART communication with the ESP8266 module. The project is an excellent demonstration of an IoT-based remote monitoring application that STM32 can handle.
Conclusion
The STM32 Nucleo-64 development board is highly flexible and at the same time powerful for everyone from beginners to even the most experienced developers. This board supports multiple STM32 microcontroller families so that a user can choose the right level of performance against the cost of power efficiency and memory for their project. It allows easy hardware expansion or prototyping with its support for Arduino Uno R3 shields and ST morpho connectors.
It includes an inbuilt ST-LINK/V2-1 debugger/programmer, making it so easy to debug and upload firmware without extra hardware. It is fitted with a variety of ports, such as the UART, I2C, SPI, and CAN, making it very suitable for a variety of applications such as IoT, automation, robotics, and industrial control.
This board is an ideal armamentarium for environmental development with microcontrollers. Indeed, it becomes very convenient: either for study, prototyping, or professional purposes, this means that it is cheap yet flexible for a microcontroller-based project.
- 1.
What are the power supply options for the STM32 Nucleo - 64?
The STM32 Nucleo - 64 can be powered via USB (5V), VIN (external power source with 7 - 12V), or through the ST - LINK/V2 - 1. Additionally, some STM32 models support battery power for low - power applications.
- 2.
Which programming environments are compatible with the STM32 Nucleo - 64?
The STM32 Nucleo - 64 is compatible with several programming environments, including STM32CubeIDE (the official STMicroelectronics IDE for embedded systems), Keil MDK, IAR Embedded Workbench (well - accepted industry tools for STM32 programming), and Arduino IDE (for some variants).
28 November 2025
25 October 2025
25 September 2025
16 August 2025
10 July 2025






