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,We are currently developing a solution based on the STM32WBA65RIV6 MCU, and we would like the internal RTC to remain active while the MCU is powered down.We assume that this is possible, and we would like to clarify the following points:For how long does the RTC retain its values after the MCU is powered down (by default)?Is it possible to connect a backup capacitor or battery to supply only the RTC or part of the MCU in order to extend the retention time?We also want to know if there is any documentation available on this topic. We have not been able to find detailed information.Thank you in advance.Best regards,Luis
Hi,I am working with the STM32WB5MMGH6TR and would like to achieve the following:Stream GATT data to a mobile phoneSimultaneously play simple audio to BLE earbudsThe audio requirement is modest: a tone that rises and falls in a sine-wave pattern (no music, no complex audio, no high-quality audio). The frequency should sweep between 500 Hz and 2 kHz, with a modulation rate of up to 60 Hz.Is this feasible using the standard ST BLE stack for the STM32WB5MMGH6TR? The key requirement is that both operations run concurrently.If it is possible, could you please outline the recommended approach?Thank you as always.
Hello,My end node activation mode is OTAA, and is supposed to enter shutdown mode and wake up after a specified period of time period, in order to save power, the end node should skip joining the network at every wake up. I was able to skip the joining process by switching the activation mode from OTAA to ABP after the first join process, but after that, the server did not receive every packet sent from the end node like it used to when i was working with OTAA I doubt this is a good solution since a lot of packets are lostMy questions are:1) What do you think of my solution? is it missing something?2) What are my options if I want to stick to OTAA while skipping the joining process?3) Should I just go with ABP?
Can force a specific DR for LoRaWAN?I tried using: uint8_t custom_dr[7] = {0};custom_dr[3] = 1;lorawan_api_dr_strategy_set(USER_DR_DISTRIBUTION, STACK_ID);lorawan_api_dr_custom_set(custom_dr, STACK_ID); but did not work.
Hello,I am trying to port the official BLE_Ota example from STM32CubeWB (WB55 project) to an STM32WB30 device, but I am facing multiple compilation issues after importing the project into STM32CubeIDE.After configuring STM32_WPAN and generating the project for STM32WB30, I get many errors such as:RTC_HandleTypeDef unknown typeIPCC undeclaredFLASH_ECCR_* undeclaredSCB_* undeclaredLL_* functions not declaredHAL and LL drivers missing or inconsistentIt seems like the project is not correctly recognizing the STM32WB30 device definition, and many peripherals (RTC, IPCC, FLASH, RCC) are not properly included or enabled.I already tried:Adding STM32WB30xx define in the compiler preprocessorEnabling STM32_WPAN middleware (BLE stack full mode)Checking stm32wbxx_hal_conf.hHowever, the issues persist and the project still behaves as if it is partially configured for STM32WB55.My questions are:Is the BLE_Ota example officially supported for STM32WB30, or only for WB55?Are there any specific limitat
Hello,I'm designing a 2 layer PCB using STM32WL for LoRa operations at 433MHz and need a review of my RF layout. The board is JLCPCB 2 layer standard FR4, 1.6mm thick 1.46mm core, 1oz copper, 50Ω microstrip at ~2.8mm width, about 38mm long. I have placeholder caps/inductor to be populated after board fabrication. I am seeking expert opinion for:Trace width & impedance - does 2.8mm yield 50ohm given FR4, 1oz copper, and 1.46mm dielectric height?Critical length - Are there implications for 38mm length on transmission-line behavior?Taper - Taper starts 5mm in. Are there optimal lengths for tapers? Should I taper for shunt pads?Stitching vias - Recommendations for via spacing for this trace width? Every 5-8mm?Test points - Recommendations for RF test points without effecting impedance?Any other best practices or tips would be helpful. I thank you for any guidance.Best, John
Hi everyone,I’m working on a 4-layer PCB design using the STM32WL (based on the Nucleo WL55JC reference design).For the RF section, I followed the same layout approach as the Nucleo board, including the layer stack-up and RF trace widths.The only difference in my design is that I have some GPIO signals routed close to the RF section. These signals are routed on the 3rd layer, while I am still maintaining solid ground planes on the 2nd and 3rd layers underneath the RF section.I would like to clarify:Is it acceptable to route non-RF signals on the 3rd layer near the RF section if solid ground planes are maintained?Are there any risks (e.g., noise coupling or RF performance degradation) with this approach?Additionally, if I modify the layer stack-up:What parameters need to be adjusted (e.g., RF trace width, impedance matching, ground reference)?Are there any recommended guidelines for maintaining RF performance when changing the stack-up?Any guidance or best practices would be greatly app
Hello, I am working with STM32WLE5CC and using the LSCO output (configured via HAL_RCCEx_EnableLSCO(RCC_LSCOSOURCE_LSI), source = LSI) to observe the low‑speed clock externally. In my application: LSI is used as the RTC clock source RTC is used as the wake‑up source from Stop2 mode RTC is configured in binary‑only mode AsynchPrediv = 30 Wake‑up period = 5 seconds According to RM0461: “The clock on LSCO is available in Run, Stop, Standby and Shutdown modes.” “In Stop 2 mode, all I/O pins keep the same state as in the Run mode.” This observation is independent of RF RX/TX activity and refers only to the Run ↔ Stop2 transition. However, on hardware I observe the following behavior: When transitioning from Run → Stop2, the LSCO pin stops toggling for a short time (~104 µs), then resumes. When transitioning from Stop2 → Run, the LSCO pin stops toggling for a longer time (~530 µs) before toggling again. This occurs even though: LSCO is enabled LSI
I'm developing using the STM32WBA65I-DK1. I'd like to know how to implement interrupt handling for button presses. It appears that stm32wba65i_discovery.h does not contain any APIs related to button presses (which is perhaps to be expected since the DK does not have push buttons). The sample code I'm using is BLE_HeartRate_Thread. If you have any source code that might be helpful, please let me know.
Hello,My goal is to wakeup the end node to send a single frame then go to shutdown mode, but I'm having some hard time putting the device in shutdown modeI am calling HAL_PWREx_EnterSHUTDOWNMode(); in LoRaWAN_Process() function, after checking on a successful TxDone state.
Hey. I currenlty have a wba55 baord and use it as a ble p2p server. The main idea is to put put the board to stop0/1 mode when disconnected so that it consumes some μ amps and turn it back on when receiving a specific interrupt (eg button, timer etc).I tried a minimal bare-metal example, where i turned on every peripheral (uart, i2c etc) i would use on my actual project to monitor power consumption and before sleep mode i de-inited each and every one of them and all interrupt sources other than the specific EXTI line. The thing is that the device seemed like unable to even enter stop mode. I turned off the rf module through mx and it worked perfectly. So from what i understood, the rf module and be in general produces a ton of interrupts which doesn't let the device to stay in stop mode. Is there any way to disable the rf module/ ble during runtime and re enable it once the device wakes up from the intended interrupt source ?
Hello,there are different statements on the minimum operating voltage for LoRa operation.STM32WL5-PWR paper says 1.95V,STM32WLE5 ref manual says 1.8V (section 5.3.3 Transmitter).What's correct?
Hello,I am using a STM32WL55 UFQFPN48 in an application. I am only using the high power output (up to +22 dBm) and only plan on transmitting with this device.I want to transmit in the 420-440 MHz range, but there does not seem to be any load-pull analysis data from within AN5457 which would give output impedance at this frequency. I can only find data for higher bands. Is this data found somewhere else? I would like to use it for simulation and calculation.Best
Good day,I want to measure the VBAT voltage of a STM32WL31 using its ADC. I setup the ADC channel as follows using the ST HAL driver:ADC_ChannelConfTypeDef ConfigChannel = {0}; ConfigChannel.Channel = ADC_CHANNEL_VBAT; ConfigChannel.Rank = ADC_RANK_1; ConfigChannel.VoltRange = ADC_VIN_RANGE_3V6; ConfigChannel.CalibrationPoint.Number = ADC_CALIB_POINT_1; ConfigChannel.CalibrationPoint.Gain = LL_ADC_GET_CALIB_GAIN_FOR_VINMX_3V6(); ConfigChannel.CalibrationPoint.Offset = LL_ADC_GET_CALIB_OFFSET_FOR_VINMX_3V6(); if (HAL_ADC_ConfigChannel(&hadc1, &ConfigChannel) != HAL_OK) { Error_Handler(); }I seem to be getting correct ADC measurements (actual=3.0V, adc_measured_&_converted=3.15V), but the detail seems to be sparsely documented in the device datasheet and manual, so I just want to check a few things: Q1: I am not sure how the calibration point number relates to the measurement - when would one use ADC_CALIB_POINT_2 etc? Q2: What is the reference voltage used by the
I upgrade my project recently to the above firmware (STM32Cube FW_WL V1.5.0) which ended up not working.Lots of errors, I think mostly because of the introduction of the relay node.After a couple of days trying to get this working I started a fresh project from CubeMX and this did not compile into the STM32WLE5CB. Any idea on what the issue could be?
Dear Team,I have a board contain STM32WBA5MMG and AD5941. We have provided a single RESET for both the chips.The circuit is given below.May Iknow will this cause any issues. RegardsHiyo
When I followed the link https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32_Sniffer_for_BLE_Setup_guide,I successfully make Neclueo-WB55 be sniffer device while STM32WB sniffer displayed in the wireshark startup page,meanswhile I really capture the BLE advertise packets like this screenshot 1, But come problems,it only capture advertise packet as title said,connection packet like GAP parameters update or CONN_REQ all cannot be captured,how I should do to solve this problem like screenshot 2,
Stm32l010r and s2lp using x cube sub ghz , for custom board just for coding only gpio button status, there are plenty of error, by solving all those 4-5 errors remain and their resolving method is to complete change of middleware files or some code left in file even check through free AI they finally there no such files in middleware add some, for adding it will not compatible with existing file. If tried in stm32wl33cc it also shows so many error but finally there something missing. There are some radio.spi.h and some similar files there in s2lp nucleo example in spirit 2 workshop project, but in s2lp middleware they are not available and look like board specific. If any available example and transmitting and receiving data for s2lp and stm32wl33cc.
I need support for the design of STM32WL30XX PCB Antenna. Are there reference designs available for the PCB antenna?Specifications:Two layer board Output power 10dBm in the 868MHz band.
Hi everyone,I’m currently working on a project involving LR-FHSS and I’d like to know whether there are STM32-compatible end devices and gateways that already integrate LR-FHSS-capable radio chips.From what I’ve found so far:End Devices (sensor/node): They must use a chip from the SX126x family.Gateways: They need to be based on the SX1302 or SX1303.Before I start designing custom hardware, I’d like to confirm whether there are existing commercial end devices or gateways that already include these chips with LR-FHSS support.If anyone has experience with this or can recommend specific hardware, I would really appreciate it.Thanks!
I'm designing a custom board that's based on the STM32WL55CCU6 microcontroler. It's very simple and is required to transmit data continuously in vectors of 12 uint8_t elements, using the LoRa protocol configured to the standard values: 915MHz, CR 4/5 and 500kHz bandwidth. Prior to that I had tested some code in a pair of NUCLEO WL boards, which worked just as expected, so I based my circuit on the NUCLEO, simplified to remove unused features. A capture of the schematic is provided below.The code used was based on an example by ST's package STM32Cube_FW_WL_V1.3.1, specifically the SubGHzPhy Ping Pong for STM32WL55JC. After making sure that the basic parts of the circuit were working right (stable supply, uart, etc.), I used the code below, adapted from the one I tested with the NUCLEOs, but after many attempts I still couldn't get it to work. The interrupts are never triggered, transmission and reception of data won't work even with the other device close to the board. What are the
Hello, I am working with the following setup: Board: B-L4S5I-IOT-01A MCU: STM32L4S5VIT6 BLE Module: BlueNRG-M0+ (in built in the Kit) I am currently facing an issue related to the BLE MTU (Maximum Transmission Unit) size. By default, the payload length is limited to 20 bytes, which is insufficient for my application, as my data length exceeds 180 bytes. I would like to know: Is there a way to increase the MTU size on the BlueNRG-M0+? Can this be achieved without modifying my existing data transmission mechanism (i.e., without manually fragmenting the data into smaller packets)? My goal is to transmit larger data packets in a single operation, if supported. Any guidance or recommended approach would be highly appreciated. Thank you.
Hi, I want to acquire an audio signal from the microphone IMP34DT05 which is connected to the SAI interface of my STM32WB5MM-DK demo board in this way: L/R -> VDD; CLK -> SAI_CK2; DATA -> SAI_D2.The part number I chose is STM32WB5MMGH6TR in STM32CubeIDE. I faced difficulty with SAI interfacing. I tried to enable SAI_CK2 and SAI_D2 and configured SAI A in Pulse Density Modulation (PDM) mode for microphone pairs (1–2), using CK2 as the clock. I also added additional microphone pairs (3–4).I tried different configuration in the SAI_Init() function but in any case it doesn't work. This is the configuration I'm using: hsai_BlockA1.Instance = SAI1_Block_A;hsai_BlockA1.Init.Protocol = SAI_FREE_PROTOCOL;hsai_BlockA1.Init.AudioMode = SAI_MODEMASTER_RX;hsai_BlockA1.Init.DataSize = SAI_DATASIZE_16;hsai_BlockA1.Init.FirstBit = SAI_FIRSTBIT_MSB;hsai_BlockA1.Init.ClockStrobing = SAI_CLOCKSTROBING_RISINGEDGE;hsai_BlockA1.Init.Synchro = SAI_ASYNCHRONOUS;hsai_BlockA1.Init.OutputDrive = SAI_OUT
Hello, I am using the B-U585-IOT02A board with Zephyr. I can't see how to use the MXCHIP EMW3080 Wi-Fi chip. Has anyone made this work? Thanks
Dear ST Support, I am using the STM32WB55 series and have encountered an issue where the Flash erase operation gets stuck when BLE scanning is active. Specifically, the Flash erase call (SHCI_C2_FLASH_EraseActivity(ERASE_ACTIVITY_ON)) does not proceed as long as the BLE scan procedure is running, even if the scan interval and window are configured with minimal values (e.g., SCAN_P = 0x320 and SCAN_L = 0x10). It seems that as long as BLE scanning is ongoing, the Flash operation remains blocked. From my understanding, the BLE stack on the M0 core occupies some resources during the scan procedure, and Flash operations are blocked until all BLE activities are terminated. This behavior persists even when BLE is only actively scanning for a small portion of the interval. Could you please clarify: Is it expected that Flash erase/write operations cannot be performed during any ongoing BLE activity, regardless of scan interval/window settings? Is there a recommended method to sa
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.