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
The printed message is:▒▒RT ▒▒▒n▒▒ E▒amp▒▒ ▒▒▒a▒g▒▒ ▒h▒ C ▒▒b▒a▒y p▒▒n▒▒ ▒un▒▒▒▒n ▒▒ ▒h▒ ▒▒RT▒Insteadprintf("UART Printf Example: retarget the C library printf function to the UART\n\r");
Hello guys,I have a STM32WB application that runs bluetooth and PKA peripherals. We did setup this both peripherals a long time ago and was all going smooth. Our PKA is properly working using ISR, all the hardware semaphores were validated (including PKA Hw Semaphore) and running properly, BLE is perfectly communicating.Until couple days ago we found a out a bug that, after a new device is paired to the STM32WB, in the following PKA operation, the ISR simply is not called. Without using the ISR the PKA generates a wrong result aswell.During some debugging, i saw that after a pairing operation, the PKA Control Register assumes the value 0x2200, but i stil didn't find what this means. If we reset the device, we didn't find any problem at all. We're able to communicate using BLE, use the PKA peripheral and everything works properly. Our only problem right now is after we pair a device and tries to use PKA right afterwards. I'm using CubeMX V1.7, STM32WB SDK V1.13.1 and BLE Stack Full V1.1
if it was impossible I would be glad to explain
Hi,I want to save my data calculation in internal memory or flash memory without loss after reset. But, I dont know how to do that. Because in the STM32WL MCU dont have memory bank. Any assistance would be greatly appreciated
Hello, I want to check the low consumption in stop2 mode. I use directly the Sigfox_PushButton example of cubeWL Page 71/79 of the AN5480 (Rev4 - July 2020) : I use the X_NUCLEO-LPM01A to measure the consumption in stop mode. With this setup: I supply the MCU through I_SoC (JP1) (at 3.3V)I remove JP7 to remove LED5.I remove STLK jumper (as shown in UM2592 P.22)I measure : 725uA !!! How in practice to measure these 2uA ?Thank you Best regards
I am working on a project where we would like a responsive and secure BLE connection to a battery powered sensor. If a supervisory timeout of 32 seconds is set, would the STM32WB be able to go into Standby while no data is needed to be sent and still retain the BLE connection? Or can this only be done in Stop Mode2?If possible how is this to be done? I have read in another post that the CM0+ wireless system reinitialised after being put in standby. Does data need to be stored in SRAM2a to retain the state?Thanks,Daniel
I have a WB55 with FUS 1.2.0 and I'm trying to use zephyr. However, zephyr is only tested up to v1.5 of the BLE firmware. I've tried everything from 1.5 to 1.13 and the lowest version I'm able to flash is 1.11. Is there a method to get to an older firmware, ideally 1.5?
Ok, I set up a random static address and I also enabled LE privacy with GAP init. Everything seems to work fine unless I let the device advertise for 15 minutes (with a random resolvable address). After 15 minutes, I can still see the advertisements, but when I try to connect, the connection is rejected with "unable to establish connection". It happens every time. This seems to correspond with the random resolvable address rolling to a new one. Do I need to restart advertising every 15 minutes?
every time i have to type the command on uart terminal. atep scanDevice-0 -> F81D4FAE7DE3A154FD5326E180C0Test command executed successfullyatep prvn-0 2Test command executed successfullyOur application doesn't have display. only LED indication and button available. i want to eliminate terminal command 'atep prvn-0 2' using switch button. long press SW2 scan and once the device found "Device-0 -> F81D4FAE7DE3A154FD5326E180C0" via green led indication.SW3 for "atep prvn-0 2" command execution. UART received message 'Test command executed successfully' indicated through red.I tried many times but i didn't able to figure it out from where it is executed in debug mode. Please help me & thanks in advanced...regardsDeepak Aagri
In a project with STM32WB55RG + FreeRTOS, calling TL_Enable() often results in a Hardfault with the keyword @SRAM2A_BASE: 0x1170FD0F (picture).Hardfault is repeated regularly until you make a small change in the code in any part of the program. After making a random change, with some probability, the stack starts working normally every time it is started. Even one line of code in any part of the program can have an impact on startup. Tried all possible options.Code generated with CubeMx. Interrupt handlers have been added. Any thoughts on diagnosing the problem?
Hi everyone. I am trying to use WB55 dongle as ZigBee sniffer. I am program necessary binaries to dongle, install python, pyserial and wireshark. Now I can launch wireshark from cube monitor and connects to the dongle. At first try software asked me about desired ZigBee channel. And I choose one. But now I want to change channel and cant find where I can do this. If I starts capturing in wireshark it don't ask me about channel anymore.
I have been trying to do a bunch of research on the various Bluetooth documents around the forums and STM's site. I seem to see that the ACI api's are a higher abstraction level than the BLE stack but I do not know how to use them. If anyone has documentation that would be amazing.
Hi,I need more 4kB of flash memory. Can I achieve this easily and safely by removing some not used functionality in the I-CUBE-LRWAN project?I suppose Lorawan Class B and C featues will not be needed. Can I just exclude this files from the project and remove the corresponding function calls?Thank in advance,Martin.
Hello! I'm working with a custom STM32WB10CCU board and can't seem to get BLE working.Here are the details:I have no LSE on the board.. just HSE. I'm configuring RFWKP to HSE/1024 and RTC to HSE/32 (I know that LSE is strongly recommended -.. but from what I've read it's not a hard req unless you want to go into certain sleep modes)I'm using STM32WB v1.2 core and have IPCC enabled with the added RTC_WKUP_IRQHandler call that's supposed to be implemented as per every BLE workshop video/slide deckI have a ST-Link V2 and I'm stepping through the code. It's going to my Error handler directly after running the SHCI_C2_BLE_Init because it fails.. Not sure why.I used STM32CubeProgrammer to upload the latest Wireless Stack via FUS and ensured it was abled. When reading FUS info with wireless stack enabled I'm getting version: 4.0.0.cSince I'm running RTC off of HSE, I had to add HAL_PWR_EnableBkUpAccess(); to my HAL_RTC_MspInit call or else RTC init times out and fails. I think this could poss
We design a new product where we use STM32WL microcontroller and in the datasheet ST is recommended to use NT2016SF-32M-END5875A, it was not in stock everywhere. We planned to use the ECS-TXO-20CSMV-320-EY-TR TCXO in our design. Please share your recommendation regarding this part number. if you have any alternate part, please share.
GreetingsI have been trying to set the BOR option byte via software in a STM32WLE5CC (as part of a RAK3172 evaluation board), but even following various guides i have not been successful in this endeavor, often resulting in the MCU being bricked and requiring intervention via CubeProgrammer to reset the corrupted option bytes followed by reflashing of the firware via CubeIDE.The code is as follows:int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ MX_GPIO_Init(); /* USER CODE END SysInit */ /* Initialize all configured peripherals */ SystemApp_Init(); /* USER CODE BEGIN 2 */  
I have a problem with SUBGHZ_PHY on STM32WLE5CC.I have 4 devices as follow:Device1: STM32L0XX device using B-L072Z-LRWAN1(SX1261)Device2: same as Device1Device3: STM32WLE5CCDevice4: same as Device3Device1 and Device2 can communicate with each other. It works fine.Device3 and Device4 also can communicate with each other. But there is a problem between STM32L0XX and STM32WLE5CC:The receiver always gets IRQ_HEADER_ERROR in the following case:1. Device3 or Device4 Tx something to Device1 or Device22. Device1 or Device2 Tx something to Device3 or Device4Those device is using the same Radio Config.Does anyone know what am I missing or I did something wrong?Here is my Radio Config:#define RADIO_FREQUENCY 923300000#define RADIO_MODEM MODEM_LORA#define RADIO_POWER 14#define RADIO_FDEV 0#define RADIO_BANDWIDTH 0#define RADIO_DATARATE &nb
Hi I have the Lora E5 development kit from seed, and able to send data to the server using the built in AT commands. I cant seem to find any guides, and basic examples on how to use the built in STM32 and Lora. Can anyone point me to the right pages?Many thanksScott
Hello,I have ran and modified few examples of applications for Zigbee on Nucleo STM32WB.I have registered my STM32WB as a node of my existing Zigbee network and it works fine.My coordinator indicates me that the Zigbee model of the node is "STM32WB". I guess it is the node that somehow annonced his model. Is it possible to change this model name to put a custom name instead? Thank you for your answer,Best regards,LéoPS: is there a complete documentation of the API/stack available where I can find that kind of information?
The operating temperature range for the above MCU is -40 to 85 deg C (105 deg C junction). Does it mean that the maximum temperature for soldering is 105 deg C, or does it just mean that the MCU will shut down at 105 deg C? I would appreciate it if you refer to any official application note.
The case described occurs when multiple timers are used and one repetitive timer is tiggered right after another repetitive timer. The first code snippet below shows the current implementation and the second shows the fixed code.static void RestartWakeupCounter(uint16_t Value) { /** * The wakeuptimer has been disabled in the calling function to reduce the time to poll the WUTWF * FLAG when the new value will have to be written * __HAL_RTC_WAKEUPTIMER_DISABLE(phrtc); */ if(Value == 0) { SSRValueOnLastSetup = ReadRtcSsrValue(); /** * Simulate that the Timer expired */ HAL_NVIC_SetPendingIRQ(CFG_HW_TS_RTC_WAKEUP_HANDLER_ID); } elseThe line containing "__HAL_RTC_WAKEUPTIMER_ENABLE(phrtc);" must be added to the above code to fix the bug as shown in the code below.static void RestartWakeupCounter(uint16_t Value) { /** * The wakeuptimer has been disabled in the calling function to reduce the time to poll the WUTWF * FLAG when the new value will have to be writte
Hi, I have found a few bugs in the Mailbox communication code of the STM32WB (which is responsible for letting CPU1 and CPU2 communicate). But other Dual-Core MCUs potentially could have the same bugs.The bugs are not security-critical, but they cause that the code does not adhere to the specification given in AN5185. The bugs cancel each other out as long as both CPUs have the same bugs. But, if one wants to write custom communication code for the application CPU, the communication just does not work because the other side does not behave as specified.A short introduction into the Mailbox system: Communication between both CPUs gets handled via the Mailbox and the IPCC peripheral. For this, commands and responses get written into a shared RAM in a defined table structure (the Mailbox). Usually, CPU1 (the application core) writes commands into the Mailbox, and CPU2 (the secure co-processor) reacts with responses. To notify the other CPU that data has been written into the Mailbox, noti
Hello,We're looking for example for BLE connection oriented channel.The SDK does provide the interface aci_l2cap_coc_* , however we were not able to find a single example for its usage not in the SDK nor Googling.Can anyone point me in the right direction?Thanks
Hi Everybody!I'm trying to prototype a force measure application with SD-card on a P-NUCLEO-WB55 Board and I-NUCLEO-CN0216. I'm using the latest CubeIDE.The SD Card work perfectly both on SPI 1 and SPI 2(In my project i'm using SPI 2 for the different Speed).I'm trying to use the SPI 1 for I-NUCLEO-CN0216 adapter board. After Hardware setup with CubeIDE and adding a code for testing with HAL librarys, that just read out the ADC Mode register, the HAL_SPI_Receive() function returns with HAL_ERROR status and 0x00 for the Register data.I trying all the SPI mode's etup.I trying all the 3 different SPI CS pin on the adapterboard.All the boards power up from Vin pin with 12V.I attach picture from the SPI 1 Setup and from the added code.Someone already had similar problem?Can somebody help me?
Hello, I use STM32CubeProgrammer v2.9.0 on MacOS Monterey. I try to programming the MCU STM32WLE5jc trough UART bootloader but the STM32CubeProgrammer does not upload my code correctly. It was chcecked by feature "Campare Memmory with file". What problem is there ?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.