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
STM32CubeWL = "STM32Cube MCU Package for STM32WL series", currently version 1.3.0.Is there a new release planned?Background: We are using version 1.3.0. We have issues with an application based on LoRaWAN_End_Node_FreeRTOS. We suspect the FreeRTOS integration is causing errors. Maybe a rework / update would help. See Application based on LoRaWAN_End_Node_FreeRTOS hangs sporadically We also have an eye on the STM32WL5M module, but we need to be sure the firmware using FreeRTOS runs stable.Thanks!
I see a higher drive in the WB55MMG #ifdef WB55__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW);#else WB5MMG__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_MEDIUMHIGH);#endif // MIGO_BORAD would like to preserve as much power as possible, what are the consequences of using it _LOW?
My P-NUCLEO-LRWAN2 gateway board (F746ZG) no longer transmits data to TTN and the serial port does not respond. I think I may have loaded a firmware by mistake, where can I find the original firmware? Thanks for the support.
Hi everyone, I want to develop a end node module using STM32WL55JC. I have tried to LoRaWAN_End_Node_DualCore example project and the end node has connected to TTN. After that the usart1 enabled and try to send message but i couldnt send message. How can i use peripheral(i2c, uart, adc etc.) with LoRaWAN_End_Node_DualCore/LoRaWAN_End_Node.
I am trying to perform a firmware upgrade but I keep receiving an error message Error: Rollback to older version of FW detected and not allowed! Is there a way to get around this error? I have added a photo of the stm programmer page. Additionally - can someone please confirm the order of performing an update? Should it be as follows?Upgrade with stm32wb5x_FUS_fw_for_fus_0_5_3.binUpgrade with stm32wb5x_FUS_fw.binUpgrade with (in my case): stm32wb5x_BLE_Stack_full_fw.binCan I just jump to upgrading with stm32wb5x_BLE_Stack_full_fw.bin without the previous two? Thanks a lot as this is really quite the challenge for me currently.
Hi I would like to ask for clarification on STM33WBA52xx wireless MCUs. This was written in the STM32WBA52xx MCU datasheets.Does it mean that the STM32WBA52xx series are already certified by FCC and other regulations or that the MCUs are not yet certified, but are designed to suitably pass the regulations like FCC and others?Thanks in advance,
I'm trying to use the STM32WB example project Zigbee_OnOff_Client_SED on the P-NUCLEO-WB55.Nucleo. Unfortunately, as soon as I load the Zigbee RFD firmware on the coprocessor of my SED the device isn't able to join the network created by the coordinator. If I use the FFD firmware on the SED instead, the application works as expected. I know from debugging that the device loops on `APP_ZIGBEE_NwkForm()`.
Hi! I have a nucleo WB55 board that I am using for a project. I know with other nucleo boards, it is possible to power them externally with 5V or 7-12V. However, I am not able to verify whether this is possible on the NUCLEO WB55 board, as I can't find the external power supply guidance/instructions in the User Manual.My aim is to power the board directly with either 12V or 5V but I don't know if this is doable, or the how I could go about it if it is. Please let me know your thoughts.
Hii'm just sitting and messing with a few lora boards.I find that nucleo-WL55JC1 has approx 10dbm RSSI better than seeed LoRa-E5, and that nucleo-WL55JC1 also transmits with a more powerful signal, what is your experience ??with best regards
Hello,I create a custom board from the reference MB1791. But when I try to run an example for the Lora SubGhz module - it doesn't work, no interrupt, no transmit to the antenna (watch in SDR).I ran this example code with RAK3172 (also a custom board) and this code works.Voltage V 1.5 = 1.5V on the boardI try to run without TXCO, but RAK3172 also doesn't have TXCO..\Core\lib\BSP\stm32wlxx_nucleo_radio.h..\Core\lib\BSP\stm32wlxx_nucleo_radio.c #define RF_SW_CTRL2_PIN GPIO_PIN_13 #define RF_SW_CTRL2_GPIO_PORT GPIOC #define RF_SW_CTRL2_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() #define RF_SW_CTRL2_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE()int32_t BSP_RADIO_IsTCXO(void) { return RADIO_CONF_TCXO_NOT_SUPPORTED; } int32_t BSP_RADIO_ConfigRFSwitch(BSP_RADIO_Switch_TypeDef Config) { switch (Config) { case RADIO_SWITCH_OFF: { /* Turn off switch */ HAL_GPIO_WritePin(RF_SW_CTRL2_GPIO_PORT, RF_SW_CTRL2_PIN, GPIO_PIN_RESET); break; } case RADIO_SWITCH_RX: { /*
Hello,my setup consists of 2 NUCLEO-WL55JC1 boards and an adapted version of the example project SubGHz_Phy_Per with which I can recognize the number of bit errors, RSSI of the latest received packet and some interrupts (IRQ_RX_DONE, IRQ_PREAMBLE_DETECTED, ..) using Serial Wire Viewer and STMViewer.Modulation is 2GFSK.Tx-Node sends every 10 ms a packet with 80 bytes.Overview of modulation and packet parameters:RF_FREQUENCY: 868000000 /* Hz */TX_OUTPUT_POWER: 14 /* dBm */FSK_FDEV: 74680 /* Hz */FSK_DATARATE: 149360 /* bps */FSK_BANDWIDTH: 300000 /* Hz */FSK_PREAMBLE_LENGTH: 12 /* Byte, Same for Tx and Rx */FSK_FIX_LENGTH_PAYLOAD_ON: truePAYLOAD_LEN: 80 /* Byte */ModulationShaping: RADIO_FSK_MOD_SHAPING_G_BT_1PreambleMinDetect: RADIO_FSK_PREAMBLE_DETECTOR_08_BITSwhiteSeed: 0x01FF; /*WhiteningSeed*/SyncWord: { 0xC1, 0x94, 0xC1}CrcLength: RADIO_FSK_CRC_2_BYTES_IBMCrcPolynomial: 0x8005CrcSeed: 0xFFFFWhitening: RADIO_FSK_DC_FREEWHITENINGStopTimerOnPreambleDetect: 0AddrComp: RADIO_FSK_ADDRESS
Hello!I'm trying to port of LOcalNetwrok_Concentartor on a custom board. I made USART1 working with a tracer. So i Can send and receive AT_Commands to a MCU STM32WL55CC. Now I'm struggling with getting interrupts from a LoRa modem. Every 15 sec I call a RadioSend() function that tries to send packets regarding setup. In my case it iscase MODEM_LORA:{SubgRf.PacketParams.Params.LoRa.PayloadLength = size;SUBGRF_SetPacketParams( &SubgRf.PacketParams );SUBGRF_SendPayload( buffer, size, 0 );break;} But I never received an interruption of TXDone/RxDone, I'm jumping to RadioOnTxTimeoutIrq that is triggered by the timer from RadioInit() function. SUBGHZ_Radio_IRQHandler(void) never called. My initialization is in the example from CSTM32CubeWL-main v1.1.0. Should be some additional steps done for the Modem if we are porting code from STM32WL55JC to STM32WL55CC?RadioInit() function executed, SUBGRF_Init() function executed,HAL_SUBGHZ_Init() executed,HAL_SUBGHZ_MspInit() executed wi
Hello everyone,New to the world of STM32 and moving from Arduino programming to more in-deep STM32 one, I faced an issue that I solved in a way I can't understand.I started working on a basic Blink program using STM32WB5MM-DK and the in-board RGB PWM led. I understood a little bit late that i had to configure the interrupts and clocks but well, that's how we learn.But I still don't understand - at least - one thing. In the Clock Configuration (.ioc file) I can't get a working program if the system clock is set less to 48MHz and after some iterations, I discovered that it was in fact the APB2 timer clock that had to be at least 48MHz. In the datasheet(s) I can't find any indication on this critical value.Is there any logic behind this value ? Or is it a side effect of something that I have not already understood ? My program is pretty similar to the led.c code in BSP example Thanks !
Hi,as I understand it:I can activate the low power manager in CubeIDE. This will automatically add code, so each time the Sequencer has nothing to do, the system enters low power mode.So far, this works. I can see it in the current consumption.What I don´t understand: Is the HSE deactivated during sleep? I think it has to be, otherwise the current consumption should be much higher. But I cannot confirm it, when I use a scope and set test point in the code.If I go to the file stm32_lpm_if.c and edit: static void EnterLowPower(void) { /** * This function is called from CRITICAL SECTION */ HAL_GPIO_WritePin(testpin_GPIO_Port, testpin_Pin, 0); ... and static void ExitLowPower(void) { HAL_GPIO_WritePin(testpin_GPIO_Port, testpin_Pin, 1); /* Release ENTRY_STOP_MODE semaphore */ ... then I can see that each 100 ms (advertising interval), the microcontroller wakes up (current spike and test pin goes high)and then goes back to sleep (test pin goes low). But if I r
I wanted to know if the release of the stm32wb5x_BLE_Mac_802_15_4_fw.bin firmware in dynamic concurrent mode was planned. Currently, version WB_V1.18.0 seems to have been released only in static concurrent mode.If the answer is positive, can we have an indication of the release date?
Hi Helpdesk, I am currently facing an ASSERT issue on my custom board leveraging the STM32WB55 in conjunction with FreeRTOS. After some time scrawling the web, I have found the stack unwind functionality from `libunwind` available via the `unwind.h` file from the compiler. This would be a perfect fit for me, because it would allow to unwind the stack and provide vital information to trace the root cause.Unfortunately, the function never calls the trace function, even though it compiles and "runs" successfully. Here is my code:#include "unwind.h"_Unwind_Reason_Code trace_func(struct _Unwind_Context *context, void *arg){ void *ip = (void *)_Unwind_GetIP(context); debug("Current ip: %p", ip); return _URC_NO_REASON;}... some function{ _Unwind_Reason_Code ret = _Unwind_Backtrace((_Unwind_Trace_Fn)&trace_func, NULL); debug("_Unwind_Reason_Code: %d", ret); // always returns 9 = _URC_FAILURE} If I step through the program via a STMLink, I can se
Hi,I'm using STM32WL55 Wireless, Long Range Nucleo-64. My goal is to use this floor as an end node. I want to connect my existing sensors to the card via I2C protocol and send the data via LoRa. In the examples I examined, peripherals are used using IKS01A2, but can't I read from the sensor using the I2C pins on the board and send the data via LoRa without using it? I would be very happy if you could help me, good work.
Hello STM32 Community,I hope this message finds you well. I am currently working on a project that involves integrating Bluetooth Low Energy (BLE) communication into an STM32CubeIDE project. Specifically, I am facing a challenge in reading the updated values of BLE Write Characteristics from a mobile client.Here's a brief overview of my setup:Microcontroller: STM32wb seriesIDE: STM32CubeIDECommunication: Bluetooth Low Energy (BLE)I have successfully implemented the BLE communication, and I can write data from the mobile client to the STM32 device. However, I am struggling to read the updated values of the Write Characteristics on the STM32 side.If any of you have experience or expertise in this area, I would greatly appreciate your guidance on the following:How can I set up my STM32CubeIDE project to efficiently handle updates to BLE Write Characteristics?What functions or callbacks should I use to capture and process the updated values from the mobile client?I have thoroughly reviewed
I attendded a trainning last year on STM32WL5M, we were told this product will be available 2024 January. I have been checking but looks like is not available.Do anyone have information when this product will be available?
Hello,In a Client(Router)/Server configuration with two STM32WB55 I would like to accelerate the transmission of data at starting of the server.The server address is know in advance and stored in the client then in the HCI_LE_ADVERTISING_REPORT_SUBEVT_CODE client event I added aci_gap_terminate_gap_proc(GAP_GENERAL_DISCOVERY_PROC); which works well.It connects immediately! But between the Connection and the NOTIFICATION ENABLED, it takes 10 seconds, see the log: 15:35:57.717> ==>> aci_gap_set_discoverable - Success 15:35:57.717> ==>> Success: Start Fast Advertising 15:35:58.009> 15:35:58.009> >>== HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE - Connection handle: 0x801 15:35:58.009> - Connection established with Central: @:00:80:e1:26:61:13 15:35:58.009> - Connection Interval: ms 15:35:58.009> - Connection latency: 0 15:35:58.009> - Supervision Timeout: 2100 ms 15:36:08.785> 15:36:08.785> -- P2P APPLICATION SERV
I work with the STM32WB5MMG (bluetooth Low Enenrgy 5.0 and 802.15.4 module).I can’t find any documentation regarding the allocation of each pin of the chip.the datasheet I found indicate a type I/O and a reference of the type "PB10" or "PD2".... but I don’t know what these references are referring to: where are the I2C, SPI buses? what role does each pin have?Do you have a specific document that I can rely on?Or, can you tell me what type of stm32 is embedded in this module (48 legs? 68? ) and in this case where to find the exact references of each pin.Thanks for your help.
Hi all, I am experiencing a problem with the DMA of the STM32WBA52 (on the NUCLEO-WBA52CG board) when using it to transfer data from FLASH to USART1 TX : part of the transmitted data is modified, i.e. not the data that is found in FLASH)The problem only persists when the source is data in FLASH. When just changing the CSAR register to an address in RAM, everything works as expected (see the attached "DMA problem.txt").When the instruction cache is activated (either 1-way or 2-way), the result is even worse. Looking in the STM32WBA52 errata sheet, a similar problem is mentioned for FLASH to SRAM transferred (section 2.2.8). I'm not sure whether the problem mentioned there is the same. Can somebody have a look at this and confirm that this is an error in the STM32WBA52 ? Attached, you can find the cube MX config file (.ioc extension) and the main.c which contains the code I added. With main.c, the problem can be reproduced when line 144 is un-commented. Best regards, Jeroen
Hello,How should I make connection to the Tuya gateway with zigbee? I have read zigbee wiki dokumentation about zigbee binding. I have understand that I should use "find and bind" mechanism in that case. I tried to find suitable example from github, but I'm not shure, which one is the closest to my case. The goal is to make some sensor value to be seen on Tuya smart home app.Connectivity:Zigbee Binding - stm32mcuSTM32CubeWB/Projects/P-NUCLEO-WB55.Nucleo/Applications/Zigbee at master · STMicroelectronics/STM32CubeWB · GitHubI understood that I should use method ZbStartupFindBindStart()Esko
Hello fellow developers,I'm currently working on a project using the STM32WL board and a LoRa application. I've encountered an issue with the RTC (Real-Time Clock) that's perplexing me, and I hope someone can shed some light on it.In my project, I'm using the PingPong LoRa example as a starting point, but I'm not entirely sure about its internal RTC configuration. To implement a specific functionality, I need to utilize RTC Alarm A interrupts. The problem is that RTC alarm interrupts work in BCD (Binary-Coded Decimal) mode, while the RTC used in my application (Ping Pong LoRa example) is configured in Binary mode.Here's the strange behavior I've observed: When I set the alarm for, let's say, 10 seconds, it triggers an interrupt at around 12 seconds, and then another at 5 seconds. This behavior is quite unexpected and is causing issues in my project.I suspect that my RTC alarm configuration in Binary mode might be incorrect, but I'm not sure how to address this. Can anyone guide me on h
Hi,I'm trying to use usb device of my STM32WB55RG Nucleo board but when I connect my device to computer, I got a "USB Device not recognized" error. I used "LL_HSEM_1StepLock( HSEM, 5 )" function before APPE init. How can i get rid of this error?Best regards.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.