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 Community, I tried to connect and use 802.15.4 sniffer function from CubeMonitor-RF app. I stopped at the very first step. Once I opened the CubeMonitor-RF program, it said I need to install wireshark, after install the wireshark, the warning message is not changed. What should I do? Also I know how to install the binary stm32wb5x_Mac_802_15_4_fw.bin into the M0 core, however, how I can install the binary Mac_802_15_4_Sniffer.bin? There is no information about the start address for this binary. Do we have to use FUS to install this binary? When I tried to this install with FUS, it failed.How I install the "pyserial?" I am lost how to do this. Thanks in advance,YJ
I'm using MCU STM32WB55CE. The issue is the following:after putting MCU in STOP mode it looks like IWDG still running and reset the MCU.Option byte: 0x3B79F1AA, means bit IWDG_STDBY and IWDG_STOP clear.I'm using SEGGER J-Link for debugging. Ble stack version: 1.13.3IWDG init:void InitWatchDog() { FLASH_OBProgramInitTypeDef obInit; HAL_FLASHEx_OBGetConfig(&obInit); HAL_StatusTypeDef status = 0; if ( (obInit.UserConfig & OB_USER_IWDG_STOP) != OB_IWDG_STOP_FREEZE || (obInit.UserConfig & OB_USER_IWDG_STDBY) != OB_IWDG_STDBY_FREEZE ) { status = HAL_FLASH_Unlock(); if (status) { assert(false); } status = HAL_FLASH_OB_Unlock(); if (status) { assert(false); } FLASH_OBProgramInitTypeDef OBInit = { .OptionType = OPTIONBYTE_USER, .UserType = OB_USER_IWDG_STOP | OB_USER_IWDG_STDBY, .UserConfig = OB_IWDG_STOP_FREEZE | OB_IWDG_STDBY_FREEZE, }; status = HAL_FLASHEx_OBProgram(&OBInit); if (status) { assert(false); } HAL_FLASH_OB_Launch(
Hello STM Community,I'm currently exploring the capabilities of the Nucleo-WL55JC1 development board and its compatibility with Amazon Sidewalk. Amazon Sidewalk is a low-bandwidth, long-distance wireless protocol designed for certain IoT devices.Could you please provide insights into whether the Nucleo-WL55JC1 board supports Amazon Sidewalk directly? Additionally, if it does support Amazon Sidewalk, could you point me towards the SDK and any examples or demos available for integrating Amazon Sidewalk functionality into projects using this board?If not currently supported, are there any plans or methods for enabling compatibility with Amazon Sidewalk in the future?Your assistance and guidance on this matter would be greatly appreciated.Thank you.
Hi,I use STM32BW55.I get trouble for pairing random value.pairing random value is 0xffffffffffffffffffffffffffffffff.How do I resolve it?I set :static random addressIRERappearanceIO capability : No Input/No outputBonding Mode : Bonding ModeSecure Connection : Not supportI attached WireShark's log.
Hi,My application (WB15CC) stays most of the time in standby mode transmitting the advertainment packet. After a couple of minutes, the advertainment packet must be updated. When I try to update the packet after waking up from the standby mode, the firmware hangs on any of the GAP API routines, e.g. aci_gap_set_non_discoverable(), aci_gap_set_discoverable() or aci_gap_update_adv_data().I've edited the startup code by adding the CPUcontextSave and CPUcontextRestore routines, similar to the BLE_HeartRate example, to restore the CPU context when waking up from the standby mode. Indeed, the CPU is restored correctly I am able to register a new task inside the UTIL_SEQ_PostIdle() routine, however my task can't update the packet. Can someone elucidate me what are the steps to update the advertisement packet when coming out of the standby mode?
Good dayI am using the STM32WL55 chip for a project. I did preliminary tests using the NUCLEO-WL55JC2 Development board.I created a custom PCB following the design of the Development board.When I program the custom board with the same firmware that works on the development kit I do not get any output on either the RFO_HP pin or the RFO_LP pin.On the Custom board I have a crystal and not a TXCO. Can that configuration have a impact?On the Custom board:VDDRF = 3.3V, VDDPA = 3.3V ( I need the high power output)VLXSMPS = 1.5V,Is there someone that can suggest checks to do to find the fault?
I find that when entering deep sleep/range 2 using aci_gap_set_non_discoverable(), C2 would not reliably enter the ultra low (~4uA) power consumption mode, current would jump to ~5mA. I am using stack 1.18 and even 1.19. a) Calling aci_gap_set_non_discoverable() while there is RF activity can cause CPU2 to get stuck in a spin loop and become unresponsive.b) aci_hal_set_radio_activity_mask(0x0002) can be used to obtain an RF event ACI_HAL_END_OF_RADIO_ACTIVITY_VSEVT_CODE to synchronize call to aci_gap_set_non_discoverable() while no RF activity (assuming event is serviced in time; it is only in main() thread).But even after successfully calling aci_gap_set_non_discoverable(), if CPU1 remains in run or sleep mode longer than about 200ms after CPU2 disables advertising, again CPU2 can get stuck in a spin loop.The above issues can occur even if using aci_gap_set_limited_discoverable(); when 180 seconds is up there is
I have 2 devices on my SPI bus that need different CPOL settings. both use CPHA = 0 and the SPI peripheral is configured to use Motorola frame format.Communication works with both devices if their respective CPOL setting is set in CubeMX (and thus fixed at compile time), but I need to switch CPOL at runtime, so I tried to set and clear the CPOL bit in SPI CR1 before the transmission: SET_BIT(hspi_->Instance->CR1, SPI_CR1_CPOL); HAL_GPIO_WritePin(DAC_CS_GPIO_Port, DAC_CS_Pin, GPIO_PIN_RESET); HAL_StatusTypeDef status = HAL_SPI_Transmit(hspi_, buf, sizeof(buf) / sizeof(buf[0]), 1000); //single byte if (status == HAL_OK) status = HAL_SPI_Transmit(hspi_, parameters, length, 1000); //multiple bytesCLEAR_BIT(hspi_->Instance->CR1, SPI_CR1_CPOL); HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_RESET); //... this works to change CPOL to what the devices need, but whenever CPOL changes, the first byte transmitted is 0x00 and only 7 clock pulses are generat
H,I just had some custom boards with STM32WB55CG and I would like to flash the BLE stack into the microcontroller. For some reason the STM32CubeProgrammer does not allow me to flash the FUS or BLE stack files, it always comes back with warning/errors like FUS_STATE_IMG_NOT_FOUND and Operation exceeds memory limits. I am not sure what is the solution now. Any idea would be really helpful, thanks.The software I use is STM32CubeProgrammer, with ST-Link SWD mode, tried both CLI and GUIWhen I read the FUS version the version data is actually loaded @0x20010010. Version 1.1.1.0According to https://github.com/STMicroelectronics/STM32CubeWB Realse noteNote: when FUS is not running but FUS operator used, you can read FUS version @0x20010010But I am not sure what does it mean.Some Options bytes value:SFSA: 0xf4 (Addr: 0x080f4000)SBRSA: 0x0 (Addr: 20030000)SNBRSA: 0x10 (Addr: 2003c000)SBRV: 0x3d00Logs:/* Read FUS version */10:31:31 : ST-LINK SN : 49FF6F06677554552957176710:31:31 : ST-LINK FW
I am developing a BLE peripheral device using the NUCLEO WB55RG. I am having trouble connecting to smartphones. The pairing process is as follows: The security is Just Work, using bonding mode.During the first pairing:The peripheral sends a security request (aci_gap_slave_security_req).A pairing request comes from the central device.The peripheral responds to the pairing request.A pairing completion notification comes from the central device.During the second pairing:The peripheral sends a security request (aci_gap_slave_security_req).An encryption request comes from the central device.The peripheral sends an encryption accept.How can I detect the events of the first ③ and the second ②? Also, how should I respond to CCCD writes?
I am trying to include a tinycbor .h file and as per third party include method i have done all the step but still i get the error about the linker didn't find a definition of library API functions. Here is the all the screenshot of my project and location where i include my path. i don't have .a file with me so, there for i didn't include in -I library path folder. can you please help me with this library linking problem? Regards
Hello everyone I've encountered an issue with connecting to Linux, specifically Ubuntu 22.04, while the Linux device is acting as a BLE gateway running the Bleak python library to manage connections. The firmware used was loosely based on the instructional STM32WB getting started youtube series (part 12), and then modified. The built-in sequencer was used to manage the custom functions implemented, there were issues at first with the tasks taking over the sequencer from BLE but those have been resolved.Both nucleo dev boards and custom pcbs will experience issues using this firmware when connecting to the gateway, the gateway will timeout and disconnect from the board, or refuse to connect issuing a le-connect-abort-by-local. These issues seem to be very intermittent sometimes the BLE board will stay connectted and even trigger events to send data but eventually timeout, while other times the boards cannot be connected to at all. Both python w/Bleak and bluetoothctl were used w/Bluez v
Hi allI'm new on stm32 ble applications.Starting from st example BLE_OTA I developed my custom bootloader for my STM32WB55 nucleo board.I encountered the following issues:1) St ble sensor mobile app (from play store) can't detect my device; I compiled the source code (https://github.com/STMicroelectronics/STBLESensor_Android.git) but I'm not able to detect the problem 2) By setting ServiceClass UUID1 = FE20, St ble toolbox detects and connects to the board but when I push "Over The Air Update Server" the app crashes; adding UUID2 = 180D I have the same issues. By setting UUID1 = 180D and UUID2 = FE20 St ble toolbox works fine.Attached you can find .ioc file.Can someone help me?Thanks in advance
Wondering what is the cost of using SHCI_C2_BLE_INIT_OPTIONS_REDUC_GATTDB_NVM overSHCI_C2_BLE_INIT_OPTIONS_FULL_GATTDB_NVM ? The first one can gets me 33% increase in bonding list size but I could not find what does it prevent me from using?
Hello, at the moment i am developing BLE software for STM32WB5 and it works fine. The updater of the BLESensor App is working well and we can update new firmware any time. But there is one question, where we can not find an awnser. Is there any possibility to perform the ota update from a pc or a web based solution? We don't want to use a smartphone or tablet for it. Can anyone help to solve the problem. Thanks. best regards
Hi all,Some of the ST BLE microcontrollers now support BLE 5.4. Can anyone point me out any code example or application note with Encrypted Advertising Data feature that is specified on the latest BLE specification?I am working with STM32WB series...Regards.
Hello. I´m making pcb design for wireless temperature probe based on stm32wb35 and sensirion sht45. I´m so limited in dimensions of PCB so i´ve decided to make this design only with HSE crystal. I found that it´s possible to configure BLE operations without LSE crystal. It possible to configure an I2C device also for this hardware?Thanks
Dear ST,I am developing an end device to my solution with the ability to report some measured values every minute.The device successfully enters and exits a standby status and reports back.Now I am trying to devise some kind of network management to the devices (join new networks, leave old ones, detect if there is a coordinator in the network etc.). They way I achieved this in my non-sleepy devices was through route discoveries to the coordinator. If a route is found, it is still a valid network. The problem arises in my sleepy end devices where some request responses (including a Route Discovery) seem to be ignored and the IPCC triggers the callback always with a success status.As I understand it the messages are pooled and managed by the parent, but I thought it would still trigger the callbacks when received even if blocking the application. I tried to set the RxOnIdle capability to true, but this seems to not fix the issue.Then I thought it was because of the RFD firmwa
Hi all,I am looking for a way to enable CTE on stm32wb55,but i didn't find a function like "gap_set_connection_cte_tx_param()" to config CTE.I know that stm32wb55 support BLE 5.1 but i cant find a relevant function in ble_gap_aci.c .Does STM32WB support CTE or not?If it does,how to enable cte on stm32wb55?Thanks.
In some modes I want to use a random static addresses (BLE privacy disabled) and in some modes I wand to use private resolvable addresses (BLE privacy enabled). The aci_gap_init function seems to force you to declare if BLE privacy is on or off. How do I switch this on and off? I get an error if I try to advertise with a random static address with BLE privacy enabled and vice versa.
is disabled problem dissappear. When fault accured thread shows 0x2, 0xffffffe9, 0xf000af00, adresses jumps. Fault Analyze tool shows sp (MSP) at 0x2002ff30, pc at 0x2, xpsr at 0x2, r1-r3 at 0x2, r12 at 0x3, mmfar at 0xe00, usage fault details attemt to switch to invalide state (INSTATE), hard fault details shows bus, memory management or usage fault (FORCED)
Good morning,I have been following the stm channel board videos on the LoraWan examples. I was able to correctly configure and connect the board from the example provided in the MX “LoRaWan_EndNode”.But replicating the last video:https://www.youtube.com/watch?v=uYULivHQoNI&t=242sI get a current on the order of 350mA, far from its 2uA.Is there any practical and simple example on how to set RTC so that it goes into stop mode after TX?thanks for your help
Hello,I intend to develop an application using the STM32WB and a Telit LTE module (TX62). I would like to know if there is a way for me to use the LTE module to update the firmware of the STM32WB remotely. Can this be done via UART communication between the two? Would I need to develop a bootloader for the STM32?Thank you.
Hi,While building the example FUOTA code from icubelrwan software expansion. I am facing "No rule to make target error" attached the screenshot. Tried to build after including the path of the folder but still facing the same error. attached the screenshot.Support me in resolving this error.Thanks.
I am currently working with a stm32wl55JCI and using RTOS. I am currently running into overflow errors of ram1. I am currently using an example project using RTOS. I tried using heap5 and used the sample templates for how to define the memory regions but It did not allow for memory access. Is there a procedure that must happen for accessing ram2? Is there a specific function I must use from the HAL library or anything I have to enable through the ioc?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.