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 folks,I am trying to implement a dual bank OTA system on my STM32F429IGT6 using DBM1 and BFB2 in the STMCubeProgrammer, but I'm having trouble booting into the second flash region (which I will call app_b from now on, along with app_a for the first flash region). By my logic, each app will have 512KB of flash memory, so app_a will start at 0x08000000, and app_b will start at 0x08080000. Through some online digging, I saw that having one linker script per app is what I should be doing, with each app's flash being its address that I mentioned before, but then set the app_b vector table offset to 0x00080000, so theoretically app_b can start at 0x08080000 because that's the result from the OR operation of 0x08000000 and 0x00080000. So here is my normal testing routine: Build App_A, note version number --> generate a .bin file through a post build commandFlash App_A with start address 0x08000000 in the CubeProgrammerAppend Version Number to see changeBuild App_B --> generate .
I know that flash erase during BLE activity is an issue with that controller and a lot of notification/semaphore stuff needs to be build around it. But measuring my implementation including the later today, it looks a lot more horrible than I imagined. If I have BLE Advertisement (no connection open!) on with Advertising_Interval_Min = 1800 Advertising_Interval_Max = 4000, deleting one block of flash takes nearly 1 second (~815ms). If I stop Advertisement afterwards, it remains the same. Only if I disable the stack completely, or did not yet start the first advertisement, I get back to the 25ms ballpark from the HW itself.Is this really the delay I will now have to find a way to work around, or should I have a look at my flash erase routine again.
Hello, I'm using Nucleo-WL55JC cards and I wanted to know if it was possible to use them as gateways, partly to connect the radio world to the internet (LoRaWAN), and partly to extend the range of my network (by dispersing multiple gateways everywhere).Note: there would only be a single "sensor" device that would send its data to the nearest gateway. This "sensor" device is also a Nucleo-WL55JC. Thanks in advance. Best regards, KYZ.
I am trying to make a prototype from a perf-board and a QFN48 adapter using STM32WL55CC MCU based on the wiring in the pics below. I want to connect to the MCU using SWD via an STlink attached to a Nucleo board. I already removed the 2 jumpers on CN2 and made the following connection shown below to CN4 and the MCU. However when i try to connect using the ST-Link utility I am getting the following error. BTW I just started learning embed development and just want to connect via SWD for now. Connection Details:VDD_TARGET(PIN1 on CN4)=>3.3V supply from PIN16 CN7 on the nucleo boardSWCLK(PIN2 on CN4)=>PIN 42 on STM32Wl55CCGND(PIN3 on CN4)=>ground pad on STM32Wl55CCSWDIO(PIN4 on CN4)=>PIN 36 on STM32Wl55CCNRST(PIN5 on CN4)=>NRST on TM32Wl55CCVDD for the MCU is supply from 3.3V CN7 PIN16 of the nucleo board
Hi, I flashed the nucleo-stm32wb55RG with the binary BLE_TransparentMode_reference.hex (location: C:\ST\STM32CubeWB_package\STM32CubeWB\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_TransparentMode\Binary) using the STM32CubreProgrammer (version 2.20.0). I followed the instructions of UM2288 Rev 19, section 2 (connection to target). But in STM32cubemonitor-rf, when I click 'connect' button, I get a pop-up message: 'Device under test not responding COM port closed'.Before flashing BLE_TransparentMode_reference.hex, I installed stm32wb5x_FUS_fw.bin and stm32wb5x_BLE_Stack_full_extended_fw.bin using the STM32CubreProgrammer. Here is the screenshot showing the FUS and stack versions:The device manager shows COM3 for the nucleo-wb55:However, I am not able to connect to the nucleo using the cube monitor-rf tool as shown below: Can you please provide further guidance to fix this issue? Thank you
Dear ST Support,I have some questions regarding the STM32WB55 using OpenThread protocol:Is it possible to modify the EUI64? If yes, are there any API interfaces provided for this modification?Currently, we are using the ST-provided EUI64 (otLinkGetFactoryAssignedIeeeEui64, formatA + ST OUI), but we need to change it to formatB + Siemens OUI.After modifying the EUI64, will the extended address (extaddress) be automatically updated accordingly?Thank you for your assistance.Best regards,Junhao
Hi, I have a project which uses P-NUCLEO-WB55 as reference design. However, I'm facing some problems after the customization has done on the USB Dongle demo board. Below is the problem scenario.1. After configured M4 CPU to USB HID class eg. Keyboard and downloaded Zigbee stack bin file into M0 CPU, I cannot stop sending keycode 'a' to my laptop after plugged in the dongle into my laptop. The Notepad keep showing character aaaaaaaaaa..... The only way to stop it is to unplug the USB dongle. 2. Once I removed the Zigbee (STM32_WPAN) from the CudeMX via IOC file, the USB HID keyboard works as normal. I can send 'a' when I pressed and released the SW1. Do you have and sample using USB HID class + Zigbee for reference? How to check the Zigbee stack that I have downloaded into dongle is working correctly? The FUS version is v2.0.0.3 but not know how to check the Zigbee stack. Attached is my IOC file for your reference. As for the P-NUCLEO demo board, we
Dear ST and Community,We are using STM32L series in a variety of LoRaWAN IoT Devices.We have 10 products and have produced roughly 0.5M units so far.We use the I-CUBE-LRWAN project for a long time. It's a great project, but it looks like the development has stopped. The LoRa Alliance continues improving the LoRaWAN protocol, but it seems like the ST-ICUBE-LRWAN is somewhat stuck in the past. A few examples include lack of FUOTA, Device-to-device communication and more.I know the project is based on another project called LoRaMAC, which I believe is also discontinued.The new open-source implementation of the stack is available by Semtech, it is called LoRa Basics Modem and is to be found here: https://github.com/lora-net/SWL2001/tree/v4.3.0I wonder if ST is planning to continue improving the ST-ICUBE-LRWAN or we should plan migration to the Semtech implementation? Obviously, it'll be better if experienced engineers from ST port the Semtech stack implementation to STM32L, but I don'
Hello, I’m facing an issue using the RAK3172. In my project, UART1 is configured for debugging and LoRaWAN logs, while UART1 (PB6/PB7) is reserved for communication with the LC76G GPS module. However, I'm unable to print any data from the GPS module to the monitor. So, I performed two steps to verify whether the module is actually working: I checked the current consumption using a multimeter; I soldered a wire directly to the module's TX pin and used a TTL converter to confirm that NMEA data is indeed being sent. Based on that, I searched the forum and saw that others have experienced issues with UART1 on this module, but I couldn’t find a clear solution. These are the two functions I’ve implemented so far, and I’m calling them during the LoRa initialization. I’d like to point out that they were used successfully in a previous project with an STM32L4, and everything worked fine there. void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) { if (huart ==
Hi everyone,which type of stm32 microcontroller is best fit for following operationsfor building rc remote of 8 channel and morelow costlow power consumptionhigh-speed rf communication and easy integrate with RF chip using SPI porteasy to design and develop10-bit ADClow voltagedisplay interferenceRTC
Hello,I am working on the NUCLEO-WB55RG. I have updated the FUS to v2.1.0.0 and then loaded the stm32wb5x_BLE_Stack_full_fw v1.23.0. This worked fine.After that, I wanted to load the stm32wb5x_BLE_Stack_full_extended_fw.bin, but now I always get the : Warning: FUS_STATE_IMG_NOT_FOUND message. I have this message when trying to update the FUS and the stack. I also have an error when trying to use the "Firmware delete" option:I already tried to mass erase the chip, already tried to flash previous FUS version, nothing worked... I always have the FUS_STATE_IMG_NOT_FOUND warning.This is my current state: I have no read protection (option byte set to AA). I am using CubeProgrammer v2.14.0 and STM32Cube_FW_WB_V1.23.0. Support would be appreciate to unlock my device ... Already saw some similar posts, but none of them were helpful for me.Thanks :)
HelloI have the issue, GPIO pin initialization to specified mode isn`t generated.I can`t find ''pin reservation'' in pop-up from right click on pin or in any tab (pinout & configuration -> gpio mode configuration)It`s dual-core project for stm32wl55jcix, STM32CubeMX version 6.13.0 (linux)
I need to see all advertising.I generally use :aci_gap_start_general_discovery_proc_cp0 , works fine, but it only shows connectable devices . Now , I am trying : aci_gap_start_observation_proc_cp0 - doesn't work for meBut it causes an issue, return 0x0C on stack 1.21. I simply replaced the aci_gap_start_general_discovery_proc_cp0 with aci_gap_start_observation_proc_cp0 stack_full
SPI or serial port?If it weren't for those two, Then why must the MCU_API_delay() function be set while ((LL_USART_IsActiveFlag_TXE_TXFNF(USART1) == RESET) || (LL_USART_IsActiveFlag_TC(USART1)) == RESET)) {};We can use both uart of MCU, so I want to confirm with you whether it is necessary to configure here.
We are developing SIgfox with STM32WL33KBV6, and we don't know how to deal with the 826-958MHz RF partial matching circuit, so we hope you can help.There is no specific reference value for this part of the circuit for the LC component.
I would like to make a basic application using BLE (to turn on an LED). I’m using the WB05KN1 shield and my application runs on the U545. I would like to know if it’s possible to carry out this project, if they are compatible, and if you know where I can find example codes because I can only find examples with Zephyr.ephyr.
For a project of mine, I wanted a LoRa Transceiver like (like the SX1262) to be controlled by a host application running on a STM32F4. I have a few STM32WLE5CCU6s lying around from a previous project, and was thinking if I could use them instead. The SX1262 drivers are written in the host application, so I just need to access the actual transceiver's SPI and other signal lines. I realize that the DEBUG option exposes critical pins like the SPI, NSS, RESET and BUSY. But are the DEBUG lines writeable or are they just for monitoring of signals?
Hi,I'm trying to move stm32WL to a mode it will consume least power but still be usable for me.I understood this mode is probably STANDBY_MODE with memory retentionI want to do this:1. [Save Stack For Standby] save the stack and any other needed info to the retention area2. set an external clock that will wake the CPU3. go into STANDBY_MODE with memory retention4. when the time comes - the CPU wake and identify in main that we were in standby5. [Recover From Standby] - to get into the main loop, right after the standby functionI some very limited function from ST, and they all seem to do the same,meaning - ignore the RAM retention potential, and starting from scratch.How can I maximize that potential?found no example for this.anyone can help?
HI ST Team,Concerning the GitHub issue https://github.com/STMicroelectronics/STM32CubeWB0/issues/6 In AN5289 – "How to build wireless applications with STM32WB MCUs", Table 1 lists multiple BLE stack options for STM32WB5x devices, including:stm32wb5x_BLE_Stack_full_fw.binstm32wb5x_BLE_Stack_light_fw.binIn the current lib https://github.com/STMicroelectronics/STM32CubeWB0/tree/main/Middlewares/ST/STM32_BLE/stack/lib, only these static libs are present:stm32wb0x_ble_stack.astm32wb0x_ble_stack_controller_only.aThere is no separate stm32wb0x_ble_stack_light.a, which is expected as the lightweight alternative to the full BLE stack.Clarification Request:Can you please confirm if the *_controller_only.a is the intended lightweight replacement for the missing light.a?If yes, can you kindly update the GitHub folder README or documentation to reflect this equivalence (i.e., "controller only.a is functionally similar to the BLE light stack")?If not, can the missing light.a A varian
HelloI have a MB1779 B-WL5M-SUBG1 board that I am trying to adapt some LoRa example code from the Nucleo-WL55JC. I see the LoRa front ends are different and the device tree needs to be modified to work, however the PC5 and PC3 pins are not defined on the data sheet with a reference to the GPIO pin that should be used to communicate with the module. It seems the data sheet reveals Pin 27 as the switch between high and low power. My question is:To communicate with the module as on the Nucleo-WL55JC, what would the device tree need to refer to for RX/TX?This is a new process for me, any help is greatly appreciated.Thank youOther relevant posts:https://community.st.com/t5/stm32-mcus-wireless/b-wl5m-subg1-rf-switch/td-p/737015
hey i am using the stm32wle5 board , i try to use the ping pong example from the package provided by stm and it was flashed succesfully but when i checked the serial monitor it is showing timeout for both rx and Tx . I have attached the serial monitor data.
Good day, I was at a training some time ago: https://content.st.com/stm32wb09-workshop-ame.htmlunfortunately I lost these educational materials. Does ST have them published somewhere on the website? Does ST have materials regarding BLE?
Hi everyone,I’m working with the NUCLEO - WB15CC board and I’m trying to enter STOP1 mode to minimize current consumption. However, despite disabling all unnecessary peripherals, the power consumption remains unexpectedly high (much higher than in the PWR_STOP1 example provided by STM32Cube, which works fine on the same board). What I’ve tried so far: Called HAL_SuspendTick() before entering STOP mode and HAL_ResumeTick() after wakeup Called hci_reset() to reset the BLE stack Configured all GPIOs as analog with no pull (using GPIO_AllAnalog()) Disabled clocks for all unused peripherals: __HAL_RCC_IPCC_CLK_DISABLE();__HAL_RCC_HSEM_CLK_DISABLE();__HAL_RCC_ADC_CLK_DISABLE();__HAL_RCC_LPTIM1_CLK_DISABLE();__HAL_RCC_LPTIM2_CLK_DISABLE();__HAL_RCC_TIM1_CLK_DISABLE();__HAL_RCC_TIM2_CLK_DISABLE(); Disabled all interrupts using __disable_irq() and cleared pending IRQs (RTC, IPCC, etc.) Set both cores (CPU1 and CPU2) to STOP1 using: LL_C2_PWR_SetPowerMode(LL_PWR_MODE_SHUTDOWN);
Hello!i'm trying the example BLE_HeartRateThreadX but the ioc file is not present in the directory, is that normal? i'm missing it? also the directory arent arranged like a project maked with cube ideis it possible to have an example that is maked like a cube ide project using the MCU or board selector? thank you!best reguards
Hi team, I am using the STM32WLE5CC microcontroller and I am facing an issue with Readout Protection Level 1. I am utilizing the open bootloader from ST and updating hex files using the STM32Cube Programmer software using USART. Up to this point, everything has been working fine. However, after applying Readout Protection Level 1 to my application code, I entered bootloader mode and attempted to connect to the STM32Cube Programmer software. Unfortunately, it displays an error indicating that Readout Protection is activated. Additionally, when I use open bootloader commands through RealTerm software, it also fails to work. Could you suggest any other tools, apart from STM32Cube Programmer, or provide some solutions regarding the issue mentioned above? Thank you!
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.