TODAY | STM32 Summit 2026
Ask questions and discuss STM32 wireless solutions and their implementation for running Bluetooth LE, Zigbee, LoRaWAN applications.
Most recent activity
Iam trying to setup SPI1 on STM32WB nucluo (STM32WB55RGVx), I made a configuration trough the STM cube and do some adjustments, the problem is that in every sequence iam trying to transmit with HAL_SPI_Transmit is a gap for couple of microseconds. Then the sequence follows normally.Firstly i thought, that the problem is caused by RTOS since i use the mbed, but when the issue was not resolved even if i configured transmit over DMA. Is there any chance that this is the problem of SPI or clock configuration?SPI Configuration:static void MX_SPI1_Init(void) { /* USER CODE BEGIN SPI1_Init 0 */ /* USER CODE END SPI1_Init 0 */ /* USER CODE BEGIN SPI1_Init 1 */ /* USER CODE END SPI1_Init 1 */ /* SPI1 parameter configuration*/ hspi1.Instance = SPI1; hspi1.Init.Mode = SPI_MODE_MASTER; hspi1.Init.Direction = SPI_DIRECTION_1LINE; hspi1.Init.DataSize = SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH; hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; hspi1.I
I have managed to build the STM32WB Zigbee example applications using Atollic TrueStudio after some massaging. When I program the STM32WB Nucleo board with the binaries that I build, however, the program enters a hardfault when it calls into the provided library for zigbee operations with the coprocessor, stm32wb_zigbee_wb_lib.a. I have also tried building this project using a trial version of IAR embedded workbench, the IDE for which the project is provided. When I load THAT binary, the program is able to execute successfully.Other notes:I have loaded the zigbee firmware provided onto the coprocessor in the board.I needed to create a new linker script and startup assembly file after importing the SEW project into TrueStudioThe TrueStudio Fault Analyzer is indicating that a Usage Fault has occurred when the Hard Fault Handler is triggered in the program.Any guidance on how to approach this issue would be greatly appreciated; has anyone been able to get this program running without purc
I have a struct defined as:struct sendIP_struct { char node_type[12]; char description[8]; uint32_t uid; } msgSendMyIP = { .node_type = NODE_TYPE, .description = NODE_DESCRIPTION, .uid = 0 };I take this struct and append it to a thread response message by calling otMessageAppend with no resulting errors. However, what I noticed is that if I pass this struct with .uid defined as anything but 0, otCoapSendResponse returns OT_ERROR_PARSE. Per RFC 7252, section 5.2.1, I am trying to do a legal "piggybacked" response to a GET request.After further testing, I found that it did work when I changed the last element in the struct from uint32_t to uint64_t.struct sendIP_struct { char node_type[12]; char description[8]; uint64_t uid; } msgSendMyIP = { .node_type = NODE_TYPE, .description = NODE_DESCRIPTION, .uid = 0 };I set .uid to a value other than null and it all seemed to work just fine with the response being sent and no errors returned.
Hi, i am trying to get familiar with stm32wb55 BLE functionality. As a part of it, i tried with Hear rate profile application example. when i run this application, i am able to pair with ST BLE Profiles mobile app successfully. How ever when i tried to connect with a Windows 10 PC, i am unable to pair STM32WB55 nucleo board with the PC. I would like to know this pairing procedure. Is it possible to connect STM32WB55 nucleo board with the PC via BLE. could i get any reference document on this. We have a requirement to connect STM32WB55 nucleo board with BLE application in PC.
When generating project with BLE "Utilities" folder is marked "Exclude resource from build" but it is necessary for project to compile.
Hello there.I have been trying to send some data over BLE, but am facing some challenges. When I use TEMPLATE_STM_App_Update_Char();function to transmit something, it throws a hard fault. The BLE seems to be initialized properly, and is advertising and pairing nicely. Could anyone guide me to the simplest method for BLE transmission in STM32WB? By "simplest", here, I mean the process that consumes minimal time, or has minimal overhead. My application requires to transmit 40 bytes at not less than 1KSPS.It would be really appreciable if someone could help me through this.
..
Hello Everyone,I've been messing with the OpenThread API for the last few days and I have been scratching my head on trying to get the mesh local EID IPV6 address using the API. So when running CLI CMD example application, after connecting the nodes, you can clearly see all the IP values when entering "ipaddr" and that's essentially what I want in my program, specifically the mesh-local EID. However, I tried otThreadGetMeshLocalEid but the memory location returned is just empty. I also tried to look at the memory locations for the returns of otIp6GetUnicastAddresses and otIp6GetMulticastAddresses. I know my node is on my thread network because I am validating with other nodes running the CLI CMD example. My naive mental model is that if I can do it in the CLI CMD example, I should be able to do it with my own application using the given API for IPCC.Anyone have any suggestions?I am aware that the multiboard example for the STM32WB Nucelo board uses static IPs that are allocated by the
Hello,I develop on both Nucleo-WB55 and my own board with STM32WB55CG.When I use the Nucleo, everything works fine.When I use my own baord, I see the device in my smartphone application but I can't connect.I began to dig in and I found that when I use Nucleo, while connecting to smartphone, the software runs thru state EVT_LE_PHY_UPDATE_COMPLETE.But when I run on my own board the software doesn't reach to this state.Why is this different? I believe I'm using with the same stm32wb5x_BLE_Stack_fw.bin.Thanks,Lior Malik
Greetings,We're looking into the low power modes of the STM32WB. Our measured consumption in Stop2 on our custom PCBA is very close to the expected value. However, in reset (holding the reset button), the MCU is not drawing what we'd expect.For comparison, we put the Nucleo in reset and we find that the current draw is substantially higher than the DS describes. The DS says the MCU should draw no more than 0.75uA while in reset. What we're seeing is 148uA in reset measured at JP3. At JP2, the reset current is 454uA.We've been powering the board from the user USB header, but we see the same currents when we power the MCU from the ST Link USB header.We don't see anything in the schematic that would account for this extraordinary difference. Is there something we've missed? Cheers
Hi everyone,I'm currently working on a STM32WB dongle with an OpenThread MTD co-processor: I've started by modifing the example Thread_SED_Coap_Multicast from package STM32Cube_FW_WB_V1.1.1.I can correctly going in full low power mode (CFG_FULL_LOW_POWER=1) and the power consumption is awesome!Anyway, when I try to get more info about the current network from the OpenThread stack it often returns null pointer (for example when I use otIp6GetUnicastAddresses, otIp6GetMulticastAddresses, otThreadGetLinkLocalIp6Address, and many others functions)Considering that I receive the notifichation from the otSetStateChangedCallback callback and check the role with otThreadGetDeviceRole, I'm sure I'm in the network (and I can both send and receive coap and udp unicast and multicast messages).I also tried by reading the OpenThread CLI source code and by implementing my code using the CLI as a guideline but where the CLI succeeds, I keep failing...At this point: are that function implemented? Am I m
STM32WB50 is available at distributors, but RM0471 (mentioned in datasheet) doesn't seem to be available on product page yet.
Hello everyone,I am working on B L072Z LRWAN1 kit, in which murata LoRa Module is used having STM32L072 controller. I am trying to implement low power modes and running the example code :STM32Cube\Repository\STM32Cube_FW_L0_V1.11.2\Projects\STM32L073Z-EVAL\Examples\PWR\PWR_STOP_RTCI am directly running this code on my board, but it is not working. While debugging i found that it is in infinite loop during clock configuration.Please guide me regarding this and settings i need to do.ThanksShubham
Hello,I tried to build project over KEIL but there is of course problem with linking stm32wb_zigbee_wb_lib.a, keil library has extension ".lib".Next step i used Atollic and option to import IAR project - compilation failed. Compiler can't find files that should be seen...So, I tried to build project from beggining. Everything compiling great but there is a problem with linking stm32wb_zigbee_wb_lib.a, some functions are not seen...Library ".a" for IAR has the same structure that for atollic-gcc? That should work?
Hi,I have a project with heavy constrains on power consumption.I want to completely shut down the supply of the LoRa modem when not in use to save the needed µA.The CPU can save any context needed.The NVM module seems to be the way to go.I've seen some use of it in the lmhandler of the Pattern/Advanced directory but I don't see any example code in the i-cube-lrwan package.Is there such an example code available somewhere?If not, is the lmhandler code known as working? and should I replace the LoRa Basic calls by lmhandler ones?Thanks in advance,Best regards,JC
Hello I am worcking an the P-NUCLEO-WB55 and I try to communicate with a other module with the LPUART. Seeing that I didn't have any responce to my commands, I use a scope to see the TX trame.This is for example the trame of '<' (00111100) .I used the command HAL_UART_Transmit(&hlpuart1, '<', 1, HAL_MAX_DELAY);And there, the LPUART parameters:static void MX_LPUART1_UART_Init(void){ /* USER CODE BEGIN LPUART1_Init 0 */ /* USER CODE END LPUART1_Init 0 */ /* USER CODE BEGIN LPUART1_Init 1 */ /* USER CODE END LPUART1_Init 1 */ hlpuart1.Instance = LPUART1; hlpuart1.Init.BaudRate = 115200; hlpuart1.Init.WordLength = UART_WORDLENGTH_8B; hlpuart1.Init.StopBits = UART_STOPBITS_1; hlpuart1.Init.Parity = UART_PARITY_NONE; hlpuart1.Init.Mode = UART_MODE_TX_RX; hlpuart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; hlpuart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; hlpuart1.Init.ClockPrescaler = UART_PRESCALER_DIV1; hl
we are not Getting non readable value from module also it's not sending to gateway but same cmd working with dock lightmySerial.flush();lora.flush();Serial.flush();digitalWrite(lorapin, HIGH);delay(500);lora.listen();lora.print(“AT\r\n�?);String dr = lora.readStringUntil("\r\n");delay(10);Serial.print(“AT:�? + dr);Serial.println(); lora.print("ATZ\r\n"); String ATZ = lora.readStringUntil("\r\n"); delay(10); Serial.print("ATZ:"+ATZ); Serial.println(); lora.print("AT+NJM=0\r\n"); String NJM = lora.readStringUntil("\r\n"); delay(10); Serial.print("AT+NJM:" + NJM); Serial.println(); lora.print("AT+DADDR=as:23:00:00\r\n"); String DADDR = lora.readStringUntil("\r\n"); delay(10); Serial.print("AT+DADDR:" + DADDR); Serial.println(); lora.print("AT+APPSKEY=90:22:53:85:44:7A:22:32:75:35:26:35:63:30:A9:56\r\n"); String APPSKEY = lora.readStringUntil("\r\n"); delay(10); Serial.print("AT+APPSKEY:"+APPSKEY); Serial.println(); lora.print("AT+DEUI=5bb1605000032as\r\n"); String DEUI = lora.readStringUn
I use B-L072Z-LRWAN1 LoRa®/Sigfox modul, to make communication over sigfox. I made prototype with murata web page , I got PAC and ID in header file, but I exceeded 20 pieces of device, and I need make even more device. On this website linked me with sigfox. build.com and I registred on this site and I got PAC and ID paire. I used PC tool software on build.sigfox.com, to make header file into my project. When application is running, I got normal ID, and PAC over debug port, and I can see all data in the sigfox network emulator software, but sigfox backend receive to me an interesting error: "Invalid private key", I don't understand exactly what it means. How can I build correct header file for my device to communicate correctly? I used "gen_header_murata_with_credentials.c" for made header file. What can I do to resolved this problem? I contacted with sigfox support, but they said me make a contact with ST team. I tried several ways, and key, and make 20 di
Hi, I am trying to get familiar with stm32cubemx usage. For this, i want to update an existing gpio toggle example using stm32cubemx. before the modification, the actual example code compiles and builds with out any issues. where as the same example after adding one more gpio using cubemx gives a lot of build errors. snapshot for the same is given as attachment. may i know the fix for this. Am i missing something during code generation. same errors were observed even after reverting back the changes.
Waiting an app note like F0xx family.Could someone post routines for Page Erase and double Program,synchronized with BLE M0+ core ?
I am building a test application on the P-NUCLEO-WB55-Nucleo and would like to switch between two application states with the push of a button:In the first state, the application writes to an attached microSD card using FatFS.In the second state, the application acts as a USB mass storage device allowing access to the contents of the microSD card.I've been able to implement both states in separate applications. However, in order to do this in one application, I will need to start/stop USB functionality when the application state changes.How would I start/stop USB in my application code so that the board does not enumerate if plugged in while in the first state, but shows up as a USB mass storage device if plugged in while in the second state? The CubeMX generated code seems well-adapted for an application which initializes USB once and then leaves it running until the application shuts down, but I haven't been able to figure out a good way to start/stop USB while the application is run
Hello, I am designing a custom board with STM32wb processor. With nucleo board, there is no problem for programming mcu and flash the wireless coprocessor binary. However, in custom board, I don't want to use usb (extra cost and size). Do I have to flash wireless coprocessor Binary with USB ? Are there any way to flash binaries with swd port ? And also, are there any embedded binary code in chip when we buy them from digikey or anywhere ? If there are, maybe I don't need to flash these binaries. Thank you for your answer in advance,Regards,Burak
Hi,I am trying to initiate a code via cubeMx for the STM32WB55.I want to add freeRTOS together with a p2p_router capability but facing an issue that the both above not supported simultansly.Any special reason for that?Is there a way to achieve that? Thanks.
Hello,I have some problem with running ble mesh on other device than nucleo. Someone tried run ble-mesh example on stm32wb55 with 512kB flash?My all tries was end with HardFault exception.I'm almost sure that M0 course that exception but i have no idea why.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.