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
I'm using STM32WB55 in 1 master 4 slaves configuration. I've implemented scanning, connection creation, MTU exchange, data le exchange functionalities, service discovery, characteristic discovery and descriptor discovery. Problem I currently have is that sometimes I can't connect to slave device. If I am in this state, if I scan for nearby devices BLE stack doesn't report advertising packets for the device I'm trying to connect to. Note that I am doing scan after I terminate connection process using aci_gap_terminate_gap_proc(GAP_DIRECT_CONNECTION_ESTABLISHMENT_PROC); I can see advertising packets from other nearby devices though. If I connect to targeted slave device using my phone, and then disconnect, then I can see advertising packets for this device, and I am also able to connect to it. I can randomly reproduce this behavior with multiple disconnect-connect attempts. Does anyone have idea what could be happening and what to try to fix this?
This is the behavior I currently observe.I Send data at fixed intervals, but if i set slave latency to 1, than from time to time, i will have short periods of misses, the data arrives +- 1 connection event. If i set slave latency to 0, the data arrives on time all the time. (But then I can't use FLASH).
Hi Folks,Newbie at this. Bought P-Nucleo-Lrwan2 last week and have issue with join. Pack comes with L073Rz and I-NUCLEO-LRWAN1 ARDUINO expansion board used as a sensor node. Flashed STM32CubeExpansion_LRWAN_V2.1.0 with NUCLEOL073RZ, AT_Master but still can't get this to work and please let me know where to start. Help is much appreciated!KL
I have built an app based on the p2p server. I have added several tasks to read adc, drive pwm an talk to i2c devices. The app runs as expected when I disable the stop mode.UTIL_LPM_SetStopMode(1 << CFG_LPM_***, UTIL_LPM_DISABLE);However when I allow stop mode The app does not run as expected after exiting from stop mode. Do I need to re-initialize some things when exiting stop_mode?
I have used STM32Cube_FW_WL_V1.1.0 -> LoRaWAN_FUOTA -> 1_Image sample and build the binary file -> BFU_LoRaWAN_End_Node.binAfter flashing the binary, STM32WL66 Option Bytes got changed and i could not able to erase and update the fflash after that. i tried with mass erase, but it did not help. Please share your inputs to disable the flash write protection.c:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>STM32_Programmer_CLI.exe -c port=swd -ob displ ------------------------------------------------------------------- STM32CubeProgrammer v2.7.0 -------------------------------------------------------------------ST-LINK SN : 001600345553500B20393256ST-LINK FW : V3J7M3Board : NUCLEO-WL55JCVoltage : 3.26VSWD freq : 12000 KHzConnect mode: NormalReset mode : Software resetDevice ID&
Hello Everyone!I would really need some help. I have a B-L072Z-LRWAN1 board and I use the LoRa end node project provided by ST. I'd like to add UART1 to this project with interrupt. However, the code stops working when I initialize the UART1. Could you please help me with how to correctly initialize the UART1 and the clock source for this? Thank you very much!Adam
Hi, I am new to stm32wb and I am using the stm32wb15. I want to implement the multi-role functionality on my device, that is, I want it to act as a central and also as a peripheral. However, I don't know how to do this. Are there any examples? Any advice will be much appreciated.
As per the application note AN4967 Rev 7 AT+APPKEY command has been removed from the firmware of AT_SLAVE. I would like to know how can i set or enquire the APPKEY via AT Commands. Also is there possibility to set this key in firmware itself? Since as per the lora standard for OTAA activation, user should setup APPEUI, DEVEUI and APPKEY. But since command for AppKey removed so i wonder how can i set this key on module. Please update and share if there is any good reason to remove or the way to set the key in firmware itself.
Hi,I am trying to implement the BLE OTA firmware upgrade to an existing BLE project. However before I have even looked at integrating the functionality to an existing project I am focusing on the example projects.So first up I have successfully used the BLE_Ota and from this via the ST BLE android app have been able to upload the BLE_Heart_ota binary file to the nucleo board, everything works as expected.From this I move to the second part of work and this is to use the non_OTA BLE_Heartrate example and give it the OTA functionality. The steps to do this should be (I believe)- Replace the linker file STM32WB55RGVX_FLASH.Id, this is editing the flash address (0x08007000) and adding in the OTA region (magic key related) of the two sections TAG_OTA_START and TAG_OTA_END ).- Remove the update of SCB->VTOR in the file system_stm32wbxx.c - set BLE_CFG_OTA_REBOOT_CHAR to 1 in ble_conf.hWhen I make these changes to the default BLE heartrate application and upload the hex file (I am getting
Hi all,I have been working on a Nucleo 68 board to develop firmware for my project. I have been working in parallel on two projects - one was purely hardware control - read/write to/from various peripheral devices (UART with IT and I2C DMA and External Interrupts). I am very happy with that side and it works perfectly. The other project was pure BLE application, which I have now written and on its own it works perfectly. It is a BLE client that simply gets the data out of a peripheral sensor.I am however now stuck trying to combine the two projects together. I have seen a similar post https://community.st.com/s/question/0D53W00000dOycq/integration-of-an-existing-project-into-the-sequencer-utilseq however it did not solve the issue. And actually in that post @Christophe Arnal suggests that interrput handlers should remain unaffected by the addition of the sequencer into the project.These are my observations:1/ Both projects on their own work perfectly - the same configuration file
I was trying to upgrade the FUS and wireless stack version on my STM32WB55 Nucleo board via ST-LINK using STM32CUBE Programmer GUI tool when I came to this issue. I first managed to delete the wireless stack by clicking on "Firmware Upgrade Service -> Firmware Delete" and it was successful.After that, I tried performing a FUS upgrade with "stm32wb5x_FUS_fw_for_fus_0_5_3.bin", as acquired from Release .12.1: STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x at master · STMicroelectronics/STM32CubeWB · GitHub. However, it failed and gave me the following error information:16:11:30 : Old Firmware delete ... 16:11:30 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified. 16:11:30 : Warning: Option Byte: nboot0, value: 0x1, was not modified. 16:11:30 : Warning: Option Byte: nboot1, value: 0x1, was not modified. 16:11:30 : Warning: Option Bytes are unchanged, Data won't be downloaded 16:11:30 : Succeeded to set nSWboot0=0 nboot1=1 n
Hi everyone. I connected the SDS011 Dust Sensor with my Nucleo WL55JC1 via UART and I am receiving my sensor data. According to the Sensor data sheet the values can be also provided as output in PWM form on the certain pin.In order to achieve this I thought to configure a Timer as Input Capture Mode in CubeMX then with the PWM signal read and transfer the data with DMA.This way I didnt need to use the CPU to compute the particles value as I did with the UART because its in the PWM.However I am having a bit troubles to implement this successfully, I think I am missing something? Is my idea to use Input Capture Mode correct or the wrong way?In the User Manual for the Description of STM32WL HAL and low-layer drivers I found the function HAL_TIM_IC_Start_DMA (Starts the TIM Input Capture measurement in DMA mode) and think this suits well for my usecase?I appreciate any tips in the right direction, thank you.
I own a NUCLEO-L452re and I want to implement LoRa communication using I-NUCLEO-LRWAN1 (with SX1272 transceiver).Is it okay to program in STM32CubeIDE by using sx1272mb2das and NUCLEO-L476RG in i-cube_lrwan ?i-cube_lrwan_v2.1.0\STM32CubeExpansion_LRWAN_V2.1.0\Projects\NUCLEO-L476RG\Applications\LoRaWAN\LoRaWAN_End_Node\STM32CubeIDE\sx1272mb2das
The current release of I-CUBE-LRWAN is version 2.1.0 - dated 10 August 2021The current revision of the Data Brief, DB2961, is Rev 11 - dated Feb 2021.In that document:Where is the up-to-date version?
Hi. I have a floating problem with subghz module interrupts. In case of interrupt caused when MCU works with SUBGHZ module deadlock happened, because periph are locked by previous operation and we can't read interrupt status register of subghz. Is there any solution? Thanks in advance.You can see call stack on a picture attached.
Hi there!I have 2 STM32WB55 Nucleo boards, both of them are having the latest FUS and Zigbee FFD fw. However, one of them cannot run as normal(another goes vey well), after downloading Zigbee_OnOff_Server_Coord sample code to it, it shows the following error and LED1 to 3 on the Nucleo keep blinking one after the other. Could someone suggest why this happens and how to deal with this? Cheers,MoError is shown via UART with 115200 as baud rate[M4 APPLICATION] APP_ZIGBEE_Init[M4 APPLICATION] **********************************************************[M4 APPLICATION] WIRELESS COPROCESSOR FW:[M4 APPLICATION] VERSION ID = 1.12.0[M4 APPLICATION] **** Fatal error = ERROR Unknown (Err = 0)
How is the advertising data : tBleStatus aci_gap_set_discoverable( uint8_t Advertising_Type, uint16_t Advertising_Interval_Min, uint16_t Advertising_Interval_Max, uint8_t Own_Address_Type, uint8_t Advertising_Filter_Policy, uint8_t Local_Name_Length, const uint8_t* Local_Name, uint8_t Service_Uuid_length, const uint8_t* Service_Uuid_List, uint16_t Slave_Conn_Interval_Min, uint16_t Slave_Conn_Interval_Max ) {affects the connection data:typedef PACKED(struct) { uint8_t Status; uint16_t Connection_Handle; uint8_t Role; uint8_t Peer_Address_Type; uint8_t Peer_Address[6]; uint16_t Conn_Interval; uint16_t Conn_Latency; uint16_t Supervision_Timeout; uint8_t Master_Clock_Accuracy; } hci_le_connection_complete_event_rp0;I am looking for something that I change in the advertising packet that will cause a change in the connection complete packet. Thanks!
Hi,I'm working on a wireless application using an STM32WB55CC on a custom board. At the moment I'm stuck at flashing the wireless coprocessor firmware.Is it possible to flash the firmware via SWD using a Segger J-Link debug probe? The firmware release notes only mention using an ST-Link and STM32CubeProgrammer.Thank you in advance,Stephan
I have a LoRa board labeled with 'MB1500-Highband-B01' and 'STM32WL55C-DK1' but no documentation. I have not found a download option for the user manual or schematic. Is it possible to obtain the User manual and schematic for this board?
Hello, I use STM32WL55 board. Now every data that I get from sensor is sent immediately. I want to accumulate data for five minutes and then send in bulk all every five minutes. I have problmes to save the data succesfully, how can I do it that microcontroller saves data and send it all in intervall. Any suggestion how to start or where to research please? Thank you
I am working on the STM32WB55 Nucleo board and currently facing a problem. I have erased the whole flash, i.e. all memory locations are reset to 0xFFFFFFFF from 0x08000000 and 0x08FFFFFF. When I reconnected the board under USB DFU mode using STM32Cubeprogrammer GUI, I accidentally pressed "start wireless stack" button then the target is automatically disconnected. When I try to reconnect the target board, it failed and prompted: "Device is under read out protection! If you want to disable RDP please reconnect with Read Unprotected enable":However, the RDP value that was read after I connect the board again via ST-Link is 0xAA (no protection): I have no idea why I cannot reconnect the board via USB DFU mode anymore since the RDP value reading is indeed 0xAA (no protection). I need to re-install the wireless stack and FUS firmware but I am currently stuck here. Please kindly advise and help. Thanks!
I have been following the video to install tools and whatnot for STM32WB. So far, STM32CubeMX was installed in C:\Program Files, STM32CubeWB support was installed in a C:\Users for some reason, STM32CubeIDE was installed in C:\ST. I almost dare not continue. I get that it is necessary to download gigabytes of junk just to try out my P-NUCLEO-WB55 but why is it sprayed all over my hard drive like this?
Hi,I have a "STM32WB55 Nucleo Pack" kit which includes a STM32WB55 nucleo board (MB1355C) and a USB DONGLE STM32WB55 (MB1293C).Today, I uploaded the "BLE_p2pServer" demo to the nucleo board and problem, nothing happens, LED2 stays green instead of blinking. I uploaded the "BLE_p2pClient" demo, same thing LED2 remains green and press SW1, blue LED1 does not light up.So I thought it was a problem with the wireless coprocessor firmware of the nucleo board, so I followed the guide "Release_Notes.html" in order to update the FUS and the wireless coprocessor firmware. FUS from 0.5.6 to 1.2.0 at address 0x080EC000, it worked and I get the correct version of FUS. Then, I updated the wireless coprocessor firmware "stm32wb5x_BLE_Stack_full_fw.bin" to address 0x080CA000, but there problem, "Error: The FUS version you're trying to install is older / equal to the FUS version already installed!". It is impossible to start the stack, I get the error "Error: FUS_STATE_IMG_NOT_FOUND".So, when I uploade
I want to get this event upon connection: HCI_LE_ENHANCED_CONNECTION_COMPLETE_SUBEVT_CODE (with this data: hci_le_enhanced_connection_complete_event_rp0 )How can I do it? What should I advertise? Or is there anything else that needs to be changed from the default way? different stack?
Slave can configure his MAC address either in the payload or internally. This I know.My question is , after connection, does the masters packets hold that (slaves) MAC address?Can Slave extract (its own) MAC address from the Masters packets?If, so , how can slave get hold of this data from code?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.