

The STM32 NUCLEO L552ZE-Q is a development board manufactured by STMicroelectronics. It is based on the STM32L5 series microcontroller, which is designed for ultra-low-power applications with advanced security features. This board provides a flexible platform for prototyping and development, making it ideal for IoT, wearable devices, and other energy-efficient applications.








The STM32 NUCLEO L552ZE-Q is equipped with a range of features to support diverse applications. Below are the key technical details:
The STM32 NUCLEO L552ZE-Q features multiple pin headers for GPIO and peripheral connections. Below is a summary of the pin configuration:
| Pin Name | Functionality | Description |
|---|---|---|
| A0-A5 | Analog Input | Analog input pins (0-3.3V range) |
| D0-D13 | Digital I/O | Digital input/output pins |
| 5V | Power Output | 5V power supply |
| 3.3V | Power Output | 3.3V power supply |
| GND | Ground | Common ground |
| VIN | Power Input | External power input (7-12V) |
| Pin Name | Functionality | Description |
|---|---|---|
| GPIO | General Purpose I/O | Configurable as input/output |
| USART | Serial Communication | UART interface for communication |
| SPI | Serial Peripheral Int. | SPI interface for peripherals |
| I2C | Inter-IC Communication | I2C interface for sensors/devices |
| ADC | Analog-to-Digital Conv | Analog signal conversion |
| DAC | Digital-to-Analog Conv | Digital signal conversion |
The STM32 NUCLEO L552ZE-Q is designed to be user-friendly and versatile. Follow the steps below to get started:
The following example demonstrates how to blink an LED connected to pin D13:
#include "stm32l5xx_hal.h"
// Function prototypes
void SystemClock_Config(void);
void GPIO_Init(void);
int main(void) {
HAL_Init(); // Initialize the HAL library
SystemClock_Config(); // Configure the system clock
GPIO_Init(); // Initialize GPIO pins
while (1) {
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_13); // Toggle LED on pin D13
HAL_Delay(500); // Delay for 500 ms
}
}
void SystemClock_Config(void) {
// Configure the system clock (default settings for simplicity)
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
HAL_RCC_OscConfig(&RCC_OscInitStruct);
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0);
}
void GPIO_Init(void) {
// Initialize GPIO pin D13 as output
__HAL_RCC_GPIOB_CLK_ENABLE(); // Enable GPIOB clock
GPIO_InitTypeDef GPIO_InitStruct = {0};
GPIO_InitStruct.Pin = GPIO_PIN_13;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
Board Not Detected by IDE:
Code Upload Fails:
Peripherals Not Working:
By following this documentation, you can effectively use the STM32 NUCLEO L552ZE-Q for your development and prototyping needs.