Ask questions and discuss STM32 wireless solutions and their implementation for running Bluetooth LE, Zigbee, LoRaWAN applications.
Most recent activity
Please go and visit our wiki pages where you can find a lot of information on our wireless product families (WB, WBA, WL) and the supported protocols: BLE, Zigbee, Thread, Matter, Lora, ... To begin your technical journey, please start from this top page: https://wiki.st.com/stm32mcu/wiki/Category:Connectivity This top page will guide you to the first steps to develop a wireless application using connectivity protocols on ST wireless microcontrollers. For BLE protocol, please visit: https://wiki.st.com/stm32mcu/wiki/Connectivity:Introduction_to_BLE_with_STM32https://wiki.st.com/stm32mcu/wiki/Connectivity:Introduction_to_Bluetooth_LE_Audio You can find information on BLE Certification, BLE Features, BLE Mesh, BLE Audio, … For Zigbee protocol, please visit: https://wiki.st.com/stm32mcu/wiki/Connectivity:Introduction_to_Zigbee You can find information on Zigbee certification, Zigbee Features, BLE-Zigbee concurrent mode, … For Tread protocol, please visit: https://wiki
Dear all, The X-CUBE-MATTER Expansion Package is now available on our official website following this link MATTER - Matter software expansion for STM32Cube - STMicroelectronics It is a reference implementation for the demonstration of Matter on STM32. It is ready for prototyping a Matter end-device on a reference development platform. Refer to STMicroelectronics Matter wiki articles at https://wiki.st.com/stm32mcu/wiki/Connectivity:Introduction_to_Matter to get started with matter for the supported STM32 platforms. Kind regards, Ouadi
I’m trying to migrate a project from the P NUCLEOWB55 MB1355 board to the P NUCLEOWB55 MB-1293 USB dongle.I retargeted the board in MX & check the pinouts etc, all fine. Opened up the project in CubeIDE & built the project.I then switched the board to BOOT0=0 (SW2) & plug it in & open CubePrgFirst issue, its really hit & miss if Prg detects the board. Most often I get Port: No DFU detected but then sometimes I actually get Port: Port 1 and the board can be connected to. It really appears to be pot luck if Prg decides it can connect.If I do manage to get it to connect, I update the FUS & stack, press the Start Stack button as outlined in a previous question, and continue to upload my *.elf file.Second issue, I get nothing from the BLE, no advertising at all. This project works fine on the MB-1355 board by the way.
at stm32wl33 datasheet there is RX sensitivity topic but i think wrong– RX sensitivity @ 1% BER:◦ -132 dBm @300 bit/s 433 MHz OOK◦ -128 dBm @300 bit/s 868 MHz 2(G)FSK◦ -112 dBm @38.4 bit/s 868 MHz 2(G)FSKit should be kbit/s .
Support request: STM32WL33CC — DEEPSTOP average current rises well above datasheet spec, even within a single uninterrupted dwellPart / packageSTM32WL33CC (custom board, not a Nucleo/eval board).SummaryOn our custom board, DEEPSTOP average current starts near the expected low-µA range on entry but climbs over tens of seconds to a plateau of roughly 360–390 µA — two to three orders of magnitude above the datasheet's Table 13 "Current consumption in DEEPSTOP mode" figures (≈1.2–2.1 µA ICORE across all listed LSI/LSE/RTC/IWDG/LPUART configurations). This is reproducible, happens within a single uninterrupted DEEPSTOP dwell (i.e. it is not an artifact of repeated entry/exit cycling), and we have ruled out every peripheral, sensor, and firmware-level cause we can identify. We'd like ST's input on whether this is a known/expected behavior of the DEEPSTOP power architecture (e.g. an internal analog settling time not captured in the static spec table) or points to a board- or configuration-lev
I am designing a custom board using the STM32WL55 in UFBGA73, operating at 433 MHz, and I am currently facing higher-than-expected TX current consumption together with lower RF output power.I would like to know whether ST can provide load-pull data, optimum complex load impedance, or PA matching information at 433 MHz, particularly for approximately 0 dBm and +14 dBm TX power.I have compared my custom board against an STM32WL Nucleo board using the same firmware and RF settings.My measurements so far are:Nucleo board TX current: approximately 65.8 mACustom board TX current: approximately 72 mADifference: approximately 6–7 mA higher on my custom boardConducted RF power measurement on my custom board indicates approximately 10 dB lower output power than expectedMy next step is to measure the impedance presented to the PA at the beginning of the RF matching network and determine whether the PA is seeing the correct load at 433 MHz.Ideally, I would like to compare my measured impedance wit
I’m trying to make the example LoRaWAN_End_Node_LBM] work on my nucleo-wl55jc1.For now i’ve just changed the DevEUI and AppKey in se-identity.h to match my chirpstack configuration.I can see the join request from my object and the join accept answer of the server but here is what i see on the log of the nucleo:LoRaWAN End Node LBMAPPLICATION_VERSION: V1.6.0MW_LORAWAN_VERSION: V1.1.0MW_RADIO_VERSION: V1.4.0L2_SPEC_VERSION: V1.0.4RP_SPEC_VERSION: V2-1.0.4Event received: RESET###### AppKEY: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C###### NwkKEY: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C###### DevEUI: CA:FE:BA:BE:DF:70:70:35###### AppEUI: 00:00:00:00:00:00:00:00###### DevAddr: DF:70:70:358s053:Add JOIN task8s053: TX MNG REQ time=00008053, final_time=000107888s055: Next TX on freq 868100000, DR 3 10s782: Payload: 00 00 00 00 00 00 00 00 00 35 70 70 DF BE BA FE CA 76 01 0A F0 D4 25 size: 23 995: TX DONE11s041: RX1 LoRa at 4957 ms freq:868100000, DR 3,
Ok, a tricky one. So for services and attributes it's documented that there is 10752 bytes, each service takes up 48 bytes, each attribute 40 bytes, and if you got th number of services and attributes you can compute backwards BLE_ATT_VALUE_ARRAY_SIZE (after you mapped all characteristics to actual attributes), given the upper limit. Easy enough. (GATT_DB_Size_SRAM_NVM.xlsx) My problem is now BLE_MBLOCK_COUNT. There is this macro:#define BLE_TOTAL_BUFFER_SIZE(n_link, mblocks_count) \ (16 + BLE_FIXED_BUFFER_SIZE_BYTES + \ (BLE_PER_LINK_SIZE_BYTES * (n_link)) + \ ((BLE_MEM_BLOCK_SIZE + 8) * (mblocks_count)))What is the limit for BLE_TOTAL_BUFFER_SIZE ? If that is known, I can compute backwards to get "mblock_count" for a known "n_link". Or is the documented 10752 byte number the limit for "BLE_TOTAL_BUFFER_SIZE()" plus the BLE_NUM_GATT_ATTRIBUTES / BLE_NUM_GATT_SERVICES / BLE_ATT_VALUE_ARRAY_SIZE database size ?
Hello everyone,I am using the X-NUCLEO-WB05KN1 on a NUCLEO-U083RC. I have already read the documentation on the XCube Sofware package and flashed the shield with the SPI.hex firmware. I am testing the Beacon application but when I get to the hci_reset() function it always returns a timeout and the execution does not proceed. I have already tried the 2.1.0 version and the 1.1.0 version of the software package and I got the same problem on both. I have also tried to set the SPI CLK pin with PULL UP configuration as it was noticed on a previous topic but without success. Can anyone help please?Best regards.
Hello, I am working with X-NUCLEO-WB05KN1 together with NUCLEO-U083RC. I had previously tested U0 consumption in Stop mode and I got around 1.5uA (using 3.3V supply and LSI). From the datasheet it says that STM32WB05KZ should be an ultra low-power MCU, however I am using the Beacon app from the X-CUBE-WB05N software package and I am getting measurements of around 37mA. Is this related with the SPI firmware (DTM binary) flashed into the shield to run the example? I would like to achieve a consumption on the uA scale, do I need to make my own firmware to the chip? If so, is there any example and how to communicate with my U0?I am supplying 3.3V into the CN6 pin 4 and measuring with a multimeter so the ST-LINK is now being powered.BR
I have an End_Node application that runs on the STM32WL55 but is not running correctly on the STM32WLE55. The code downloads and starts in the STM32WLE55 but it will not Join the gateway. I took a preliminary look the RF spectrum and it looks slightly different on the STM32WLE55 vs the STM32WL55. The firmware is set for USA915. Thanks for help.
Hello ST Community,I am working with STM32WB05 in a custom PCB (new design) and it does not run when power on the PCB. To run it, I have to reset by reset line. If I am debugging, I neither have problem.I had used others microcontroller before (STM32L1, STM32WL55...) and it had never happend. I have check the pollowing points:1- Power supply. I am using a externa battery with 3-3,5Volts.2- BOOT pin: I think that the problem is the STM32WB05 enter in boot mode but in the datasheet, I can not see any pin to enter it.I have tried to join PA10 to GND by 10K resistor (I see in nucleo manual UM3343 that BOOT0 pin is PA10) but that no work.3- Clock source: I am using interna clock HSE4- reset line is always high level Any confirmation or guidance would be greatly appreciated.Thank you for your support.
Dear STMicroelectronics Team, We would like to request clarification regarding the delivery schedule of our STM32WL5MOCH6TR orders. As indicated in the attached correspondence and supply reports, we were initially informed that our order would be delivered in June 2026. Based on this commitment, we planned our production schedules, project milestones, and customer deliveries accordingly. However, after requesting an updated status, we were informed that the estimated delivery date had been postponed to February 2027. This change represents an approximately eight-month delay and creates a significant risk for our ongoing projects and contractual commitments, including projects for public institutions. We kindly ask for your support in confirming whether the latest delivery date is accurate and final. If there is indeed a supply constraint that will prevent deliveries before February 2027, we would appreciate receiving official confirmation as soon as possible. Having reliable and accura
Table 73 of STM32WL33xx Datasheet indicates an “A” option for Frequency band options (398-464 MHz). I cannot find this variant in stock anywhere. How/when can I purchase this? Will there be a breakout/demo/nucleo board for this “A” version? Thank you.
I'm developing with an STM32WBA2.I want to communicate via Bluetooth every 10ms, but where in the source code should I modify the default connection interval?I couldn't find a relevant item in CubeMX's STM32_WPAN.
Hello,I need very low latency, short distance, robust proprietary RF connection with encryption. Drone will not have much complicated functions, just will fly, make flip, hover etc. like other toy drones. For lowest latency, as far as I understand, I need lowest level hardware access. All three of STM32WBA, STM32WB and STM32WB0 are doing it via different ways but which one is better for me, I don’t know. STM32WB looks sensible because it has 2 cores to seperate RF functions for faster responses but it is not one of the latest generations and not sure whether it worth to learn. Which series is the most suitable for such project you think? Thanks for all responses.
Dear Experts, I have an E04-400 module which contains a 48 MHz tcxo controlled through PB1 pin.If i set the module to use HSI it can work (blinks an LED, radio is off)If i set the module to use HSE (and set PB1 to 1 directly when main.c starts) the module doesn't even reach the stage where it is able to blink an LED. I am using cubemx 6.17.0 to generate the code. Here's part of main.c fileint main(void) {/* USER CODE BEGIN 1 */// === CRITICAL: Power TCXO BEFORE any clock configuration ===__HAL_RCC_GPIOB_CLK_ENABLE();HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); // TCXO_EN = High``// Reliable delay on HSI (before SysTick/HAL_Init)for (volatile uint32_t i = 0; i < 160000; i++); // ~10-15 ms/* 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_Conf
Hi everybody, I have an application, where my device should go every record_interval into the stop2 mode. Then Wakes up then measure some sensor values, then goes into the sleep. Same goes over and over. The issue is, I am using the LSI2 as a clock source for my RTC. I am then using that RTC clock to wake my MCU up from the STOP2 mode. But the issue is: that RTC time (based on the LSI2) is drifting (roughly 10s less than the real time). I am then using the real sleep time to advance the ticks of my freeRTOS, because the ticks are being paused during the STOP2 mode. Advancing the ticks manually then causes my freeRTOS task to run with some delays. Now my questions are: - Is there any way on my PCB, ith the STM32WB55RG on it to make the LSI2 or even the LSI1 more precise? PS: I am planning to buy an LSE oscillator. In the mean time, I try to compensate my application while using the LSI2 - Are there any other timers, options (apart from the LSE) to have a reliable time source for my RT
I'm developing for the NUCLEO-WBA25CE1 using BLE_HeartRate. In the main function, I called MX_APPE_Init(NULL) followed by BSP_LED_Init() to initialize each LED, but they seem to be blinking rapidly throughout the operation. I want to disable this blinking, but I can't find where to do so. Could you tell me how to deal with this?
Hello STM32 Community,I am encountering an issue on an STM32WL project using the ST LoRaWAN Middleware stack. When I enable and call MX_LoRaWAN_Init(), the MCU gets stuck or enters an infinite loop inside modem_supervisor_init() in modem_supervisor_light.c.Environment DetailsMCU: STM32WLE5CCU6Board: RAK3172 ModuleCubeMX / Firmware Package: STM32CubeWL v1.6.0Problem DescriptionWhen calling MX_LoRaWAN_Init(), execution fails inside modem_supervisor_init(). Debugging shows execution stuck in the for loop below : void modem_supervisor_init( void ){ memset( &task_manager, 0, sizeof( stask_manager ) ); for( uint8_t i = 0; i < NUMBER_OF_TASKS * NUMBER_OF_STACKS; i++ ) { task_manager.modem_task[i].priority = TASK_FINISH; task_manager.modem_task[i].id = ( task_id_t ) i; task_manager.modem_task[i].stack_id = 0; task_manager.modem_task[i].updated_locked = false; } ........}What I Have Checked / ObservedClock & Periphera
Hi,I bought the STEVAL-DRONE02 and STEVALFCU001V2 last week. But I couldn’t download the Android app ST BLE Drone on my smart phone which has Android version 14. Which Android version does ST_BLE_DRONE support?I checked with Google and it say:The ST BLE Drone application supports Android 4.4 and higher. It acts as a Bluetooth Low Energy (BLE) remote controller designed to work with evaluation boards like the STEVAL-FCU001V1.
I’m trying to set an alarm occurring on the 5 minute marks. However, after I set the alarm and try to read it back I always get 0 minutes and no interrupts. My code without the error handling is as follows. Status = HAL_RTC_GetTime(&hrtc, &sTime, RTC_FORMAT_BIN); Status = HAL_RTC_DeactivateAlarm(&hrtc, RTC_ALARM_A); // Deactivate before setting /** Enable the Alarm A */ sAlarm.AlarmTime.Minutes = 5 * (((sTime.Minutes + 5) % 60) / 5); sAlarm.AlarmMask = RTC_ALARMMASK_DATEWEEKDAY | RTC_ALARMMASK_HOURS | RTC_ALARMMASK_SECONDS; sAlarm.AlarmSubSecondMask = RTC_ALARMSUBSECONDMASK_ALL; sAlarm.Alarm = RTC_ALARM_A; Status = HAL_RTC_SetAlarm_IT(&hrtc, &sAlarm, RTC_FORMAT_BIN);What am I missing?Thanks
Hi, I'm working on a ESL project using STM32WB09. In order to reach greater distances, is it possible to use the CODED PHY ? Thank you
Hello,ST Customer Support advised me to post this question in the ST Community.I am planning to use a NUCLEO-WL55JC1 (MB1389) as a transmitter in Japan. According to the official ST Japan certification list, this board has Japanese radio certification number 018-210191:https://www.stmcu.jp/technical/hint/no-119/The Japanese certification database shows the following information: Emission designation: G1D Frequencies: 920.6 to 928.0 MHz Channel spacing: 200 kHz, 38 channels Antenna power: 16.0 mW However, the Avnet Japan product page states that the certification applies only to LoRa and Sigfox modulation:https://www.avnet.com/japan/products/product-highlights/stmicroelectronics-nucleo-wl55jc/I need to determine whether certification 018-210191 also covers custom 2-FSK or 2-GFSK transmission.Could an ST employee or someone familiar with the certification documents please clarify the following? Does certification 018-210191 cover 2-FSK or 2-GFSK transmission? If it does, what are
Setup:MCU: STM32WB5x (WB55 in particular)Performing OTA firmware update over BLE, using a custom OTA service/characteristics (based on the STM32WB Cube OTA support), sending firmware in chunks after the device reboots into OTA/bootloader mode.Client app: Android, iOS appProblem:During an OTA session, if the connection between the client and the device is interrupted (e.g. chunk write failure or stuck, or the client fails to resume sending data) while the device is already in OTA mode, the device gets stuck — it stays in OTA mode waiting for the remaining firmware data, but no new connection can be established to resume or restart the transfer. The device appears to remain advertising/connectable at the BLE stack level in some cases, but the OTA session itself cannot be recovered or restarted from the client side once this happens, effectively bricking the update flow until a manual power-cycle.Question:To make the OTA process self-recoverable, I'm considering adding a timeout mechanism
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.