Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and discuss STM32 wireless solutions and their implementation for running Bluetooth LE, Zigbee, LoRaWAN applications.
Most recent activity
Hello ST Community,I'm encountering a persistent issue with the Secure Boot and Secure Firmware Update (SBSFU) implementation on the STM32WB55VGQ6. I am using a setup largely based on the official SBSFU examples, but modified for my specific application.The core problem is that the first successful firmware update via YModem works perfectly (signature verification and decryption pass), but all subsequent updates fail authentication, even with the same, correctly signed and encrypted .sfb file.Target and Configuration DetailsTarget MCU: STM32WB55VGQ6Bootloader: SBSFU (Close to standard example, running on Cortex-M4 only).Update Method: YModem over UART @ 115200 baud.Firmware Image: Custom .sfb file, encrypted and signed using the standard provided tools (prepareimage, etc.) with self-generated keys.Initial Programming:UserKey (for AES_CBC) pushed via CubeProgrammer.SECoreBin + SBSFU loaded at 0x08000000.CM0+ Core: Not used at all (disabled for historical reasons, as wireless connectivit
Hello, in the datasheet for the STM32WLE5xx, specifically Table 28, there are power consumption statistics for the sub-GHz radio. In the table, there is a category for mode. I was wondering whether this category is referring to the mode of the chip or just the mode of the sub-GHz radio module. If it is referring to the mode of the chip, then is the full power consumption of the chip the sum of the power consumption of the sub-GHz radio and the power consumption of the core module?
Hello,The integration of the MOC version of the WL series feels a little... incomplete in CubeMX. I was trying to get some basic LoRa com working and in the configuration it was telling me that I need to enable TCXO in RCC. I go to RCC and I can't do that because the MOC version of this part has that built in. Of course I could generate the code as-is, and then go into the generated files and change them so it says I do have TCXO enabled. The big downside to that would be is would lose those edits if i modify mt ioc file and regenerate. One possibility I thought of (question in the title) would be to just tell CubeMX that I'm using the STM32WL55JC. As long as I set up the clocks correctly to match the hardware, I don't think there would be any issue with that. My understanding is that under the hood they are the same part, but the MOC adds some of the rf circuitry and crystals.Also, since the MOC is really just a 55JC, the memory would be identical, and I don't think I would
HelloI'm trying to make an application with BLE using this video tutorial https://www.youtube.com/watch?v=CKYWy7LKL68&ab_channel=STMicroelectronics. I also found an example of entering standby mode using RTC wake-up (PWR_STANDBY_RTC in the example projects). I rewrote the program so that wake-up works on alarm. The program seems to work fine, but only if I enter standby mode before BLE initialization in CPU2 using MX_APPE_Init();.As far as I understand, I have to turn off BLE and de-initialize RF the stack? How do I stop the second core from running?I found this function in my BLE code: Adv_Cancel(); but it doesn't help.Here is the main part of my code:int main(void) { HAL_Init(); MX_APPE_Config(); SystemClock_Config(); PeriphCommonClock_Config(); MX_IPCC_Init(); MX_RF_Init();//sets alarm for 5 sec MX_GPIO_Init(); MX_SPI1_Init(); MX_ADC1_Init(); MX_I2C3_Init(); MX_TIM17_Init(); MX_TIM16_Init(); MX_RTC_Init(); if( (__HAL_PWR_GET_FLAG(PWR_FLAG_SB) != RE
Hello,I am using an STM32WB05KZ on a custom PCB. Initially, I was able to program it normally via SWD using STM32CubeProgrammer, but after uploading a BLE Beacon example, I can no longer connect to the MCU.CubeProgrammer now shows:Error: Unable to get core IDError: ST-LINK error (DEV_TARGET_CMD_ERR)No STM32 target foundMy Hardware SetupCustom PCB using STM32WB05KZSWDIO, SWCLK, RST, VDD, GND routed through through-hole padsST-LINK V2 firmware: V2J46M33Operating voltage: 3.21 VSWD frequency tested from 4 MHz down to 100 kHzTried Normal, Hotplug, and Under Reset modesTried holding RESET while connecting → no successMy SituationAfter flashing the BLE firmware, SWD stopped responding completely.It seems the firmware reconfigured the SWD pins early or put the device into DeepStop, which disables SWD access.I saw advice suggesting to force the chip into the UART bootloader by pulling PA10 HIGH and resetting.However, since I designed a custom PCB (not the NUCLEO-WB05KZ), I manually tie PA10 to
Hello,I am using an STM32WB05KZ board and it was working normally with SWD through STM32CubeProgrammer.However, after uploading a BLE beacon example firmware, I can no longer connect to the MCU.CubeProgrammer shows the following errors:Error: Unable to get core IDError: ST-LINK error (DEV_TARGET_CMD_ERR)No STM32 target foundMy setup:SWDIO, SWCLK, and RST are connected through through-hole pads.ST-LINK V2 firmware: V2J46M33Voltage: 3.21 VSWD frequency tested from 4 MHz down to 100 kHzTried "Under Reset", "Hotplug", and "Normal" modesTried holding RESET while connecting → still no successIt seems the BLE firmware is blocking SWD or reconfiguring PA13/PA14 very early during boot.Requested Help:How can I recover the STM32WB05KZ and re-enable SWD?Is there a recommended recovery procedure for WB devices stuck after BLE firmware?Does the WB05KZ support BOOT0 or another method to force the system bootloader?How can I prevent BLE examples from disabling SWD pins or entering STOP mode?Any
Hi everyone,I'm new to STM32 solutions. My goal is to use the RTC Wake-Up Timer (WUT) to wake the MCU from Standby mode. I'm starting with a simple test:Cold Boot - Program the WUT to wake the MCU in 5 seconds and enter Standby.Warm Boot - Blink an LED, increment a counter (in BKPSRAM), and go back to sleep for 5 more seconds.The Problem: The MCU enters Standby, but it never wakes up.I am calculating the WUT for ck_spre (256 Hz) as follows: wakeup_counter = 5 (seconds) * 256 (Hz) = 1280.HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_RTC_Init(); if (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) { // LSE FAILED! while (1) { //(error) HAL_GPIO_WritePin (LED_RED_GPIO_Port, LED_RED_Pin, GPIO_PIN_SET); HAL_Delay (100); HAL_GPIO_WritePin (LED_RED_GPIO_Port, LED_RED_Pin, GPIO_PIN_RESET); HAL_Delay (100); } } uint32_t time_wkp_seg = 5; uint32_t wakeup_counter = time_wkp_seg * 256; if (__HAL_PWR_GET_FLAG(PWR_FLAG_SBF) != RESET) { // 1. Woke up from Standby // 2.
Hi STM Community Team,Good day! We are working on a project called DFMEA Analysis for flight products so, we kindly request the provision of the functional safety Document (Pin FMEA). Given the time-sensitive nature of the current project, we would greatly appreciate it if you could expedite the sharing these documents for the below listed item at your earliest convenienceS.NODesignatorPart NumberManufacturerData SheetFIT Rate DocumentRemarks1U16STM32WL5MOCH6STRSTMicroelectronicsYesYes
I am encountering a build failure in the I2C_OneBoard_Communication_PollingAndIT_Init project after integrating the X-CUBE-MEMS1 software expansion pack. D:/STM32Cube/I2C_OneBoard_Communication_PollingAndIT_Init/Drivers/STM32WBAxx_HAL_Driver/Src/stm32wbaxx_hal_dma.c:185:10: fatal error: stm32wbaxx_hal.h: No such file or directory 185 | #include "stm32wbaxx_hal.h" | ^~~~~~~~~~~~~~~~~~ compilation terminated. D:/STM32Cube/I2C_OneBoard_Communication_PollingAndIT_Init/Drivers/STM32WBAxx_HAL_Driver/Src/stm32wbaxx_hal_dma_ex.c:478:10: fatal error: stm32wbaxx_hal.h: No such file or directory 478 | #include "stm32wbaxx_hal.h" | ^~~~~~~~~~~~~~~~~~ compilation terminated. make: *** [Drivers/STM32WBAxx_HAL_Driver/subdir.mk:46: Drivers/STM32WBAxx_HAL_Driver/stm32wbaxx_hal_dma.o] Error 1 make: *** Waiting for unfinished jobs.... make: *** [Drivers/STM32WBAxx_HAL_Driver/subdir.mk:48: Drivers/STM32WBAxx_HAL_Driver/stm32wbaxx_hal_dma_ex.o] Error 1 D:/STM32Cube/I2C_OneBoard_Communication_Polli
Hello there,I am trying to get my Nucleo WBA55 running with the new CubeMX 6.14 and the new MCU package 1.6.0.Generating a project with just the bare minimum BLE GATT Server application, CMake configuration.Importing into VS Code with extension 2.1.1, compiling "debug" version, I get several multiple definition errors.The file is included twice in the makefiles in two different sections it seems.[build] [86/86] Linking C executable LCU_Demo.elf [build] FAILED: LCU_Demo.elf [build] C:\Windows\system32\cmd.exe /C "cd . && C:\ST\STM32CubeCLT_1.17.0\GNU-tools-for-STM32\bin\arm-none-eabi-gcc.exe -mcpu=cortex-m33 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m33 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -mcpu=cortex-m33 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wextra -Wpedantic -fdata-sections -ffunction-sections -O0 -g3 -mcpu=cortex-m33 -mfpu=fpv4-sp-d16 -mfloat-abi
Good afternoon, I am currently investigating the FHSS in the STM32WLE5JC chip. Using the STM32 SubGHz radio stackversion 1.3.1 I am unable to use any of the settings with LoRa. Enabling the FHSS and settingthe period does not change anything and the messages are transmitted as if this was omitted. It is my understanding that the radio IP is from Semtech, I cannot find much detail on if thehardware is based exactly on a Semtech board (i.e, SX1262) or a custom implementation. Back to LoRa FHSS have looked through the other forums and in 2020 an ST Employee saidit was not possible with the current stack, and in 2025 that it could be done(but the example provided was for LR-FHSS which uses a different modulation scheme GMSK). My questions:Is the STM32WLE5JC hardware comparable to a specific Semtech chip (so I can understand thelimitations)? Are the FHSS settings in the STM32 radio driver enabled for LoRa (it describesthe settings are LoRa specific)? Thank You!
Hi,I've been reviewing the documentation for the STM32WBA55, but I haven’t found a clear answer on whether it is possible to directly access the RF registers to tune to a specific RX channel (ex. 2450MHz) and measure the channel's RSSI - specifically, without relying on any protocol-specific signal like Bluetooth LE. Could you please clarify if this is supported? Thank you.
Hello,I am designing a Matter/Zigbee Gateway using an STM32U5 as the host. My planned architecture includes:ST67W: Handling Wi-Fi and Thread (Matter over Wi-Fi/Thread).STM32WBA (or similar): Handling Zigbee (Matter Bridge logic).I have two specific questions regarding the ST67W's coexistence capabilities:Internal Coexistence: Does the ST67W natively support concurrent operation of Wi-Fi and Thread simultaneously without external hardware arbitration?External PTA Support: Does the ST67W expose 3-wire PTA pins (Request/Priority/Grant) to manage coexistence with an external 802.15.4 radio (e.g., the STM32WBA running Zigbee)?Basically, I need to confirm if it supports a "Hybrid Coexistence" setup where it manages internal Wi-Fi/Thread traffic while acting as a PTA Arbiter for an external Zigbee MCU.Thanks in advance.
Hello Everyone,I'm quite new with this kind of coding.I'm editing two dual core projects written for Nucleo WL55JC1, Node2 and Node1. Node2 allready implements the reading from adc and now i have to implement into Node1. I would like that the "adc.c" file was the same in the two projects so i checked the .ioc file from Node2 and I configured the .ioc of the Node1 in the same way doing some changes (Node2 has to read from 3 sensors, Node1 just from one).Now, the two adc.c files are basically the same but the one in the Node1 implements the code RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; ---------------------------- /** Initializes the peripherals clocks */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC; PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_HSI; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); }and the one in the Node2 don't. For what I understand it regards the adc clock so i checked the Node2's .io
Hi, I am working on proof of concept project with B-L4S51-IOT1A Discovery board with STM32 micro on board and many useful sensors for fast development, I am wishing to learn in the on board wireless sensors i.e. BlueNRG-M0 and Wifi. I want to load and run BLE examples but current versions of X-CUBE-BLE1 do not provide any working examples. Request to ST to provide working examples for Discovery Kit and BlueNRG-M0. Thanks
Hi, I am prototyping a PINGPONG project on two NUCLEO STM32WL55JC1 with en.stm32cubewl-v1-3-0 software.I am checking the link at low Rssi values driving one board apart from the other.The parameters are below. I change OUTPUT POWER from 0 to 22dBm.In all trials the receiver stops receiving packets when Rssi gets below -107 dBm.This is far too early. LoRa should receive packets at lower Rssi values. What goes wrong ?
When generating code im getting two erros:In timer_if.c:in LoraMac.c: I've been trying to look for some answers but i couldn't really find something useful.If someone can help i'd really appreciate it.Regards.
Hello all,I am working with the STM32WB series and using a 32 MHz crystal for the HSE (specifically the Murata XRCGB32M000F1SBBR0 on my custom board).To verify correct operation, I measured the analog waveform on OSC_IN and OSC_OUT using a low-capacitance active probe (Keysight N2796A). ObservationOn both my custom board and the official NUCLEO-WB55 evaluation board, I consistently measure the following:OSC_OUT ≈ 500 mVpp, ~400 mV DC biasOSC_IN ≈ slightly lower amplitude but similar bias (~400 mV)The two boards produce almost identical results, so this does not appear to be a layout or crystal-selection issue on my side. Documentation gapI cannot find any ST document (datasheet, reference manual, AN2867, or app notes specific to STM32WB) that specifies:Expected voltage swing amplitude on OSC_IN or OSC_OUTExpected bias pointTypical or minimum oscillator drive level in terms of Vpp for HSE on the STM32WB seriesThe datasheet provides the crystal requirements (ESR, CL, drive leve
I'm working with a NUCLEO-STM32WBA55 board and trying to build the BLE_p2pClient example project, but it fails with the error shown below:I../../System/Modules -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Drivers/STM32WBAxx_HAL_Driver/stm32wbaxx_hal_gpio.d" -MT"Drivers/STM32WBAxx_HAL_Driver/stm32wbaxx_hal_gpio.o" --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -o "Drivers/STM32WBAxx_HAL_Driver/stm32wbaxx_hal_gpio.o" make: *** No rule to make target 'D:/STM32Cube/BLE_p2pClient/Drivers/STM32WBAxx_HAL_Driver/Src/stm32wbaxx_hal_gtzc.c', needed by 'Drivers/STM32WBAxx_HAL_Driver/stm32wbaxx_hal_gtzc.o'. Stop. make: *** Waiting for unfinished jobs.... "make -j8 all" terminated with exit code 2. Build might be incomplete. 10:35:54 Build Failed. 2 errors, 0 warnings. (took 6s.752ms) Environment:CubeIDE 2.0.0, CubeMX 6.16.0, WBA FW 1.8.0, X-CUBE-MEMS1 12.0.0
HelloI was developing an application that uses BLE and low power mode. I was testing that on a custom board and when I measured the current consumption at STOP2_MODE, it was 1.7 mA.I expected that I had made a mistake. So I tried the low power examples found there STM32CubeWB/Projects/P-NUCLEO-WB55.Nucleo/Examples/PWR at master · STMicroelectronics/STM32CubeWB on my board and then using the P-Nucleo-WB55 and I found the current consumption is above 4 mA.Shouldn't be measured in micro-ampere? I am confused now, as I am using an ST example and a dev board, so it should work well.Thanks in advance. Best regards,Mahmoud A.
Hi, I am using STM32WBA55G-DK1, is it possible to use Audio In jack to send the input audio and at Out to receive the audio in a full duplex method. Thank you
Hi Community, I'm trying to build the BLE_TransparentMode example for the NUCLEO-WB05KZ, but I'm getting the following build error: region 'FLASH' overflowed by 93348 bytes Steps to reproduce: Open the BLE_TransparentMode example from the MX Example Selector for NUCLEO_WB05KZ. Change the toolchain to CMake with GCC compiler. Open the project and configure it using the STM32 VS Code extension. Build the project → the error appears. Environment: STM32CubeMX: v6.16 STM32CubeIDE for VS Code: v3.6.4 Has anyone encountered this issue or knows what might be causing the FLASH overflow with the CMake/GCC configuration?Thanks!
Hi!In AN5289, on page 37, the sequence for writing to Flash memory is described, taking into account potential CPU2 access (semaphores Sem2, Sem6, and Sem7). What does the diagram for writing/reading option bytes look like? Is it the same?
I am using the stm32wb55rev6 for my ble project.I created a new project based on the custom template provided by the ST. I am not able to print the messages on the terminal using the APP_DEBUG function.I am not able to send the data from the app to the stm only notify and enable and disable characterstics are working.Is there any specific reasons for not working.should i need to add any extra functions.Thanks.
Hi! We are developing a sensitive device using the STM32WB55, using in the M0+ the concurrent Thread+Ble binary (we use the concurrent because we'll need both Ble and Thread in the near future, althought the most important role is the Thread communication, and is the only one we are using right now). Thread works fine, but after some hours on the field (not in lab), the M0+ gets stuck in some state where it no longer ack the commands from our app in M4. Reseting the whole device makes it functional again, but it is not an opcion in the field. We need a way of reseting the M0+ without touching the M4, in order to make it function again. The state in which the M0 wont respond is simply it wont ack any command anymore after a while. It is not consistent, it could happen after 4h or after 12h. It is not reproductible in the lab, it only happens on the field. So we need to implement a recovery for when it happens. Please any hint is welcome.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.