Release Notes for

STM32WL3xx HAL Drivers

Copyright © 2024-2025 STMicroelectronics

Purpose

The STM32Cube HAL and LL, an STM32 abstraction layer embedded software, ensure maximized portability across STM32 portfolio.

The portable APIs layer provides a generic, multi instanced and simple set of APIs to interact with the upper layer (application, libraries and stacks). It is composed of native and extended APIs set. It is directly built around a generic architecture and allows the build-upon layers, like the middleware layer, to implement its functions without knowing in-depth the used STM32 device. This improves the library code reusability and guarantees an easy portability on other devices and STM32 families.

The Low Layer (LL) drivers are part of the STM32Cube firmware HAL that provides a basic set of optimized and one shot services. The Low layer drivers, contrary to the HAL ones are not fully portable across the STM32 families; the availability of some functions depends on the physical availability of the relative features on the product. The Low Layer (LL) drivers are designed to offer the following features:

Update History

Main Changes

  • Correction to the I2C HAL driver

Contents

HAL Drivers updates

  • HAL I2C driver
    • Pin definitions for SMBUS and Fast Mode Plus now split across the two I2C IP instances (I2C1 and I2C2).

Backward compatibility

  • Not applicable

Known Limitations

  • None

Dependencies

  • None

Notes

  • None

Main Changes

  • HAL and LL drivers updates to support STM32WL3Rx product line.
  • Corrections/enhancements to the following HAL drivers: ADC, MRSUBG, RCC, MRSUBG Timer, GPIO, UART, USART, LCSC, PWR.

Contents

HAL Drivers updates

  • HAL ADC driver
    • Improving accuracy of calibration value for VINM input (changing sign of the applied value)
    • Fix rmtoll doxygen comment in LL_ADC_GetCalibPointOffset()
    • Optimize precision of temperature sensor data conversion
  • HAL RCC driver
    • Add LL RCC APIs to manage RTC clock: LL_RCC_EnableRTC(), LL_RCC_DisableRTC() and LL_RCC_IsEnabledRTC()
  • HAL MRSUBG driver
    • Turned IS_169MHZ define into STM32WL33XA.
    • Added get and set API for SQI Threshold:
      __HAL_MRSUBG_SET_SQI_THRESHOLD(__THRVAL__)
    • __HAL_MRSUBG_GET_SQI_THRESHOLD()
    • Fixed HAL_MRSubG_GetPALeveldBm() when PA is set in LEGACY o FIR mode
    • Added LL_MRSubG_GetPAMode() to retrieve the current PA mode
    • Fixed build errors when assertions are enabled.
  • HAL MRSUBG_TIMER driver
    • Enhanced power-saving state mechanism
  • HAL GPIO driver
    • Added else clause to disable pull-up/down resistors when GPIO mode is analog
  • HAL PWR driver
    • Added support to STM32WL3Rx ultra deepstop low power mode.
  • HAL LPUART driver
    • Solve Coverity out-of-bound memory access warning in use of LPUART_PRESCALER_TAB array
  • LL ADC driver
    • Fix assert_param define
  • LL LCSC driver
    • Fixed incorrect clearing of LCSC interrupt flags in LL driver
  • LL USART driver
    • Solve Coverity out-of-bound memory access warning in use of USART_PRESCALER_TAB array

BSP updates

Supported Devices and boards

  • NUCLEO-WL33CC1 board
  • NUCLEO-WL33CC2 board
  • NUCLEO-WL3RKB1 board
  • NUCLEO-WL3RKB2 board

Backward compatibility

  • Not applicable

Known Limitations

  • None

Dependencies

  • None

Notes

  • None

Main Changes

Release of HAL and LL drivers for STM32WL3x devices

Contents

HAL Drivers updates

  • HAL MRSUBG driver
    • Fixed wrong length of SYNC word in wM-Bus packet initialization function.
    • Fixed HAL_MRSubG_Sequencer_Microseconds return value.
    • HAL_MRSUBG_TIMER_CPU_WKUP IRQ Handler moved from MRSUBG to MRSUBG TIMER.
    • Updated names for IRQ handlers.
  • HAL LPAWUR driver
    • Added MspInit and MspDeInit functions to MRSUBG, MRSUBG TIMER, and LPAWUR.
  • HAL RCC driver
    • Add LL RCC APIs to manage RTC clock: LL_RCC_EnableRTC(), LL_RCC_DisableRTC() and LL_RCC_IsEnabledRTC().
    • Added support for RCC_LPUART1_CLKSOURCE_16M with a frequency of 16,000,000.

LL Drivers updates

  • LL ADC driver
    • Fix rmtoll doxygen comment in LL_ADC_GetCalibPointOffset()
  • LL USART driver
    • Solve Coverity out-of-bound memory access warning in use of USART_PRESCALER_TAB array.
  • LL LPUART driver
    • Solve Coverity out-of-bound memory access warning in use of LPUART_PRESCALER_TAB array.

Supported Devices and boards

  • NUCLEO-WL33CC1 board
  • NUCLEO-WL33CC2 board

Backward compatibility

  • Not applicable

Known Limitations

  • None

Dependencies

  • None

Notes

  • None

Main Changes

Release of HAL and LL drivers for STM32WL3x devices

Improved MRSUBG LL and HAL drivers with new APIs and macros:
  • __HAL_MRSUBG_GET_DATABUFFER_COUNT()
  • __HAL_MRSUBG_SET_PQI_THRESHOLD(__THRVAL__)
  • LL_MRSubG_GetRssiLevelOnSync(void)
  • LL_MRSubG_SetRSSIFilter(uint32_t rssiFilter)
  • LL_MRSubG_SetClkRecCtrl0(uint32_t clkRec)
  • LL_MRSubG_SetClkRecCtrl1(uint32_t clkRec)
  • LL_MRSubG_SetAFC0(uint32_t afcCfg)
  • LL_MRSubG_SetAFC1(uint32_t afcCfg)
  • LL_MRSubG_SetAFC2(uint32_t afcCfg)
  • LL_MRSubG_SetAFC3(uint32_t afcCfg)
  • HAL ADC driver
    • Fix rmtoll doxygen comment in LL_ADC_GetCalibPointOffset()
  • HAL UART driver
    • Corrections in CHM/PDF rendering for HAL_UART
    • Provide accurate position in RxEventCallback when ReceptionToIdle mode is used with DMA, when UART and DMA interrupts process is delayed
    • Correct references to HAL_UARTEx_WakeupCallback and to HAL_UART_WAKEUP_CB_ID define, according to series capabilities
  • LL LPUART driver
    • Solve Coverity out-of-bound memory access warning in use of LPUART_PRESCALER_TAB array
  • LL USART driver
    • Solve Coverity out-of-bound memory access warning in use of USART_PRESCALER_TAB array

Check the code documentation for further details.

Contents

  • Release of HAL/LL drivers
    • HAL: COMP, CORTEX, CRC, CRYP, DMA, FLASH, GPIO, I2C, IRDA, IWDG, LCD, LPAWUR, MRSUBG, PWR, RCC, RNG, RTC, SMARTCARD, SPI, TIM, UART, USART

    • LL: COMP, CRC, DMA, GPIO, I2C, LCSC, LPUART, LPAWUR, MRSUBG, PWR, RCC, RNG, RTC, SPI, TIM, USART, UTILS

Supported Devices and boards

  • NUCLEO-WL33CC1 board
  • NUCLEO-WL33CC2 board

Backward compatibility

  • Not applicable

Known Limitations

  • None

Dependencies

  • None

Notes

  • None

Main Changes

First Official Release of HAL and LL drivers for STM32WL33 devices

Contents

  • First Official Release of HAL/LL drivers
    • HAL: COMP, CORTEX, CRC, CRYP, DMA, FLASH, GPIO, I2C, IRDA, IWDG, LCD, LPAWUR, MRSUBG, PWR, RCC, RNG, RTC, SMARTCARD, SPI, TIM, UART, USART

    • LL: COMP, CRC, DMA, GPIO, I2C, LCSC, LPUART, LPAWUR, MRSUBG, PWR, RCC, RNG, RTC, SPI, TIM, USART, UTILS

Supported Devices and boards

  • NUCLEO-WL33CC board

Backward compatibility

  • Not applicable

Known Limitations

  • None

Dependencies

  • None

Notes

  • None