TODAY | STM32 Summit 2026
Ask questions and discuss STM32 wireless solutions and their implementation for running Bluetooth LE, Zigbee, LoRaWAN applications.
Most recent activity
I am looking for a controller that can operate on very low power and listen for RF messages. The RF message would wake up the controller. Is this possible on the STM32WB? I see that it can wake up from RTC events, but I do not want to rely on a timer. Any help or suggestions are appreciated.
Hey,in my application it should be possible to turn bluetooth on and off again completely.Turning advertising off, doesn't do the trick, because devices which have been paired before can still connect.Turning off the APB3 clock for BLE in the RCC_C2APB3ENR register works kind of, but not always. It is a very strange behaviour, where one can still connect to the device, even though the BLE clock is turned off. The register is not changed by anything else in the meanwhile,Reseting the radio frequency system with RCC_APB3RSTR turns is off completely, but won't allow a re-initialization.Probably there is an easy way, I haven't found yet. Every help and hint will be highly appreciated. Thanks!
I use BLE_p2pServer application, and try to send long size data to Mobile APP (LightBlue) or Rpi4 application (bulepy ).I am only able to send 153 bytes for maximum.May I ask how to exten ATT MTU SIZE > 153 bytes in the STM32WB55?Thanks a lot.My code modify as below:_______________________________________________________________________________________In app_conf.h:/** * Maximum supported ATT_MTU size */#define CFG_BLE_MAX_ATT_MTU (250)_______________________________________________________________________________________In p2p_stm.c: COPY_P2P_NOTIFY_UUID(uuid16.Char_UUID_128); aci_gatt_add_char(aPeerToPeerContext.PeerToPeerSvcHdle, UUID_TYPE_128, &uuid16, 200, CHAR_PROP_NOTIFY, ATTR_PERMISSION_NONE, 
Hello, i'm using ST32 p-Nucleo WB55 and i'm trying to upgrade FUS, latest version. I 'm getting an error (FUS_IMAGE_NOT_FOUND) during the upload phase. This is the code:------------------------------------------------------------------- STM32CubeProgrammer v2.4.0 ------------------------------------------------------------------- USB speed : Full Speed (12MBit/s) Manuf. ID : STMicroelectronics Product ID : DFU in FS Mode SN : 20523174554D FW version : 0x011a Device ID : 0x0495 Device name : STM32WB55xx Flash size : 1 MBytes Device type : MCU Device CPU : Cortex-M0+/M4 FUS state is FUS_SERVICE_ONGOING FUS status is FUS_IMAGE_NOT_FOUND FUS state is FUS_IDLE FUS status is FUS_NO_ERROR Old wireless stack delete ... Deleting firmware ... Firmware delete finished FUS state is FUS_SERVICE_ONGOING FUS status is FUS_IMAGE_NOT_FOUND FUS state is FUS_IDLE FUS status is FUS_NO_ERROR Download firmwa
HiI am using a B-L072Z-LRWAN1 development board and I need to read data from a DTH22 sensor.I am trying to use TIM6 to get a micro second delay, but it seems I am missing something.The delay function :void delay (uint16_t time){ /* change your code here for the delay in microseconds */ __HAL_TIM_SET_COUNTER(&htim6, 0); while ((__HAL_TIM_GET_COUNTER(&htim6))<time);}The TIM6 initialization:static void MX_TIM6_Init(void){ /* USER CODE BEGIN TIM6_Init 0 */ /* USER CODE END TIM6_Init 0 */ TIM_MasterConfigTypeDef sMasterConfig = {0}; /* USER CODE BEGIN TIM6_Init 1 */ /* USER CODE END TIM6_Init 1 */ htim6.Instance = TIM6; htim6.Init.Prescaler = 50-1; htim6.Init.CounterMode = TIM_COUNTERMODE_UP; htim6.Init.Period = 0xffff-1; if (HAL_TIM_Base_Init(&htim6) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISAB
I downloaded these examples:https://github.com/ashkanr65/STM32CubeWB/tree/master/Projects/P-NUCLEO-WB55.Nucleoto follow them, but when I open these projects, I can't build them with my STM32CubeIDE.Anyone can help me?
Hi,Is it possible to use the ADC to monitor the battery supply voltage down to 1.8V just before the micro stops working. Due to the reference (2.048) I can only correctly read down to 2.4VThanks am
Hello, everybody! I faced with some problem. If I init USB_Device as CDC by STM32CubeMX then OS detect dongle as "Unknow Device", but if I use ready project from STM32Cube_FW_WB_V1.3.0 (BLE_TransparentModeVCP) then Dongle is working. What reasons of this behaivor?USB settings in thu Cube on the pictures
I would like to provision mesh nodes with the netkey, appkey, unicast address etc via UART or I2C. However I don't find an API function call to the mesh library to allow this. All I see are MOBLE_RESULT BLEMesh_InitUnprovisionedNode(void);MOBLE_RESULT BLEMesh_InitProvisionedNode(void);MOBLEBOOL BLEMesh_IsUnprovisioned(void);MOBLE_RESULT BLEMesh_Unprovision(void);but nothing to do the actual provisioning. Thanks
Hi,I am currently working with the STM32WB Nucleo Boards. I wanted to flash a new FW on the Dongle. Therefore I enabled USB DFU Mode. I used the following command to write the new FW:$ ./STM32_Programmer.sh -c port=usb1 -w ~/Tools/STM32CubeWB/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_Ota/SW4STM32/Production/Debug/Production.elfOutput:Memory Programming ... Opening and parsing file: Production.elf File : Production.elf Size : 20512 Bytes Address : 0x08000000 Erasing memory corresponding to segment 0: Erasing internal memory sectors [0 4] erasing sector 0000 @: 0x08000000 failed erasing sector 0001 @: 0x08001000 failed erasing sector 0002 @: 0x08002000 failed erasing sector 0003 @: 0x08003000 failed erasing sector 0004 @: 0x08004000 failed Erasing memory corresponding to segment 1: Not flash Memory : No erase done Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation
I am developing with the stm32wb nucleo kit, and I am testing the stBleSensor application, I have tried to update the Wireless Stack sending an erroneous file (pdf), and what happens is that it updates without problem and does not give any error, but the Wireless stack does not work until I program it again via cli commands, at what point is the Wireless stack deleted during the update procedure? Is nothing checked before deleting the previous one and trying to install the new one?
Stumbling through the procedure described in app note AN5185 - ST firmware upgrade services for STM32WB Series using eval board MB1355C (STM32WB55). On page 3 of AN5185 it says:In order to check if FUS is running or not, the following options are available:• Send a single FUS_GET_STATE command and check the return status. If it isFUS_STATE_NOT_RUNNING then FUS is not running.• Check the SBRV option byte value:– If it is 0x3D800 then FUS must be running– If it is different from 0x3D800 then FUS is not running• Send a wireless stack command:– If it is acknowledged, then FUS is not running– If it is not acknowledged, then FUS is running• Read the shared table information:– Read IPCCDBA (in option bytes) to get the shared tables start address in SRAM2a– Get the device information table addressMy question is just trying to get me oriented. The command line program STM32_Programmer_CLI.exe has an option -fusgetstate, whereas the app note says to issue command FUS_GET_STATE and mentions a ret
Hi All,I am having trouble getting the BLE working on my new hardware. As a base project, I am using the WB55 Nucleo BLE_DataThroughput application. My new hardware is using a STM32WBCEU6.Following the Release Notes in STM32Cube_FW_WB_V1.1.1/Projects/STM32WB_Copro_Wireless_Binaries I have created a bat script and have installed the FUS and BLE_Stack. (Batch File Attached)The problem is when running my application code, the Ble_Hci_Gap_Gatt_Init() function does not complete as it is waiting for a CFG_IDLEEVT_HCI_CMD_EVT_RSP_ID event and does not timeout.How can I verify the FUS and BLE_Stack have correctly been installed? Why am I not receiving the correct event? Have I missed something for programming a new STM32WB55 MCU? Thanks,Daniel
I'm using the Discovery Kit B-L072Z-LRWAN with the expansion package from ST (I-CUBE-LRWAN), but I need to get the Device Registration PIN from the Murata (manual) module in order to register the device in my LoRa-Cloud account.I am aware that the manual describes how to do that via UART, but I tried and I couldn't get any response from the board.Any help is more than welcome!Thanks in advance!!
I'm using an STM32WB55 Nucleo board. If I power and manage it via the built-in ST-Link USB interface, the result is very flaky. The CubeIDE debugger randomly loses its connection and, far worse, the MCU will randomly reset itself. When this reset happens, the virtual COM port (over USB) also goes off-line and generally won't recover unless I power-cycle the board.I'm 100% certain that this is due to the ST-Link chip because the problem doesn't happen if I bypass it. If I do the following:Power-off the boardRemove all the jumpers from JP5 (to disconnect ST-Link from the MCU)Move the power jumper JP1 from USB-STL to USB-MCUPower-on via the USB_User port instead of the USB_ST-Link portthen everything works great.Of course, it's much less convenient this way. I need an external TTL serial-USB interface (attached to GPIOs PB6 and PB7) for my UART console to work and I need to flash my images via CubeProgrammer with a jumper installed across VDD and BOOT0, but I don't encounter all of the ra
I am trying to update the FUS firmware to the latest version on a STM32WB55CG, following the guide in the release notes I get Error: Firmware not authentic!. at step 5 (RSS_IMAGE_NOT_AUTHENTIC).I have the latest CubeProg version and my actual FUS is 0.5.3Am I doing something wrong? Thanks!
Hi, I'm currently trying to run End_Node project on my P-NUCLEO-LRWAN3 sensor board, I loaded the workspace to my EWARM IDE from STM32CubeExpansion_LRWAN_V1.3.1\Projects\STM32L073RZ-Nucleo\Applications\LoRa\End_Node\EWARM. Problems(1) I download and run the firmware to the NUCLEO-L073RZ NUCLEO development board, and reset the board, I got a LORAMAC_STATUS_BUSY and PHY txTimeOut message.ps: I added PRINTF("\n\rLORAMAC_STATUS_BUSY\n\r" to LoRaMacMlmeRequest function in LoRaMac.c as follows:if( LoRaMacIsBusy( ) == true ) { PRINTF("\n\rLORAMAC_STATUS_BUSY\n\r"); // added 2020/03/16 return LORAMAC_STATUS_BUSY; }The message shown in the console is as follows: [12:00:00.303]receive�?◆APP_VERSION= 01.03.00.00 MAC_VERSION= 04.04.02.00 OTAA DevEui= 8C-F9-58-20-00-00-F5-2C AppEui= 6D-09-AA-AA-AD-20-4E-72 AppKey= 8C F9 58 20 00 00 F5 2C 6D 09 AA AA AD 20 4E 72 [12:00:00.385]receive�?◆LORAMAC_STATUS_BUSY [12:00:02.873]receive�?◆\0 [12:00:04.394]receive�?◆ 4s093: PHY txTimeOut
Hello! I am writing a client aplication to stm32wb55. How can I send the battery level to the client? I generated a project in Cube and turned on P2P_server profile.
Hello! I was running the debug in Keil to my STM32WB55 board, and suddenly the notebook turned off due to low charge. When I turned on the notebook and connected the board , the advertising led didn't blink anymore, that is, the board stopped advertising. I searched in the forum, found some answers and tried to reflash my coprocessor. It seemed to work but after a short time it went back to the same situation. When I turn on , It sometimes advertises but sometimes not. How can I solve it? One more info: when I was flashing using CMD interface(USB) I deleted the wireless stack and when I downloaded the new FUS it gave the error "firmware not authentic", but after this I checked the version of FUS on the board and I saw that it has uploaded even with that error.
I am doing some basic bluetooth development with the WB55 Nucleo Board using the STMWB Workshop videos as a guideline. Following this, I was able to reproduce the example project that blinks the LED and reads the button state of the board with the ST BLE App. I am also testing with a bluetooth app that generically connects to a device, retrieves the services/characteristics, and interacts with them by sending/receiving bytes. On workshop video 4, the tutorial diverged from the Cube MX version I was using (5.6) when enabling a Custom Template. Using Cube MX 5.6 generates a number of additional fields to configure the custom services/characteristics (not present in the videos), which seemed to make it easier to set everything up. I simply want to create characteristics to read/write arrays of bytes, but I can't seem to figure out the correct settings in Cube MX to get this to work. To make things simple, I started by trying to create a single service and characteristic to write a byte of
Hey guys, I am going to start a project which required to have the BLE router.I prefer to stick to the FreeRTOS as my O.S due to regulations and standards this project needs to pass.I know there is no such example who combined router with freeRTOS, so I guess I will need to merge between the heartrate with FreeRTOS and the router examples. as far as I am aware there are 2 main issues I need to consider. the first is the low power handling and the second and obvious is scheduler vs O.S.I would really appreciate it if someone can give some guidelines on how to approach this kind of task and if it is better to merge the router capability into the freeRTOS example or vice versa.Thank u.
Hi,can someone tell me the difference of the both stack versions of the new package 1.5.0 ?Do both versions support the same functions of the HAL libraries or is there any restriction with the function calls?I need only the advertising function (broadcast, non-connectable, undirected) for my project. My code is small enought to fit on the 256K version of the WB55 controller.Thanks a lot,Ben
Hi everyone,When my group was designing our PCB for the STM32WB55RG, we read page 38 of the datasheet (https://www.st.com/resource/en/datasheet/stm32wb55rg.pdf) and thought we only needed the HSE for BLE functionality. However, after soldering our board and testing it, we can successfully advertise but not connect. From this post https://community.st.com/s/question/0D50X0000BbMebpSQC/stm32wb-ble-application-using-the-lsi2-as-source-of-rf-wakeup, it looks like we do need an LSE after all if we want to connect over Bluetooth to our board. In our project's .ioc file, I also tried using the LSI for the RTC/LCD Source Mux and RFWKP Clock Mux, but it also didn't work.Our project is due within a couple days, so we can't manufacture a new PCB. We think our best option at this point is purchasing and externally connecting a 32.768 LSE to the relevant MCU pins, but does anyone know of any cheaper/easier ways to get around this? We would really appreciate any help you can give.
Hey guys,I'm using the STM32WB55CC controller on my custom board. With the USB dongle of the Nucleo-Set I use the example application "BLE_p2pServer". This works fine on the devboard and on my custom board. But when I try to import this project to my own workspace, then all linked files from the firmware folder are not linked correctly. So I copied all neccessary .c and .h files into the folders of the imported project. After updating the source and header locations in the project preferences, I can compile the project without any errors. The BLE stack is started correctly and the example project is advertising, but when I try to connect to the board, then the proramm runs into the hardfault handler. This problem exists on my custom board and on the USB dongle. With debugger I can see that the programm jumps into an undefined memory address. Porting any project as as basic platform for own projects is very stupid at this moment. Also generating a new project with BLE functionality in C
Hi everyone,My group has made a custom board for the STM32WB55RG and included a 6-pin configuration for connecting it to a STLink V2 via SWD (target: VCC, SWO, SWDIO, SWCLK, NRST, GND). However in STLink Utility we keep getting an error message when trying to connect (it also happens when using CubeProgrammer): Can not connect to target! Please select "Connect Under Reset" mode from Target->Settings menu and try again. If you're trying to connect to a low frequency application , please select a lower SWD Frequency mode from Target->Settings menu.The Utility settings are SWD port at 4.0 MHz, Normal mode, and Hardware Reset mode. The firmware on the STLink has also been updated.These are our MCU and programming pin schematics:We're really unsure of what the problem could be; from our past projects and looking at what other people have done online, we can't find anything wrong with our schematic. We've also short tested the SWD pins and verified the MCU voltage is at 3.3V seve
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.