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 All,I have just started a project with STM32WL33CC1 MCU. To get started I am trying to run and debug the example MRSUBG_Chat project.The project builds fine but refuses to enter debugging.I can program the WL33 using STM32CubeProgrammer and STM32_Programmer_CLI.exe version 2.18. An earlier version of the STM32_Programmer_CLI.exeversion 2.14 that I had on my laptop did not work. I can debug using OpenOCD option but I can not seem to debug using the ST-LINK GDB server option. Is there something that I am missing?I noticed that the STM32CubeIDE calls the STM32CubeProgrammer_CLI.exe using the same command tool that works when ran manually. I noticed that if I ran STM32CubeProgrammer_CLI.exe with mode=HwRstPulse then the error I get is similar to what the STM32CubeIDE throws.As mention earlier I can manually use STM32_Programmer_CLI.exe to connect with the following C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>STM32_Programmer_CLI.exe --connect
Hello, I'm trying to create a smart device to connect to my Home Assistant network using Zigbee. So far, I've been able to connect to the network and control a light (turning it on and off), which works perfectly. The issue I'm now facing is rejoining the network. If I cut the power to my STM32WB55 and turn it back on, the device won't reconnect to Home Assistant. The only way to reconnect is by enabling "Permit Join" in Home Assistant, which starts the device interview process again. I suspect the problem lies in the function shown in the picture below, where I set startupControl to ZbStartTypeJoin. Perhaps I need to set this to ZbStartTypeRejoin, but I'm unsure if this is indeed the issue. Additionally, how can I create a function that allows the device to join the network when, for example, a button is pressed for 3 seconds? Thanks, Hessel Jilderts
How we can change the parameters dyanamically in the lorawan stack from program ? I got some information like ,we can use LmHandler APIs to set the parameters .... But How we can use and exactly where we can call these functions ?Thanks in advance
Hi,I have problem with configuration STM project in STM Cube IDE.I created project based on STM32WB55 Board, after open *.ioc file i have a problem with reconfigure GPIO ports:I am using the latest STM Cube IDE version: 1.17.0How to solve it?
As apart of the BLE capabilities in our project, which runs on STM32WB55We want to allow pairing of new devices only when pressing a button.When the button is not pressed, we want to allow connections of only devices which are already bonded.From what I see that the SDK has no API for rejecting new pairing requests.I also see that the HCI has an "authentication request command" which the SDK does not pass to the application layer.The only two options I can think of are:1. upon connection event (or "encryption changed event") disconnect the peer if it isn't in the bonding list.2. The SDK does allow to manage a "white list" (which we can manage in parallel to the bonding list) and use it as a filter on the connection.The white list is being managed on the RAM, which means we'll have to take care of its persistency on our own. Am I missing something here? is there a better way to do it?And isn't allowing only bonded devices a part of the core specifications?Thank. Hagai
Hi,we want to simulate a RF chain with the STM32WLE5 Device using AWR . High Power mode , 22 dBm transmit power. Lora In AN5457 there is Input \ output impedance information of RF Reciever \ transmit pins of the stm32wle5 but only for certain frequencies (for example 915 Mhz).we want to make a simulation and evaluate S12 , S11 of the whole Recieve\transmit chain between the STM32WLE5 pins to the ANTENNA for frequencies between several 10Mhz and several Ghz .but, the problem is that we dont have ST RF Receive/transmit pins impedance information for that frequency range (only for several frequencies as appear in AN5457 ). is it possible to get that impedance information for the whole frequencies range ( for RF Recieve\transmit pins of the STM32WLE5) ? Thank You,Viola
Hello.I am trying to port from a Nucleo-F401 board to the WB. I have a desire to make USART1 on the WB as a comm port so I can pass data to it for testing some stuff. I find it works well UNTIL I enable the BLE. I notice in the app_debug.c file that it takes the MX_USART1_UART_Init() function and buries it with a DEBUG wrapper. Can someone tell me how to configure CubeMX so as to use LPUART as debug and NOT UART1? Many of the entries on the page you see in MX are greyed out and I cannot even select them to enable them. Is this even possible to use USART1 for something other than debug as I want? Find attached MX pdf.Thanks
Hello ST Community,I want to send a simple "Hello world" to a generic app from STM32WBMMG dk kit but not ale to send.I have tried few example that are available: Example first : 1. I have tried BLE Sensor example and send Hello World i got hex value of that, I am getting the String value...i have tried to get converted into string but failed. 2. I am sending data from other company microcontroller which supports BLE via ANdroid app Serail Bluetooth Terminal. The same thing i want my STM32 dk should this.3. I have also tried BLE_LLD_CHAT and p2p server example as well but failed. Kindly help me, if you do this it will be very helpfull for me.thanks and regardAnkur Bhatt
Hi,I am looking for the best method to program the FUS and BLE stack into the STM32WB55 during the manufacturing process, including the activation of the wireless stack. Is there any alternative to using the STM32CubeProgrammer with the ST-Link? Ideally with using JlinkThank you.
Hi all,I am currently working with the STEVAL-PROTEUS1 Board, which incorporates the STM32WB5MMG module and the IIS3DWB high-bandwidth accelerometer sensor, interfaced via SPI_1.According to the IIS3DWB sensor datasheet, it supports a clock frequency of up to 10MHz and an Output Data Rate (ODR) of 26667Hz (37 microseconds).My objective is to collect sensor data at an ODR of 26667Hz.Here are the steps I have taken so far:Configured SPI_1 to 8MHz.Configured the sensor to generate an ODR interrupt, which is successfully triggering every 37 microseconds.The issue arises when collecting data (6 bytes) from the sensor, which is taking 42 microseconds. Ideally, this should not exceed 10 microseconds using HAL functions in blocking mode. I have also tried using non-blocking mode (DMA), but it is taking the same or more time.Could anyone help me understand if the HAL function is supposed to take 42 microseconds, or if there might be an issue with my implementation?Note: The M4 core is running a
Hi, The correspondence between friend nodes and LPNs in the ST official website description states that a friend node can connect up to 6 LPNs at most. Other chips can connect more LPN nodes with one friend node. Has ST optimized in this area?Thanks,DL_Weng
Hi everyone,I am working with the STM32WLE and would like to use the internal SubGHz module directly without relying on any middleware, such as LoRaWAN. My goal is to control the SubGHz module in a simple way, similar to an external RF module like the SX1276 or RFM69.Goals:Initialize the SubGHz module manually.Transmit and receive data using low-level functions such as SUBGHZSPI_Transmit or HAL_SUBGHZ_ExecSetCmd.Use the SubGHz module with LL (Low Layer) or HAL functions only, without middleware or additional libraries.Questions:How can I correctly initialize the SubGHz module to use it for basic RF communication, such as FSK?Is there a way to create a lightweight API that uses only HAL or LL for SubGHz communication?Are there examples or documentation available for configuring and using the SubGHz module as a simple RF transceiver, including setting frequency, configuring registers, and handling RX/TX?What I’m Looking For: I want to operate the SubGHz module as if it were a standalone
For the moment our stakeholders have ordered only BLE support for our device, but on the HW side we already decided to take the 1MB WB55 variant to have enough room for future Thread support.Since the stm32wb5x_BLE_Thread_dynamic_fw is so big that in field updates of the stack are impossible, my idea was to produce the BLE only generation also with the BLE+Thread stack installed.To test this, I took all the memory constraints from the example project (Ble_Thread_Dyn_SED_FreeRTOS), installed the big stack and ran my bluetooth application (which works fine with light and full BLE stack).Now when I start to advertise, all the aci functions give positive feedback, but I can see no advertisement on the air. So what more do I need to do? Probably something to appease the Thread part of the concurrent stack?
Hello,I am new to STM32WB series. I have designed my custom board, but I can not upload the program. I am using ST link on STM32F4 Discovery board but I sees "Target no device found". Please confirm if we can use Stink on STM32F4 Discovery board to upload the program or not. Thanks
Hello, I would like to run HeartRateThreadX with Nucleo-WBA55CG, with Debug features that I can stop the code anytime from STM32CubeIDE. What I have tried(but not succeeded): + Change Core/Inc/app_conf.h line 231 from 2 to 0(CFG_LPM_LEVEL). + Disable "Debug in low power mode" from Debug Configuration -> Debugger -> Device Settings -> Debug in low power modes. + Tried to "Full Chip Erase" by using STM32CubeProgrammer + From STM32CubeMX, enable "Debug" feature with "Serial Wire". Neither of them get rid of the failure "Target is not responding, retrying...": STMicroelectronics ST-LINK GDB server. Version 7.9.0Copyright (c) 2024, STMicroelectronics. All rights reserved.Starting server with the following options:Persistent Mode : DisabledLogging Level : 1Listen Port Number : 61234Status Refresh Delay : 15sVerbose Mode : DisabledSWD Debug : EnabledWaiting for debugger connection...Debugger connectedWaiting for debugger connection...Deb
Env:OS: macOS Monterey 12.7.6IDE: STM32CubeIDE 1.17.0Toolchain: /Applications/ArmGNUToolchain/13.3.rel1Board: NUCLEO-WBA55CG Step:1. cloen repo% git clone https://github.com/STMicroelectronics/STM32CubeWBA.gitgit:(main) % git co v1.5.0 -b v1.5.0git:(heads/v1.5.0) % git submodule update --init --recursive 2.Create ProjectsOpen STM32CubeIDECreate Project from exists STM32CubeMX COnfiguration file(.ioc)Choose .ioc file for Project:BLE_ApplicationInstallManager: Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_ApplicationInstallManagerBLE_HeartRate_ota: Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_HeartRate_otaBLE_p2pServer_ota: Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_p2pServer_otauncheck -fcyclomatic-complexityBuild 3. Result:BLE_ApplicationInstallManager: Build FinishedBLE_HeartRate_ota: Build FailedBLE_p2pServer_ota: Build Failed What's the problem?
Hi Team ,I was trying the BLE example application from GitHub in IAR Workbench. After a successful compile using IAR Workbench, the binary is not able to run on the eval board, and the board is not advertising the packet at all. However, when I run the existing binary available in the Binary folder, it works as expected. Could you please help me by providing the correct example code? i was using p2pserver_ota application .
I am currently working on a project involving MIOTY-based communication and am using an STM32 board for the receiver side. My goal is to receiver In-phase (I) and Quadrature (Q) samples from a MIOTY-based transmitter. However, I am facing challenges in finding relevant documentation or code examples for implementing an IQ interface.Here are my specific questions:Is there any reference manual, application note, or example code available that can guide me in setting up the STM32's RF peripherals for receiving IQ samples?Are there any tools or libraries (e.g., STM32CubeMX or third-party solutions) that can simplify the process of configuring the RF core to extract IQ data for MIOTY communication?If anyone has experience working with IQ interfaces on STM32 for MIOTY or similar protocols, could you share insights or a high-level overview of the steps involved?I appreciate any pointers to resources, existing projects, or practical advice on getting started with this.Kind RegardsYasir Al
Why can't my WB55 P-NUCLEO board print BLE debug information via UART? Some configurations, such as CFG_DEBUGGER_SUPPORTED, CFG_DEBUG_BLE_TRACE, and CFG_DEBUG_APP_TRACE, have been enabled. I tested it, and it seems the printf function is not working. However, the HAL_UART_Transmit() and HAL_UART_Transmit_DMA() functions work correctly and can print data when tested in main.c. Why isn't printf able to output information? I have also tried redirecting printf, but it still doesn't work.Here is my program.
Hello First Post, so let me know if I miss anythingSpecs:Stm32WL55JC1 nucleo dev boardwaveshare 4.26inch e-Paper display HAT, 800x480, Black/White, SPI InterfaceI am Using Stm32WL55JC1 nucleo dev board to develop driver code/application for an epaper display.my first question is in the example code it does something similar to #define EPD_4in26_WIDTH 800 #define EPD_4in26_HEIGHT 480 int EPD_test(void) { printf("EPD_4in26_test Demo\r\n"); if(DEV_Module_Init()!=0){ return -1; } printf("e-Paper Init and Clear...\r\n"); EPD_4in26_Init(); EPD_4in26_Clear(); DEV_Delay_ms(500); //Create a new image cache // UBYTE *BlackImage; /* you have to edit the startup_stm32fxxx.s file and set a big enough heap size */ UDOUBLE Imagesize = ((EPD_4in26_WIDTH % 8 == 0)? (EPD_4in26_WIDTH / 8 :( (EPD_4in26_WIDTH / 8 + 1)) * EPD_4in26_HEIGHT; UBYTE BlackImage[Imagesize]; printf("Paint_NewImage\r\n"); Paint_NewImage(BlackImage, EPD_4in26_WIDTH, EPD_4in26_HEIGHT, 0, WHITE); printf("Clea
Hello Everyone,I have been working in a project which reads a sensor data (Lets say an integer) continuously inside a while loop, something similar to following. I am using STM32WB55RG Nucleo Board with wireless connectivity.void getReading(int *variable) { while (1) { // Infinite loop (*variable)++; // Increment the variable if (*variable == 1000) { // Check if it reaches 1000 *variable = 0; // Reset to 0 //printf("Variable reset to 0\n"); } else { //printf("Variable updated: %d\n", *variable); } } }My goal is to send this sensor reading to a mobile phone over BLE, I followed the tutorial given in STM webpage to control a LED using STM BLE Toolbox application. However i am wondering how to modify that project to fulfill my requirement. It seems like the code being generated by CubeMx application is quite complex for a beginner and needs knowledge about sequencers and so on. Are there any simple method for this task? or How can I modify the BLE_Custom code generated by CubeMX
Hello,I am using a Nucleo-WBA52CG dev. board as well as an sd shield. I want to store data from the NUCLEO in the SD card, and be able to read those data with a computer.The SD card and the stm32WBA should obviously communicate through SPI.However, the WBA does not have FatFS, nor SDMMC. I suppose that I can use FileX to partially "replace" those elements, but I see myself unable to find anything related to that situation. I suppose that I'll have to check the custom interface, and as I want to use EXFAT, enable it. But from there I'm kind of lost.Does anyone have a way to do those communications? Thanks in advance.Don't hesitate if you need other informations to facilitate your understanding and give me some hints.
Hello,I'm following the video about using the VSCode Extension and how to convert an existing project from STM32CubeIDE to VSCode-compatible. The video says to select CMake in the Toolchain/IDE configuration in the projectBut this configuration is disabled and I can't change it I don't know whyDoes anyone know what's going on? What am I missing?By the way, this is not a sample project. I created it from scratch with the CubeIDE project creation wizard.---------------------------------------------------------------------------------------------------------------OS: Ubuntu 22.04STM32CubeIDE: 1.17.0Device: STM32WB5MMFirmware Package: STM32Cube FW_WB V1.21.0
Dear ST Team,We are working on the design and development of a LoRa/LoRaWAN end device using the STM32WB55RG and LR1121. As part of our project, we are in the process of certifying our device firmware using the LoRaWAN Certification Test Tool (LCTT) for the EU868 region.Here are some details about our design:The LoRaWAN stack (v1.0.4) and radio layers are sourced from the LoRaMac-node repository.The LR1121 radio drivers are sourced from the SWSD003 repository.We have successfully implemented and tested LoRa and LoRaWAN functionalities on our custom hardware.Issue Encountered During CertificationWhile performing LCTT certification, we are encountering challenges with tests involving FSK optional data rate packets:Observation 1: The Device Under Test (DUT) is unable to receive downlink FSK packets from the LCTT.Observation 2: The DUT successfully transmits uplink FSK packets, which are received correctly by the LCTT.Debugging FindingsUpon further investigation on the DUT side, we observe
Dear ST Team,Recently, we undertook a migration of our Firmware from LoRaWAN 1.0.2 to version 1.0.4 using the LoRaWAN stack available on GitHub ([Link to GitHub Repository: https://github.com/Lora-net/LoRaMac-node]). Here, SX1262 is the LoRa Transceiver and STM32L073RZ as MCU. We have successfully implemented and tested LoRa and LoRaWAN functionality with the new stack.However, we have encountered challenges during the LCTT (LoRa Alliance Certification Testing and Tooling) certification process. Specifically, only the Device Activation Test is passing, while the others are not, as our End Device is not transitioning into Test mode. This issue persists even when using the STMWL55JC series controller EVK board.For more details on tests, DUT is able to join the network with LCTT tool and LCTT can send COMPLIANCE_DUT_RESET_REQ command in the Downlink packet. Once the DUT does soft reset and after that DUT is directly starting the periodic messages as it detected itself as already join
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.