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
Hi everyone,I’ve been working with the STM32WB1MMC module and I’m running into several issues related to HCI command support over UART.1. Using stm32wb1x_BLE_HCILayer_fw.binI started by flashing the binary found here:STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1xUnfortunately, the module doesn’t respond to any HCI commands over UART.Is this binary supposed to work standalone, or does it require an application to map the UART interface?I’ve tried several UART ports but haven’t received any response so far.2. Testing Transparent ModeTo explore alternatives, I looked into the Transparent Mode example from ST:STM32CubeWB/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_TransparentModeAccording to the documentation, this application should allow controlling the MCU directly via HCI commands when used with the XX-BLE_Stack_full_fw.bin binary.Since the project is only available for the Nucleo-WB55RG (not for the WB1MMC module), I ran tests on the WB55RG instead, which I had
HiI was here with a timer question not long ago, and everything seemed solved. https://community.st.com/t5/stm32-mcus-wireless/timer-tim2-does-not-work-when-ble-is-initialized-in-stm32wb55/m-p/794896#M24405I am working on a custom device, but I made a demo version for the nucleo board to share the project.Respected @FilipKremen helped me then. Also, when regenerating the project with entering standby mode, everything crashed, and for many days, I couldn't find what the problem was because most of the files seemed to be identical. And now I added the functionality with the standby mode to the project with the timer example, and I was able to trace the problem.If I activate #define CFG_LPM_SUPPORTED 1, entering standby mode on a long press of button 1 works, but the timer doesn't start at the initialization. At the same time, if CFG_LPM_SUPPORTED is 0, the timer works fine, but entering standby mode does not work.Is this a bug, or am I missing something? Please help meI a
Hi, We have designed a board using STM32WB55 and also ordered evaluation kit. Our company policy requires us to request software, so there is 2-3 week delay until we get it. At the moment I am trying to understand what is the required software to make it possible to program and debug the board.STM32Cube IDESTSW-LINK009 driver for STLINK V3STM32CubeProg (Or does it come with IDE?)STM32CubeMonitor (Also included with IDE?) This is what I have come up with so far. If there are things I have missed or could benefit from, please give me some rope here so I can request all the useful software from my IT department! Best regards,STMDesigner
I created a project with cubeide 1.18.0 using stm32wba55. I am doing code generation but it gives crc_ctrl.h error while compiling. What can I do?
Hi everyone,I'm working with an STM32 microcontroller and the LoRaWAN stack provided by ST. My goal is to initialize LoRaWAN only when a button connected to pin PA0 is pressed.I verified with a multimeter that PA0 is at 0V when idle and goes to 3.3V when the button is pressed, so the hardware seems fine.In the code, I'm calling MX_LoRaWAN_Init() only if I detect PA0 is HIGH and a debounce time has passed. However, LoRaWAN never starts, even if I hold the button for several seconds.Below is the full main.c file, including the logic for PA0 detection and conditional LoRaWAN startup: /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2025 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LIC
I am working on STM32WLE5CCU6 mcu and try to erase the flash. But always giving me the error status as 0xFFFFFFFF. whatever address we provide , the errorStatus is always 0xFFFFFFFFmemAddress = FLASH_BASE + (110*FLASH_PAGE_SIZE); //0x08037000uint32_t eraseFlash(uint32_t memAddress){uint32_t errorStatus = 0;FLASH_EraseInitTypeDef flashEraseStruct = {0};flashEraseStruct.TypeErase = FLASH_TYPEERASE_PAGES;flashEraseStruct.Page = (MemAddress - FLASH_BASE) / FLASH_PAGE_SIZE;flashEraseStruct.NbPages = 1; HAL_FLASH_Unlock();HAL_FLASHEx_Erase(&flashEraseStruct, &errorStatus);HAL_FLASH_Lock();if(errorStatus == 0xFFFFFFFF)rtn = 0;printf("errorStatus : %.X\r\n",errorStatus);return rtn;} can anyone help me with this ?
Hi, Im developing stm32wb55ceu6 RF application hardware. In the application note AN5290 it says that a second antenna matching network is needed after the LP filter . But i cant find anything else about this matching network. Next page at the schematic example, this second antenna matching network is not implemented. can someone shed some light on the this topic, thanks in advance.
Hello,I am working on a point-to-point communication project using the P-Nucleo LRWAN2 board package. In this setup:The NUCLEO-L073RZ acts as the transmitter.The NUCLEO-F746ZGT6 acts as the receiver.I have downloaded the LoRaWAN package for STM32Cube provided by ST, but I am facing difficulties using the library in STM32CubeIDE.Here’s what I’ve done so far:I created a new project in STM32CubeIDE.I started copying the .c and .h files from the LoRaWAN package into my project.I included the necessary header files, but I am still getting "undefined reference" errors during the build process.Could someone guide me on the correct way to integrate the LoRaWAN library with STM32CubeIDE? I’m not sure if I’m missing any specific configurations or additional steps to properly set up the project for point-to-point communication.Thanks for your help!Inc and Src Folder Console main.c file https://www.st.com/en/evaluation-tools/p-nucleo-lrwan2.html https://www.st.com/en/embedded-s
Hello Developers,I am currently facing an issue with joining the LoRaWAN network using the LoRaWAN AT Slave example provided by STM32Cube_FW_WL_V1.3.0 on a new Nucleo STM32WL55JC1 board. Despite following the provided instructions and configuring the example for the EU868 region, I am unable to successfully join the network.Here are the steps I have taken and the observations I have made:Flashed the LoRaWAN AT Slave example to the STM32WL55JC1 Nucleo board without any apparent problems.Configured the board for the EU868 region.Entered the necessary AT commands for configuring Device EUI, Application EUI, Application Key, ADR, and Data Rate.Initiated the join procedure with AT+JOIN=1 to use Over-The-Air Activation (OTAA) mode.However, despite multiple attempts, the join procedure fails consistently, and I receive a "JOIN FAILED" response from the LoRaWAN module.I have tried adjusting parameters such as Data Rate (AT+DR) and Transmit Power (AT+TXP), but the issue persists.Here is a snipp
I am developing an application from LoRaWAN End Node example in STM32WLE MCU. I would like to use serial communication through already configures USART2 to configure some tests from a python script, but I cannot find the interrupt function that is called when a message is received by my the MCU.There is a lot code and macros. Maybe I am forgetting something.Could anyone help me please? Thanks in advance.
Hello,I'm looking for a board that provides all program/debug signal on a header while allowing to disconnect on-board MCU.I've looked at a few NUCLEO boards - only JTCK, JTMS, NRST, SWO are exposed to a header (with possibility to disconnect on-board MCU using jumpers and solder bridges), but not MCO, STLK_TX and STLK_RX.Does exist a board that exposes whole this stuff ?Thanks.Pavel.
Dear Friends, I’m developing firmware for the STM32WB05KZV6TR with these sensors: LIS2MDLTR (magnetometer), LSM6DSO32XTR (accelerometer/gyroscope), and HSFPAR004A (force sensor). My PCB is already printed, and components are installed, so I can’t add a host MCU. I need to implement BLE export (to a mobile device), Flash writing, and sensor data export using only the STM32WB05KZV6TR. Details:MCU: STM32WB05KZV6TR (192 KB Flash, 24 KB RAM).Features: BLE GATT server, sensor data handling, Flash storage.Approach: Bare metal programming (FreeRTOS/Zephyr may be too heavy).Questions:Can I fit this functionality within 24 KB of RAM and 192 KB of Flash? Any optimisation tips?Are there examples or libraries for these sensors with the STM32WB series?How should I structure the firmware to balance sensor reads and BLE notifications?Is STM32CubeMX the best tool for configuring peripherals and BLE?I’d appreciate any advice, code snippets, or example projects!
I am currently working with the STM32WB55RG microcontroller on the NUCLEO-WB55RG development board and am encountering an issue while attempting to install or update the BLE wireless stack using STM32CubeProgrammer.Upon attempting to start the wireless stack or upgrade FUS, I receive the following error: Error: FUS_STATE_IMG_NOT_FOUND: Firmware/FUS upgrade requested but no image found.(such as image header corrupted or flash memory corrupted)Error: Start Wireless Stack Operation Failure! Please, try again I would appreciate guidance on:Confirming if anti-rollback is active on this deviceWhether a forced FUS or stack reinstallation is possibleAny tools or procedures to resolve this statePlease let me know if any additional logs or files are needed for diagnosis.
Hello, I'm encountering the same issue, and i started debugging the embedded bootloader protocol manually. Or i'm starting getting crazy, but what specified in AN3155 is not respecting what i'm having on the serial port.I'm using NUCLEO-WB09KE(MB2032B) mounted on MB1801D.When moving JP1[MB2032B] to BOOT mode, SWD is not available.I'm only be able to get on bootloader mode (not with CubeProg) but as below.Problem 1 - GetVersionComand (documentation mismatch)I sucessfully entered in BL (Ack = 0x79), however GetVersion command is totally ignored. I then tested with another command to see if the communication with embedded BL works.Something worked but not as expected. Command 0x02+0xFD should reply with ACK(0x79) + N=NumberOfByte + PID. I did not see 0x79 as ACK nor the number of bytes i should get: i just got 0xD0 and 0x94.I can't find what is the DEV_ID of STM32WB09KEx, so i can't verify if what'i'm having is really the DEV_ID or something else. Anyway the ACK is sti
I have connected a Nicerf SX1262 us915 lora module with the STM32L496RG MCU. Lora module has DIO1 and Busy pins for tx and rx confirmation(data send and receive ).I'm using STM32CubeExpansion_LRWAN_V1.3.1 library and i have used sx1262 example which is sx1262dvk1das. This code is properly working and its generate also interrupt on dio1 and busy pins at exact time but its occurs tx timeout or give on serial port window txtimout. I also get proper data on my gateway and server which is on ttn.I dont know where is the problem. Interrupt fired on proper time. I checked all physical connections which is properly connected. I'm sharing my serial window data. where 64 is dio1 pin interrupt. .
At a high level, our device is essentially a Zigbee -> BLE bridge. The use case is that our device would start up as a Zigbee coordinator and allow multiple Zigbee end devices to join. Messages from the end devices would be sent over Zigbee and then translated and sent over BLE to a phone.We’ve worked with the STM32WB in previous projects and though this might be a suitable micro, however looking at the example of the Dynamic BLE/Zigbee stack, I don’t believe it supports our use case. This stack seems to only support BLE point to point communication and sending messages to another Zigbee Coordinator, not necessarily establishing itself as a coordinator. Is this correct?If that is the case, would we essentially need two stm32wb in the device? One for BLE comms and the other for Zigbee and they would communicate with each other through some serial interface?
Hi,i am using NUCLEO-WBA55 with the BLE_p2pServer example from firmware package.Here for example in file app_ble.c is a define statement#define ADV_TIMEOUT_MS (60 * 1000)and this ends the advertising after 60 seconds.However, I would like to start and stop the advertising individually with a command, for example.Can someone explain to me how I can do this?
I'm using an STM32WB5MMG module.I was facing a problem with AD not working properly when exiting from stop2 mode.HAL_ADC_PollForConversion()returns a value other than HAL_OKAnd,HAL_ADC_GetValue(&hadc1)returns only 0.I have confirmed the same problem in the following post, but it remained unresolved, so I would like to know how to resolve it.https://community.st.com/t5/stm32-mcus-wireless/how-to-get-adc-to-work-after-stop0-mode-stm32wb5/td-p/95710Similar to this postBefore entering STOP2 mode, tried to doHAL_ADC_DeInit(&hadc1);and after exiting from STOP2 mode, tried to doMX_ADC1_Init()But, The process in this function below had error.if (HAL_ADC_Init(&hadc1) != HAL_OK) { Error_Handler(); }Is there any approach I should try?
Hi, Recently I have mistakenly upgraded to FUS 2.0 and BLE stack 1.22.1 for my stm32wb5mmg chip. I was using FUS 1.2.0 and BLE stack 1.22.0.2 before and the system behaves perfectly fine with the firmware on hand. After upgrading it the device doesn't seem to be advertising and couldn't be detected by any other devices. I have notice that it is impossible to downgrade the FUS version is there a way to tackle the issue? If I wanted to erase the whole chip and copy the memory of a working chip, is that possible?
Hi all,I'm working on a BLE project on STM32WB5MMGHx module on each side (client and server).For the server side, I use CubeMX to generate almost all the code (pairing configuration, GATT service and characteristics, etc.). I managed to "bypass" some CubeMX generated using the USER CODE comment areas to do what I wanted.For the client part (more complex), I can only get a Custom P2P Client (this not what I want). Looks like I can't disable the Custom P2P Client (combobox disabled).So here is the questions :- How am I supposed to use CubeMX to create the BLE client with some custom code without bypassing 90% of CubeMX generated code (if possible...) ?- Should I create all the projet manually and integrate some CubeMX generated code (in another folder) by hand ? Thx
When I run my software, I sometimes encounter the line " else if (p_sys_ready_event->sysevt_ready_rsp == FUS_FW_RUNNING)".I have read the other posts which say that after upgrading the stack you need to click "Start Wireless Stack" and everything will work, (I do this every time) but unfortunately there's more to this...Yesterday, I was running my code and every time, it hit WIRELESS_FW_RUNNING and the program worked. Today I ran the same code and it hit FUS_FW_RUNNING. I hadn't changed the stack, the board was just powered off overnight.Obviously if this happens in the field it will be catstrophic, so is there a way to tell the FUS to run the stack in my program if it hits FUS_FW_RUNNING?I am using the latest STM software, CubeMx 1.18 and latest stack, v1.21.0.3. Are there any known issues with this? Today I have reprogrammed the stack again, clicked "Start Wireless Stack" and everything works at the moment. But I know it will go wrong again and need a bett
Hi,I am using a custom board based on P-NUCLEO-WB55 and started working from the example code BLE_p2pServer. The board will normally be in stop2 mode and will check for pushbutton press every 1 second. The current consumption is around 10 uA in this state. If push button is pressed for 3 or more seconds. The board enters the BLE mode. It is advertising the packets for a set time of 5 minutes. After 5 minutes I am exiting from the while loop. I am trying to stop the BLE mode and go to stop2 mode and continue the previous operation. Once i enter the BLE mode and exit out of BLE mode the current consumption is now 100uA. All other functionalities are working properly. If I press the push button for 3 seconds, The board enters BLE and starts advertising. I am trying to find out what is causing this increase in current. I don't want to reset the board every time I enter BLE mode. This is the following procedure I am using to exit out of BLE mode. hci_reset
ADC example measuring wrong voltage.Example - Repository\STM32Cube_FW_WB_V1.22.1\Projects\P-NUCLEO-WB55.Nucleo\Examples\ADC\ADC_SingleConversion_TriggerSW_ITis always measuring 3.298 V even when voltage is 2.6V.
Hi,I can't debug my STM32WB09. I can execute a few lines (it's not a specific number, it may be random), and then CubeIDE throws the following error and disconnects from the board. The board is based on the Nucleo-WB09KE (NUWB09KE$CR1). Below, I’m attaching an image of the adapted board and another image of the error. I’m also including the project zip file. The project itself isn’t particularly complex, other than the addition of a .c file to handle the data generated for BLE transmission.Please, if you can help or guide me in debugging the project, I’d really appreciate it.
Hi,We designed a custom board that includes the STM32WB09KE microcontroller. We're working with a BLE middleware, and when I try to run the code, it doesn't go past the line LL_RCC_RC64MPLL_IsReady() during the clock configuration in SystemClock_Config().As far as I know, the code should work, since it runs correctly on the Nucleo-WB09KE (NUWB09KE$CR1). Below is a photo:If I don't enable the PLL64M, the code runs fine and I can, for example, make an LED blink. However, I lose the RADIO functionality, which is essential for my project.I'm also including the main.c code atached, along with a physical photo of how the microcontroller is currently "wired up".
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.