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
I am now practicing the BLE_p2pServer example on the NUCLEO-WBA55CG board. I hope that the android app can scan its UUID 0xFE40 when scanning without connect. How can I modify it?
I'm trying to find a way to get the connection status of the Zigbee Network.Our application can successfully join a network. We have also implemented persistence and are able to rejoin a previously setup Zigbee Coordinator. But I haven't found a way to tell if the local device is actually joined to the network or not. Also, I have no way to tell if the network connection has been lost or interrupted (e.g. due to weak signal).Does the Zigbee Library provide a way to register a callback or a status function to poll this information?I need to be able to detect if the local device is no longer joined to the network. Or when it is unable to find its configured network.Regards,Ozzy
Split from https://community.st.com/t5/stm32-mcus-wireless/how-to-write-correct-sleep-function-for-wb55/td-p/746937 as this is a separate question Hello, I have another question: When I enable the CFG_LPM_SUPPORTED parameter in CubeMX, where should I call my custom functions to ensure they work correctly? I noticed that when I call my custom functions under the MX_APPE_Process(); function, they do not work properly. Additionally, I am using the LPUART1 and USART1 channels for my sensors, and I observed that they are not functioning either. Looking Forward to Your Response,
In `ble_defs.h`, we have the following security permissions for attributes:/* Security permissions for an attribute */ #define ATTR_PERMISSION_NONE 0x00U /* No security. */ #define ATTR_PERMISSION_AUTHEN_READ 0x01U /* Need authentication to read */ #define ATTR_PERMISSION_AUTHOR_READ 0x02U /* Need authorization to read */ #define ATTR_PERMISSION_ENCRY_READ 0x04U /* Need encryption to read */ #define ATTR_PERMISSION_AUTHEN_WRITE 0x08U /* Need authentication to write */ #define ATTR_PERMISSION_AUTHOR_WRITE 0x10U /* Need authorization to write */ #define ATTR_PERMISSION_ENCRY_WRITE 0x20U /* Need encryption to write */In particular, we have permissions to ensure ecryption of read and write operations, but no permissions to ensure encryption for notification, indication, or write-without-response.If I create a characteristic with the write-without-response property and the encrypted write permission, then performing a write-without-response operation on that characteristic does not seem to
Hi there, I am running into trouble when tring to connect my stm32wb55 to other 3rd party peripheral. I use cubeMX and chose client profile to generate the code. Then I modified "OOB_DEMO 1" to "OOB_DEMO 0" in the app_conf.h to make the mcu start scanning automatically. The trace information shows that the scan started properly, but I cannot get any result in the case "HCI_LE_ADVERTISING_REPORT_SUBEVT_CODE". Actually, the program never go into this case.When I use p2p server profile everyting works fine, I can connect to the mcu with smart phone and exchange data. And I also can connect to 3rd party peripheral with smart phone as well, But the mcu cannot connect to the peripheral as client.
Colleagues, I have a task to accept settings and transmit measurements to the smartphone screen via USART1. The Android application is handled by a third-party company. I suspect that the task is not new, but I will have to solve it myself.For this, I want to modify the BLE_HR_p2p_Sensor project.I need to start with something small...For example, is it possible to disable the "heart rate" task through the BLE_HR_p2p_Sensor application defines.If not, I would appreciate any advice on how to painlessly disable any sensor.
Hello, i need to compile example project using IAR ver. 7.40.1, (common components ver. 7.2.0), and I'm dealing with this error ".ewp was created by a newer version of the product and cannot be opened." Is there any Guide how to migrate project to older IAR version? Or set IAR compiler in CubeIDE? Thank you!
Hi,I am looking to use the STM32WL33 in a product. I am curious as to what the chip is in terms of its silicon. Is the M0+ equivalent to an available MCU?What is on the radio side? Is this an S2-LP for example?Thanks
Hi, i tried opening and debugging the STM32WB BLE-P2P example in my workspace but i dont get it to work. I tried a dozen ways to open and debug and even like in this video https://www.youtube.com/watch?v=WgsXMVZfoO8&list=PLnMKNibPkDnG9JRe2fbOOpVpWY7E4WbJ-&index=7&t=0sbut it doesn't work. One problem ist that the guy in the video seems to have different example files than these supplied by STM in github. And also code generation via new Project and then selecting existing examples in the IDE itself doesn't work.Can you help me please
Hi. I bought the ble_p2pServer example code on an stm32 wb55rg board and am trying to get ble communication. The example code was imported via stm32 cubemx. The current problem is that I am getting a HardFault error in the SendCmd function in the hci_tl.c code. Specifically, the error occurs on line 8 where it calls pCmdBuffer. static void SendCmd(uint16_t opcode, uint8_t plen, void *param) { if (pCmdBuffer == NULL) { printf("error"); } pCmdBuffer->cmdserial.cmd.cmdcode = opcode; pCmdBuffer->cmdserial.cmd.plen = plen; memcpy(pCmdBuffer->cmdserial.cmd.payload, param, plen); hciContext.io.Send(0, 0); return; } My complete main.c code is shown below. /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 20
Hello, sorry to waste your time, but I don't understand. I use a NUCLEO-WL55JC1, after some test with the example in the WL_Package, and some errors to adaptate the example code. I have undertaken to start from zero. I use the example code in the Mono Core Ping Pong example, but I don't use the sequencer (not very usefull in my case). So :I wan't to send data every x seconds, for this I use TIM2. In the TIM_IRQ I have to toggle pin (work) and send data (don't work). To test if I can send data, I check if I have "TxDone" or "TxTimeout" (nope) and I use a 2nd WL55C1 with a working code in Rx mode to check if I receive something (nope). So clearly : TIM2 -> WorkingRadio -> Not workingUSART2 -> WorkingUSART1 -> Not implementedI check multiple times my init of subghz, and I think I have all I need. I upload the "subghz_phy_app" and "TIM2_IRQHandler" code. Clearly I miss something, but what ? I already check if I call "subghz_init" and yes. Can you help me pls ? void TI
Hello everyone, I have problem with my pcb design with STM32WB55. I'm sending .hex program to the processor via STM32 programmer. I want to start "make alive" all peripherapls. I started simple with LEDs (see code). And the LEDs doesn't turn on. Please do you where is the problem? /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2024 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Includes --------------------
Hello ST Community,I recently encountered an issue that I have not come across before and am hoping someone can offer some insights.I have a custom board based on the STM32WB microcontroller, where I am trying to connect an I2C device. The board is able to detect other test I2C devices without any problem. However, it fails to detect a specific target I2C device that I’m using in my application.To rule out any issues with the I2C device itself or the code, I tested the same I2C device on a Nucleo board with the same code, and it works fine – the device is detected without issue.What I find puzzling is that the custom board can detect other I2C devices just fine, but not this particular one. I’ve checked the wiring, and everything seems to be set up correctly.Has anyone experienced something similar or have any suggestions for further troubleshooting? Any comments or hints would be greatly appreciated!
Hi,I have downloaded the example BLE_ApplicationInstallManager application for STM32WB7.As suggested in the readme-BLE_ApplicationInstallManager.bin was loaded at 0x10040000.My BleApplication.bin (embedding OTA service) was loaded at 0x10041000.Noticed that, on reset my BleApplication doesn't run.I noticed Application/User/Core/main.c is only initializing the HAL. NUCLEO-WB07CC/Applications/BLE/BLE_ApplicationInstallManager I expected something similar to NUCLEO-WBA55CG/Applications/BLE/BLE_ApplicationInstallManager/Core/Src/main.c What am I missing?Regards,Ashish
Hello all, I have a very strange issue with QSPI peripheral. I am using it to store logs in external memory. The flash that is used is MT25QL256ABA with a custom STM32WB55 board. I have connected PModSF3 using jumper wires that are at least 15cm long. Issue: When I use the FAST READ (single data line, 1-1-1 mode), it works perfectly fine. I am able to validate it with the hex dump of a buffer that writes ASCII (0-9). But when I use it in QUAD OUTPUT FAST READ (1-1-4), I get some missing data that is probably shifted. I have specified two dummy cycles based on the datasheet. Tried increasing it, does not make much of difference.But reducing the clock speed by a factor of 100 seems to help, but then quad mode is useless. The code is based mostly from the ST examples. Can anyone help me in figuring out the issue? I can provide more data if needed. static bool qspi_flash_read_fast_single_line(size_t address, uint8_t* pBuf, size_t len
Hello community,My problem generally consists of connecting and reading a BLE device into a BLE mesh network.The BLE device is a B-WB1M-WPAN1, from which I want to receive temperature data. I have written my own service and characteristisk for the temperature data. I can read out the data via the ST BLE Toolbox app.I would now like to receive this data with a P-Nucleo-WB55 and transfer it to a mesh network. I can read out the mesh network and other sensor data from the P-Nucleo-WB55 via the ST BLE Mesh app. I use the sensor model and the example project BLE_MeshLightingPRFNode for this. Unfortunately, I am unable to recognize the B-WB1M-WPAN1 and transfer it to the mesh.I am trying to run the sensor client model in parallel or alternately with the sensor server model. But what is the best way to realize this? Where in the code could I best program the switching on and off of the client and server?Is that even the right way?Best regards
Hey guys, I have NUCLEO-WL55JC2 board, and I am following a tutorial to learn baremetal embedded programming. The first task is a "hello world" app for UART. So, I just read the doc, and I understood that I need to use LPUART1 which is the default for this board. But, I could not get any character over COM port. Can you please help me? #include "stm32wl55xx.h" #define RCC_GPIOA_EN (1U<<0) #define RCC_GPIOB_EN (1U<<1) #define RCC_GPIOC_EN (1U<<2) #define LPUART1_EN (1U<<0) #define CR1_TE (1U<<3) #define ISR_TXE (1U<<7) //#define SYS_FREQ 48000000 //#define APB1_CLK SYS_FREQ #define UART_BAUDRATE 9600 static void uart_set_baudrate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t Baudrate); static uint16_t compute_uart_bd(uint32_t PeriphClk, uint32_t Baudrate); void uart1_tx_init(void); void uart1_write(int ch); int main(void) { uart1_tx_init(); while(1) { uart1_write("Y"); } for(int i=0;i<1000000;i++){} } void uart1_tx
We are developing a Bluetooth application using the STM32WB55RG. According to the documentation, I found that using the Router and service approach can achieve a one-to-many connection. I want to know if, once a peripheral establishes a connection with the router, it can still connect to other phones. Can the router simultaneously connect to two phones, as shown in the diagram below? Additionally, I found an open-source project on GitHub that has a server-multiple client connection feature, but I am not sure how it is implemented. Could you provide any documentation on server-multiple client connections?stm32-hotspot/STM32WB-BLE-sensors-multiple-links: This example implements a multilink communication between a STM32WB5MM-DK board and up to 8 smartphones through Bluetooth® LE
HiI'm working on a project where I have to take the humidity and temperature measures of the soil, and send them to a LoraWAN getaway. The problem is that I have to use the STM32L010F4P6 microcontroller and the RF module LAMBDA62C-9S. My question is if the i-cube-lrwan software expansion can help me to load the LoRaWAN firmware in the microcontroller and use the Lambda module to do this.
There is a utility to update the EMW3080 to version 2.3.4 on the STM32H573I DISCO but how can I revert to a previous version?Is the source available for the update utility so I can replace 2.3.4 with 2.1.11?Thank you
Hello,I am using the BLE_p2pServer_ota example from the STM32Cube_FW_WBA_V1.4.1 firmware package.For testing purposes I would like to set different channels/frequencies for TX/RX (2402, 2440, 2480 ... MHz). Where can I find the corresponding functions for setting them?
Hello, I am using CubeIDE v1.16.1 and I want to export a modified project from the firmware package STM32Cube_FW_WBA_V1.4.1. I modified the project directly in the corresponding example folder and it works successfully. Then I wanted to export the project. I tried different methods (copy, export & import), but I always got error messages when I tried to compile the exported project. My STM32Cube_FW_WBA_V1.4.1 firmware package is located in C:\Users\Frank\STM32Cube\Repository and I know that the projects use relative paths to the Drivers folder. But is there a way to export the project?
Hi,I have several questions regarding current consumption numbers as they appear in the Datasheet of the STM32WLE5.in Table 28 / Table 29 the current consumption of LORA RX/TX modes is mentioned.I have several questions:1. is it possible to use a TCXO on board and not supply its VDD=1.8V from PB0_VDD_TCXO pin , supply it from an external on board LDO instead?2. if i chose to supply the TCXO VDD from PB0_VDD_TCXO pin - does the current consumption numbers ,that appear in table 28/Table 29 , include this current consumption ? if not - what is the delta current for this in each power state (RF RX , RF TX , RF not used) ?3. is the internal on chip regulator that supply the PB0_VDD_TCXO - an LDO or SMPS ? Thank you,Viola
Hi,i use the example BLE_p2pServer_ota with STM32WBA55. When i scan the device, i get the advertising elements in this order:I want to swap the first both elements. How and in which file can I change this order?
Hi Guys,I was planning to start a project using the STM32WB55 chipset to implement a device capable of connecting to both Zigbee and BLE devices via a dynamic concurrent mode approach. I was able to confirm that this device supports it from the thread https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32WB_Dynamic_concurrent_mode_BLE-Zigbee I'd also like to confirm if the WBA series supports this feature. Given that the WB55 is a dual-core (M4/M0+), and the WBA series is based on the M33 core, I need to verify if the WBA series can support Bluetooth Low Energy® and Zigbee dynamic concurrent mode for this project. I couldn't find anywhere specific that says it doesn't support dynamic mode and I guess WBA is a very different series compared to WB. Please share your knowledge on this.Looking forward for your response.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.