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 have an STM32WB design using I2C to get 6 bytes from a BMI0888 every 50ms (triggered by an external interrupt). The interrupt sets a flag in my main loop to go get the data. The devices first requires you to write the desired register, then read the 6 bytes. If I use back to back calls to HAL_I2C_Master_Transmit followed by HAL_I2C_Master_Receive, it works great. See figure 1 below. That will happen every 50ms. I am now trying to do this using the interrupt versions of the functions. If I try and use HAL_I2C_Master_Transmit_IT and HAL_I2C_Master_Transmit_IT. I again use flags to inform my main loop what to do. The external interrupt flags the loop to perform the transmit, then the HAL_I2C_MasterTxCpltCallback informs the main loop to perform the receive, and then HAL_I2C_MasterRxCpltCallback tells the main loop the data is ready. I get all of these interrupts, however the data isn't actually read
Hello,I want to be able to perform OTA updates of nodes in a bluetooth mesh network. Therefore I want to add a service and a characteristic to the existing BLE connection between a proxy node and a smartphone/PC. Currently, only the mesh provisioning service (UUID 0x1827) is present on the STM32WB using the example program BLE_MeshLightingPRFNode for the STM32WB55.Could you please provide some guidance on how to add an additional characteristic to a BLE connection of a mesh node?I've tried to add an additional service using the functions aci_gatt_add_service(...) and aci_gatt_add_char(...) to add a characteristic. I've tested calling these functions from different places in the program flow. Calling these functions before MESH_Init(...) in Middlewares/.../mesh.c or after MESH_Init(...) both didn't work. If someone has a suggestion how to do it, I would be very grateful. Thanks
Curious regarding using ACI_GAP_SET_AUTHENTICATION_REQUIREMENT to change the fixed pin after already using a different pin key for a previous connection. Would that work? Any bad consequences?
Hi can MCU STM32WL33 - QFN32 work with the balun BALF-SPI-01D3? Where can I find the solution on 2-layer PCB (for 868MHz)? // for Antenna johanson 0868AT43.. regards zbyno
Hello community, I am trying to read a characteristic before each advertisement on BlueNRG-2 devboard. I started from the example BLE_Sensor_Demo, I adapted the services and characteristics. I want to use a characteristic as a flag. When characteristic is 1, I send data in my eddystone advertisement payload, when 0, I don't. For this, I need to read the characteristic before advertising. I guess I need to do that in my App_Tick, but I don't know with what function. Can someone give me support please ? Gaétan
I created a custom application using the code from the BLE_THREAD_DYN example and the v10.0 FW BLE_THREAD_DYN stack. The BLE works fine but the thread stack goes down after a few minutes. The main differences between my code and the example is that I converted the code to use FreeRTOS but I preserved most of the logic and structure. Upon initial system power on, the stacks both initialize and go up just fine with the device meshing with my existing thread network. However, after a few minutes the device disconnects from the thread network and the node never reconnects but the BLE remains active. I'm troubleshooting the issue but any breadcrumbs on how to converge on the problem more quickly would be much appreciated. Update 3/3/2021 @ 1:50PMWithin the initialization of both stacks, I commented out the BLE initialization and only ran with the Thread stack active using the v10.0 BLE_THREAD_DYN firmware. The issue persisted with the Thread stack going down after a few minutes -- the amoun
From the STM32CubeWB firmware package, there is a Thread_RCP project. However, there doesn't seem to be any documentation for it (it is not even mentioned in AN5289). The only hint is the readme.txt file which says: "This application is used to demonstrate the OpenThread Border router feature using an STM32WB device.To play with the demo, you need a Raspberry Pi 3B (RPi) to perform the link with Wi-Fi/Ethernet networksThe full setup and the associated documentations can be requested to ST on demand".Where can I find the full setup and associated documentation?Thank you,
Hello everyone, I hope you are well.I'm working with the STM32WB55. I'm having difficulty getting RTC to work correctly.The VBat is always powered by 3v3, I have an on/off switch that only removes the power from the VDD, however, when I turn it off and on the microcontroller is stuck in the routine: "while (LL_RCC_LSE_IsReady() == 0U)". I noticed that when CFG_HW_RESET_BY_FW is 1, the board continues to function, but it resets the RTC registers and the time is lost and when CFG_HW_RESET_BY_FW = 0, the firmware is stuck in the "while (LL_RCC_LSE_IsReady() == 0U)" routine. Looking through the oscilloscope, the clock is all right.Can anyone help me? Thank you very much!
Currently, there isn't any support for Amazon Sidewalk for the STM32WL. The only supported vendors are Nordic, Silicon Labs, Texas Instruments, and Quectel. Reading through the AWS Sidewalk spec, it seems like the chip could support it in CSS and FSK mode. Is ST working with Amazon to implement this? When would something like this be available?
Hello,we use an STM32WB55 with an RTC backup via a super capa.when the Vbat voltage drops below 0.6V, the RTC registers are no longer incremented.if the board reboots at this point, we have a datetime offset.is it possible to detect this problem when the STM32WB55 starts up?thank you in advance for your help
I am using STMcube ide for developing applications with STM32WB5MM-DK. I will be trying to use the OLED display and gyroscope of the discovery board. I couldn't find suitable tutorial or documents for accessing. Is there any documents available for the same
In the manual it says that a stop command will be sent with the next byte if the CR2 stop flag is high. Is there a way to send a stop command immediately rather than with the next byte? I'm asking because I have a section of code where I send a start command (with the slave address) and then I repeatedly send data. I would like to be able to terminate this data loop whenever I need to, rather that needing to write out another byte of data.
When configuring BLE using STM32CubeIDE Device Configuration Tool with a custom template I can only set up to 5 services and 5 characteristics per service. What is the reason for that? Is there a possibility to set more services and characteristics per service?STM32CubeIDE 1.6.1STM32WB5MM-DKThanks!
Hello,I'm currently working with an STM32 microcontroller, and I'm facing a challenge related to the internal Real-Time Clock (RTC). Specifically, whenever I attempt to set the date and time using the internal RTC, my system crashes. I've reviewed the code and checked for potential issues, but I haven't been able to identify the root cause. Has anyone in the STM32 community encountered a similar problem when configuring the internal RTC? If so, could you share any insights, potential reasons for this behavior, or troubleshooting steps that might help me resolve this issue? Your assistance would be greatly appreciated as I work to address this problem in my project. Here my Set date and time function,"/*** @fn ErrorStatus RTC_SetTimeAndDate(void)* @brief Function to use Set date and time into Internal RTC** @return SUCCESS / ERROR*/ErrorStatus RTC_SetTimeAndDate(void){ RTC_TimeTypeDef sTime; RTC_DateTypeDef sDate; if(HAL_RTCE
Hello, I am currently building an application for the STM32WL. Two processes need to run simultaneously, the first is offline, and just reads data from a sensor and stores it in SD memory. The second is sending a LoRaWAN up-link message every 10 minutes (battery health monitor data). I am basing my project on the LoRaWAN_End_Node_DualCore_CM0PLUS project. I can see that the subghz radio runs on the CM0Plus, but the LoRaWAN network middleware files are on the CM4. In summary, I am wondering if it's possible to send an uplink message through the radio driver with the CM0 while reading data through I2C on the CM4. Is it possible to multitask like this? Sorry for the beginner question.
Hello everyone, So I'm following the tutorial here https://www.st.com/en/embedded-software/x-cube-ble2.html to try a BLE connection from the nucleo-WL55JC2 connected to the BLE expansion board X-NUCLEO-BNRG2A1. I followed the tutorial and run the program SensorDemoApp but when I open the app on my iPhone It doesn't detect the board.Can it be due to some issue in the clock configuration? Or maybe the connection between the board and the expansion board? The tutorial I followed is in the pdf attached. Does anyone have an idea?Thanks for your time
Dear ST Support Team,I am currently working on a project involving the STM32WB series microcontroller and its BLE_LL capabilities. In a previous project, we utilized the BlueNRG proprietary stack and achieved a minimum delay of approximately 250 microseconds between two messages.For the STM32WB, we are planning to use the BLE LL (Link Layer) driver stack. Could you please provide information on what the minimum delay between two consecutive (non_BLE) messages is when using this stack? What is the minimum time what can be reached by tweacking? Understanding this will help us in optimizing our application's performance and ensuring seamless communication.Additionally, any guidance on configuring the BLE LL stack to achieve the shortest possible delay would be highly appreciated.Looking forward to your valuable input.Best regards,
Hello, I tried many times(with different browsers) to download the package to use it with the BLE-NRG2-Module(Evaluation-Board). The Page keeps looping between login and the main-page with no success. Thank you Amir
Hi I have a infinite loop that wait an event set in a gpio interrupt bywhile(1){UTIL_SEQ_WaitEvt()...}It works.Now, I want have a timer after this so, if the interrupt doen't fire for some second, I want to exec a callback function.I added after UTILS_SEQ_WaitEvt HW_TS_Start(idTmr,TMOUT);The timer and callback function was created before the loop.After the timer Start function , the interrupt works but the WaitEvent doesn't fire anymore. Someone can help me?Thanks
Hi I tried doing the following with my custom PCB that contains STM32WB5MMGH6TR Install stm32wb5x_FUS_fw.bin. Install stm32wb5x_BLE_Stack_full_fw.bin I am wondering why my custom BLE_HeartRate code in STMIDE does not work when I upload to the MCU? The original BLE_HeartRate code works as well as BLE_BloodPressure. My code is using a blend of BLE_HeartRate and BLE_Sensor (from discovery kit) because of BLE_Sensor's P2P capabilities. I think primarily the issue is the BLE_Sensor example does not work. Why is this??? Again, BLE_BloodPressure and HeartRate does work... This is not the case for my other previously flashed boards. I am using a STM32WB5MMGH6TR (same MCU associated with DK) MCU on my custom PCB. Please advise as I am quite confused on the matter...
Hi,I am looking for the BLE AT server example created using a recent STM32CubeIDE release (1.14.0+) for the STM32WB5MM module. I can't find it.The most similar project I found was to open in STM32CubeIDE 1.14.1 the AT server example provided for the P-NUCLEO-WB55.Nonetheless, there are some inconveniences working with this project:- The project folder structure is different than the projects created using STM32CubeIDE. Search into file does not take into account the .h files because they are apart from the project structure. I need to search in .h files using other editors' tools.- There is no CubeMX .ioc file- The _RAM.ld file is not in the project.- The _FLASH.ld file is also different from a _FLASH.ld file being created for a new project for STM32WB5MM module.It would be great to have a brand new project on the following STM32CubeWB package that can be directly opened and modified in current STM32CubeIDE versions.Modifications I did to adapt the BLE AT server example from P-NUCLEO-W
I am using the STM32WL55JC I tried the Ping-Pong single core code from the latest STM32WL package and it works pretty fine, I want to code the Rx and Tx separately but I am not able to duplicate the example code So I decided to code the Ping-Pong example code from scratch. I configured all the sections as like in the example code .ioc file except the SubGhz parameters in the Middleware section, many parameters are not available but those are configured in the example folder. How do I proceed further in creating the ping-pong code from scratch, how to configure the SubGhz parameters in the middleware section. Or how to duplicate the example project.These two are the configuration file of the Subghz Ping-Pong code that I am trying from the scratch. This is the SS of the configuration file of the example ping-pong project folder.
Hello, I'm working on the Wifi on the board B-U585I-IOT2A. I'd like to connect 2 modules, including the microcontroller, to the same wifi so that they can communicate with each other.I've made some research about Wifi MXCHIP EMW3080 and example HTTP_IOT_HTTPSERVER but i still not succeed to connect any network by taking parts of the codeHas anyone ever encountered this problematic before ?could the lwip library be useful? Thanks you for your help.
Hello, I am using STM32WB55RE (MCU) in my custom HW. For testing the HW I have flashed BLE_HeartRateFreeRTOS example firmware. "..\..\STM32Cube_FW_WB_V1.16.0\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_HeartRateFreeRTOS" I am getting the advertisement of the HRSTM. So HW is working now but some how I am not able to reflash it. Looks like my flashing setup stopped working. I have rechecked all the flashing connections. 1. NRST 2. SYS_JTCK_SWCLK (PA14) 3. SYS_JTMS_SWDIO (PA13) 4. GND Can you please help to fix this issue? Thanks.
Hi all,We have a sporadic issue which is difficult to debug. Maybe you can give some advice / solutions / hints? Any input is welcome!We are working on an application based on the project LoRaWAN_End_Node_FreeRTOS of STM32CubeWL V1.3.0, board: Nucleo-WL55JC1. We frequently add small updates and re-build the application (build system: CMake). The application usually works for many days without issues. However, in some builds we observe sporadic errors: the application hangs with interrupts disabled, so that the watchdog (IWDG) resets the MCU. We are positive that the program does not get stuck in an interrupt/exception-handler, because we instrumented them all.Software components used:FreeRTOS V10.2.1LoRaWAN stack by STUTIL_ADV_TRACE (HAL_UART_Transmit_DMA)UTIL_TIMERUTIL_LPMIWDG... from package STM32CubeWL V1.3.0.One specific build of the application shows the following behavior: Reset; LoRaWAN join; transmit/receive data packets every 60 s; at uptime = 541 s: application hangs after wa
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.