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
Hello, I'm trying to DFU update some binaries into 1Mbyte STM32WB55CG Flash with OpenBootloader Custom APP. I've tried before with NUCLEO-WB55RG board without any problem, but with CG I just can erase/write until the first Block (512KB) of the memory. Always crashes from there. I've checked the option bytes and FUS parameters and everything looks normal. I don't know if you have some idea why this behavior. In the post attached some captures. I've got this contact @Alan PORTE from a colleague, but any help will be welcome. Thank you. FUS/NUCLEO-WB55RG FUS-WB55CG OB/WB55CG OB/NUCLEO-WB55RG DFU-ERROR Sergi
Is STM32WB55xx (Multiprotocol wireless 32-bit MCU Arm®-based Cortex®-M4with FPU, Bluetooth® 5.3 and 802.15.4 radio solution) is Automotive grade(AEC-Q100 Grade)?
Hello Everyone,Is there any documentation for ST BLE Sensor Mobile Application I can reference?Thanks in Advance.
Hey guys I am currently looking for an mcu to get started developing a live stream camera board which should be in 7x80 mm dimensions what mcu should I get ? I think 5x5 footprint should be ok but not sure 6x6 also be ok. I am open any advice also new to hardware design so thanks for all the supports:)
I am trying to bring up the GFX01M2 on a WB55RG board. Following any of the Custom, FlashLoader, or HelloWorld applications (from the X-CUBE-DISPLAY_3-0-0 download) using STM32CubeIDE merely results in a blank LCD. I feel I'm missing something simple, but just can't find it. In each case I have compiled and loaded the files as per the ReadMe instructions. Any pointers appreciated...
In the STM32WB09's Reference Manual, RM0505 Rev 3, Table 8: PA10 and PA11 have SWD modes for their AF4.However, in the STM32WB09 datasheet, DS14210 Rev 6, Table 6 and Table 7: PA10 and PA11 have no AF4. Which one is correct?
Dear ST Support Team,I am currently working on verifying a LoRaWAN proof of concept using STM32 hardware.My setup consists of a LoRaWAN end node and a gateway connected to the Loriot network server. From the Loriot dashboard, I can confirm that the gateway comes online successfully whenever powered and is in a ready state, waiting for packets.However, my end node has not been able to successfully join the network.I have carefully verified the following possible causes:Frequency configuration (ensured no mismatch between node and gateway region)LoRaWAN region settingsDevEUI, AppEUI (JoinEUI), and AppKey configurationNetwork activation method (OTAA)Gateway operational status on Loriot dashboardAll parameters appear to be correctly configured, yet the end node consistently fails to join.I would appreciate your guidance on:Additional debugging steps to determine why the join procedure is failing.Recommended methods to confirm whether Join Requests are actually being transmitted from the en
Hi, I have a problem with activating USART bootloader. I use USART1. Please for details about how to going in bootloader mode. Pattern 12 in AN2606 is super complicated for me. I use now boot pin. I put it to GND and power ON . By me MCU going in bootloader mode, software put it with J-link is not started, but STM programmer show : Activating device: KO.Please, verify the boot mode configuration and check serial port configuration. Reset your device then try again.. Please for details how to put in USART1 boot mode.
Hello,I have a project on STM32WL55 which runs on dual core CM0+ and CM4.When i put it in debug mode using the development board STM32WL55 Nuleo-64 (NUCLEO-WL55JC1), it goes into debug mode without any issue. Both the cores are getting debugged.Procedure : Launching the configurationsLaunch the Cortex®‑M4 configuration to download both the Cortex®‑M0+ and Cortex®‑M4 images.Resume the Cortex®‑M4 core until the C2BOOT bit is set in power control register 4 (PWR_CR4) to enablethe Cortex®‑M0+.Launch the Cortex®‑M0+ configuration using the arrow next to the debug icon. The Cortex®‑M0+ is in therunning mode and the user can halt it after the debugger is started.Now, I want to debug the same code in a customized PC having STM32WL55CCU6. It is not going in debug mode which means it gets stuck here : void MBMUXIF_SystemSendCmd(FEAT_INFO_IdTypeDef SystemPrioFeat) { /* USER CODE BEGIN MBMUXIF_SystemSendCmd_1 */ /* USER CODE END MBMUXIF_SystemSendCmd_1 */ if (SystemPrioFeat == FEAT_
Hi.I want to use NUCLEO-WL55JC with 32MHz crystal, not TCXO. So i do following steps according to UM2592(User manual of STM32WL Nucleo-64 board)No C30 and no C38 as those capacitors are integrated into the STM32WL MCU.SB20 OFF in order not to supply the TCXOC31 OFF in order not to have a 32 MHz signal coming from the TCXOR39 and R40 ON to connect the X3 crystal to the STM32WL MCU I use LoraWAN_end_node project in STM32Cube_FW_WL_V1.4.0.So i do following steps in configuration in CubeMX (also attach clock configuration)Select HSE as Crsytal/Ceramic Resonator instead of TCXOIn stm32wlxx_nucleo_radio.c, BSP_RADIO_IsTCXO function returns RADIO_CONF_TCXO_NOT_SUPPORTED instead of RADIO_CONF_TCXO_SUPPORTED. But after that, NUCLEO board give me message MAC txTimeOut instead of success tx process. While i use TCXO, there is no problem to send tx and also connect to LoraWAN. What can i do to use standard crsytal instead of TCXO? Be
Hello,I'm working on a comprehensive project where I need to implement low-power modes without using a sequencer. However, nothing works after MX_APPE_Init. How can I deinit it?I am using MAC 802.15.4 /* Init code for STM32_WPAN */ MX_APPE_Init(NULL); HAL_Delay(5000); EnterRTCStandbyMode(10000); /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ MX_APPE_Process(); /* USER CODE BEGIN 3 */ tagReadResponseSend(); } To summarize, I want to know how to deinit MX_APPE_Init. Yes, there's a sequencer, and it works perfectly, but I want to disable MX_APPE_Init and use EnterRTCStandbyMode for sleep modes.
Hi Everyone,I'm using the P-NUCLEO-WB55 board and seeing an an issue when attempting an OTA firmware using the STBLESensorClassic mobile app running on iOS device. Execution is blocked waiting for the "FLASH_FLAG_CFGBSY" to clear in FLASH_WaitForLastOperation() in stm32wbxx_hal_flash.c. Please see screenshot below of call stack and location. SetupCubeIDE v1.14.1STM32Cube_FW_WB_V1.21.0ST BLE Sensor Classic 4.20.1 BackgroundIf I use the out of the box OTA example "BLE_Ota" on the P-NUCLEO-WB55 board the OTA update works fine. However, this example uses the sequencer which is not representative of our end application. We are using FreeRTOS in our end application. In an effort to create an application that is somewhat representative of our end application I've combined/merged the "BLE_Ota" & "BLE_HeartRateFreeRTOS" examples into a single project. With this merged project running on the P-NUCLEO-WB55 board the issue is reproducible. I've attached th
It appears that the STM32WLxx FW 1.4 package includes a LoRaWAN stack that implements AES in software. Is there a technical reason that the AES accelerator in the STM32WLxx is not used? I can imagine things like:AES hardware functionally uses more power, or increases latency waking from STOP2, than the Semtech implementation.AES hardware does not provide the functionality required by LoRaWAN (at first glance, this does not appear to be the case).It's just too organizationally difficult to fork the Semtech code to use the AES hardware, or there is some licensing wrinkle (I can't imagine such a thing).If there's no reason not to use the AES hardware, I'd like to explore doing so.
Hello, I am working on a project using the STM32WL55JC1 board. In my base application, UART1 and some I2C peripherals are already configured in the default project structure generated by STM32CubeIDE. Now I need to add support for both LoRaWAN and proprietary LoRa in the same project. For LoRaWAN, I am using the example provided in the STM32WL firmware package:STM32Cube MCU Package for STM32WL series v1.0.0 For proprietary LoRa, I followed the Digi-Key forum guide:Using the low-level Sub-GHz radio driver for STM32WL series. My requirement is: The device should normally operate in LoRaWAN mode. When specific data is received through UART, the MCU should switch to proprietary LoRa mode. After handling the proprietary communication, it should return to LoRaWAN mode. I understand that both LoRaWAN and proprietary LoRa cannot run simultaneously because they share the same radio. However, I am confused about: How to properly merge the project structures. Where to pl
I am developing a project based on the STM32WL5MOC, using the B-WL5M-SUBG1 board as my reference platform.My development environment uses STM32CubeMX and STM32CubeIDE (both version 2.x). I am having difficulty determining which documentation and examples are current and compatible with the STM32CubeWL v1.4 library.My objective is to build a LoRaWAN end-node product using the STM32CubeWL v1.4 stack. However, I am encountering several issues:• CubeMX appears to lock or restrict LoRaWAN region selection, preventing reliable configuration changes (specifically US915 for Canada)• CubeMX hides or auto-generates LoRaWAN configuration files, making it unclear where parameters should be edited• The stack structure and project organization generated by CubeMX differ from what is described in the available documentation• As a result, I have been unable to produce a stable standalone CubeIDE project with fully editable LoRaWAN configurationGiven these inconsistencies, I would appreciate clarificat
利用Opus在STM32WB上实现BLE全双工语音流 | 新闻中心 | STM32/STM8 | MCU单片机 | 意法半导体STM | STMCU中文官网 The project in this link is encountering compilation errors. *This post has been translated from Chinese to comply with the ST Community guidelines.
Hi, I know that currently STM32WB0 is the only family of BLE MCU that currently supports BLE PAwR, but this MCU is very limited in terms of on-board peripherals, RAM and other features. The STM32WBA series looks like a promising candidate for one of our upcoming projects (industrial sensor nodes application), but unfortunately it seems it does not support PAwR. So I wanted clarity on if there is any plan to support PAwR in the near future on STM32WBA chips? Best Regards,MCM
Hi all,I’m working on an STM32WB55 and trying to run two advertisements “in parallel”:a connectable advertisement (for normal connections / data)a non-connectable advertisement using Additional BeaconI can see both advertisements from an Android device, so the basic setup works.The problem I’m struggling with is synchronising beacon payload updates with the actual beacon transmissions.What I’d ideally like to do is update the beacon payload right before each non-connectable advertising event, so the transmitted packet always contains the latest data, without updating faster than the beacon interval.I looked into using ACI_HAL_END_OF_RADIO_ACTIVITY_EVENT as a pacing mechanism (e.g., update the beacon payload right after an advertising event so the next one carries new data). However, with two advertising roles and other BLE activity (connection events, etc.), this event is generated frequently and not only for the additional beacon advertising. From what I can tell, it also doesn’t clea
Code is written using stm32CubeMX. Connecting with stmlink V3 Minie. Executing step by step, it appears that debug fails (lose connection) when executing debug_init. In fact debug_init creates the problem when programming pa13.When removing the initialization of PA13 and PA14 in debug init, things seems to work but I have no idea of potential side effect. An recommendation?
Hi STM32 experts, I've been digging through the STM32WBA65RI datasheet and the RM0515 STM32WBA6xxx advanced Arm®-based 32 MCUs but can't seem to locate the factory default values for the FLASH_OPTR register for the STM32WBA65. Unliked the solution from this thread, where the RM0440's Option Bytes Descriptions section indicates ST Production Value, the RM0515's Option Bytes Descriptions section starting on page 206 doesn't contain the factory production value. Am I missing this information elsewhere in the RM0515 or STM32WBA65RI datasheet? Thanks and Best Regards,-Eric
In AN2606 Rev 69, the STM32WBA6x system bootloader section describes the UART interface as USART3, but there appear to be errors:1. Inconsistency within the same entry:The TX pin description mixes USART2 and USART3 in the same sentence:USART3_TX pin Output PA12 pin: USART2 in transmission mode. Kept in reset configuration until 0x7F detected on USART_RX.While the RX pin description correctly uses USART3:USART3_RX pin Input PA11 pin: USART3 in reception mode. Used in alternate push-pull, pull-up mode.2. PA11/PA12 are assigned to USART2, not USART3:According to the STM32WBA62 datasheet, PA11 and PA12 are mapped to USART2 (USART2_RX / USART2_TX), not USART3.Question:Does the STM32WBA6x system bootloader actually use USART2 on PA11/PA12? It seems the document should read USART2 throughout, and the current "USART3" label is an error.Could ST please clarify and correct this in the next revision of AN2606?Environment:- Document: AN2606 Rev 69- MCU: STM32WBA62CGU6- Section: STM32WBA6x boo
Starting with the BLE_Heartrate example, I want to measure a voltage on PA8 of STM32WBA65. The BLE_Heartrate project already has the option of using ADCCTRL to read the internal temperature so as to calibrate the BLE power.I have added PA8 as ADC_Channel1 in CubeMX. Do I need to call MX_ADC4_Init or not?How do I achieve a read of PA8 in my timed task? The call to ADCCTRL_RequestRawValue always returns without error, but the value read is always 1 or 2. There is definitely 1.0v on this pin.My code (copied from the temp_measurement.c of WPAN) is:static ADCCTRL_Handle_t LLADCRequest_Handle = { .Uid = 0x00, .State = ADCCTRL_HANDLE_NOT_REG, .InitConf = { .ConvParams = { .TriggerFrequencyMode = LL_ADC_TRIGGER_FREQ_LOW, .Resolution = LL_ADC_RESOLUTION_12B, .DataAlign = LL_ADC_DATA_ALIGN_RIGHT, .TriggerStart = LL_ADC_REG_TRIG_SOFTWARE, .TriggerEdge = LL_ADC_REG_TRIG_EXT_RISING, .ConversionMode = LL_ADC_REG_CONV_SINGLE, .DmaTransfer = LL_ADC_REG_DMA_TRANSFER_NONE, .Overrun =
Hi everyone, I am working with the STM32-NUCLEO-WL55JC2 board and I want to transmit ADC values over LoRa radio. Since this is a dual-core MCU (Cortex-M4 + Cortex-M0+), I would like to clarify the recommended implementation approach. My goal is: Read analog data using ADC Send the ADC values via LoRa communication Possibly use the dual-core architecture efficiently My questions are: Is it recommended to run the ADC acquisition on the M4 core and the LoRa/Sub-GHz radio stack on the M0+ core? What is the best method for sharing ADC data between the two cores (IPCC, shared RAM, mailbox, etc.)? Are there any reference examples in STM32CubeWL that demonstrate a similar workflow (sensor data → radio transmission). Are there configuration considerations in STM32CubeMX/IDE when enabling ADC together with the radio stack? Any guidance, documentation references, or best practices would be greatly appreciated. Thank you!
Hello all :)I am designing a board using the STM32WL33CCV6TR, and want to program/debug using the SWD interface. However, there are multiple pins the SWDIO and SWCLK can be mapped to using alternate functions. Usually with STM products, I have seen a footnote saying which pins the SWD interface is mapped to on boot. However, I cannot see this on the STM32WL33xx datasheet. My question is which pins should I use as SWDIO and SWCLK so that I can program the chip out of the box (without having to mess around with the bootloader). And could I have found this information, as I am sure it is somewhere but cannot find it. I am guessing the PA2 and PA3 pins, but not really for any good reason... Many thanks in advance!
Hi,I'm using a Nucleo stm32WL55JC1 board, and i'm trying to run the SBSFU_2_Slots_DualCore example. Used the example selector to start the project. When I tried to compile any of the sub projects they all fail and i have a lot of warnings for include paths that dont exist in my computer. I'm using stm32cubeIDE v2.0.0, i tried using the v 1.11.0 because it said it the release notes that was the version used for STM32Cube_FW_WL_V1.4.0, but the IDE does not accept this package and does not detect it inside the repository folder, even after installing it itself because the examples it shows are from v1.4.0 of the FW package. I also get the error that i can't find the file kms.h that is included in a .c file. When the prebuild.sh runs it runs in the wrong directories, like doing "cd ../../../Middleware.....", in this case there are too many "../" in the path, and this happens a lot in the script.How can I run this example? What am I missing?Thanks in advance!
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.