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 All, Recently I started working on the GNSS with STM32, I am very new to STM32 eco-system. I have a IRNSS click from MikroE which has L89H and I am trying to integrate L89H with STM32WL55JC1 controller. I have implemented the UART with DMA to receive NMEA messages from the L89. I have connected TX, RX, 3,3v, GND pins to STM32's RX, TX, 3.3v, and ground. But when I execute the code no NMEA messages are displayed on the serial monitor. I don't know where I am going wring and I would appreciate to have help for me in this situation. Please let me know if all the connections are correctly done or do I need to connect any additional pins to my STm32 controller. And if any additional information is required to debug the situation I am happy to share the details.Kind regards, Pavan
Hello,I am trying to commissioning NUCLEO-WB55RG Matter thread end device. It fails to commission and connect.Reference Source Code used:Matter beta version for STM32 Github repo: github.com/stm32-hotspot/stm32wb-matter-device-over-thread Setup:1. Matter Thread End DeviceBelow binaries flashed on the STM32 Matter Thread End Device(NUCLEO-WB55).1.1. FUS: "stm32wb-matter-device-over-thread-main\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_FUS_fw.bin" 1.2. BLE Stack: "stm32wb-matter-device-over-thread-main\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_BLE_Thread_ForMatter_fw.bin" 1.3. Application: "stm32wb-matter-device-over-thread-main\Projects\P-NUCLEO-WB55.Nucleo\Applications\Matter\Lighting-App\Lighting-App.bin"2. Border router Raspberrypi(Host) RCP Device(Silabs RCP device)3. Host as a mobile app(chiptool)Also find the Attached logs captured on End device and Android Application while doing commissioning.Please share us th
After some activity using BLE in the background and UART as well as some EXTI on application side, the consumption jumps from 2,4µA to 4mA, so obviously I have a wakelock. If I hotplug to the system afterwards, I can see in PWR_EXTSCR that Stop mode is no longer actually reached (C1STOPF is not set). But checking ISPR I can not see any pending ISRS (the one after Stop is the LPTIM of my OS).What else can prevent the CPU from entering stop? Which registers should I check?
I'm using a STM32WB5MMG chip and I'm trying to receive data with the HAL_UART_Receive_IT() function. But for some reason the HAL_UART_RxCpltCallback function never gets called. Receiving data with blocking mode works, but with an interrupt it doesn't want to workI have enabled the global interrrupt of the USART with CubeMX and I still see that the box is checked.The code I have written should wait until it receives 4 bytes, then echo those bytes back and start waiting again.void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { HAL_UART_Transmit(&huart1, rxBuffer, 4, 100); HAL_UART_Receive_IT(&huart1, rxBuffer, 4); } int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the s
Hello all.I am trying to build up a LoRaWAN end node on a single core STM32WLE5. I am new to LoRa development and thought I would leverage the repo LoRaWAN_End_Node which uses the dual core (STM32WL55 Nucleo). I went ahead in the ioc and tried my best to match up everything HOWEVER there is one piece that seems to be critically different and I don't know how I should set up my settings to account for this....The RTC section on the WL55 seems to be scaled down quite a bit in the Parameter Settings section compared to WLE5......Can someone tell me how to go about setting up the WLE5 RTC section such that it would work for LoRaWAN and be comparable to the WL55 setup? thank you.
Hello,we are currently evaluating whether the STM32WB10 is suitable for a new project. Even though the project will not use wireless connectivity, the STM32WB10 is interesting to us because it is used in high volume in another project and is therefore reasonably priced. According to the data sheet, it comes with 48KB RAM and 320KB flash.Since we will not be using CPU2, SRAM2 will not be used by it. SRAM1 alone is not enough for our application, so we need to have access to at least SRAM2a (36KB) to get our application running.After studying the documentation it seemed to be possible to make SRAM2a and SRAM2b available to CPU1 via the option bytes (RM0478 chapter 3.10.18 and 3.10.19).After trying this out with Nucleo-WB15CC it shows this is not the case at all. I tried configuring FSD, BRSD_A, SBRSA_A, BRSD_B and SBRSA_B, but this did not yield any success.When writing with STM32CubeProgrammer, errors like the following showed up in the log:"Error: Expected value for Option Byte "BRSD_B
STM32 - STM32WB55CGU6 Antenna - 2450AT18B100E Filter - MLPF-WB-01E3 Hello everyone, please help me fix the problem with my custom PCB board and BLE. The antenna on the board won’t work (I don't see my device via Bluetooth) in any way and I don’t know where to look, can anyone implement Bluetooth via filter MLPF-WB-01E3 and antenna 2450AT18B100E on STM32WB? I suspect that there is a problem with the board since I run similar code on Nucleo and I can see the device through my phone but I can't see the device through my phone Does anyone know how to check where the error is, and to check if I designed the board correctly?
Our STM32WB55 user application is currently in the HardFault_Handler. (Full disclosure: I am not an embedded developer at all, I have never debugged such a problem, so I'm not really knowing what I am doing. I need precise, detailed step-by-step instructions in the form of "Click here, type this, copy that part" etc.)I have been trying to find out what the problem is using this article:CFSR is 0x8200 (PRECISERR, BFARVALID)BFAR is 0x20040000 However, I am stuck at trying to display the stack frame. All of the "svd" commands to debug further along that article are unknown to the "Debugger Console" tab in the STM32CubeIDE, and the "p/a *frame" command says there's no symbol "frame" in current context.The stack trace indicates it's a problem from within the X_CUBE_CRYPTOLIB, when calling in "cmox_rsa_pkcs1v15_encrypt", the exception occurs in cmox_bn_cCopy. This method has been called thousands of times and never failed, so I don't know what's wrong.The best I could do is inspect my c
Hi, I have STM32WB55.It has 1 UART and 1 low-power Uart (lpuart). And I have SDI12 sensor.I have successfully read whit lpuart SDI12 protocol sensor. But now I want to use ZigBee to send data that I read from the sensor to the Zigbee coordinator. I can see Zigbee uses lpuart, as there is no UART left, is it possible to use on STM32WB55 Nucleo board Zigbee and sensor whit SDI12 protocol?Is there something like SoftwareSerial for Arduino?Thanks.
I'm following this tutorial by the official ST YouTube channel giving a step-by-step guide on sending sensor data to your application server through the network server The Things Network. I have been able to do the tutorial, but I would like to add an additional parameter to the data I'm sending (Particulate Matter Count). I have been able to interface the PM sensor to the board successfully through the I2C bus and I am able to read the data from its registers and process it to give the correct value. This is data I want to be able to send along with the temperature data, but making changes and additions to the payload is not covered in the YouTube tutorial. Can anyone here provide me with some assistance? :D
Hello,Please suggest us, external antennas for STM32WLE5CC for IN865, for longer range coverage.Thank You
I use RAK3172 and I've follow the "RAK3172 on STM32CubeIDE with STM32WL SDK v1.2.0" article, and every things go well with the project named "LoRaWAN_End_Node", except the .ico file is not for STM32WLE5CCU6. How can I change this?
I am trying to implement an HCI interface and the stack is reporting almost nothing supported in the HCI_READ_LOCAL_SUPPORTED_FEATURES command. Why is this? Is there a way to enable the features? I am using stack v1.16. I have tried multiple variations of the stack.
I am trying to follow the "STM32WB Getting started Series: Part 12b lab..."(https://www.youtube.com/watch?v=CKYWy7LKL68&list=PLnMKNibPkDnG9JRe2fbOOpVpWY7E4WbJ-&index=16) on youtube. In the video he is using a WB55, but I am trying to implement it on a WB15 (both Nucleo).But, it does not work on the WB15 board. When I try it on the WB55 board, it works fine.I have been combing through the video trying to see if I have a setting somewhere that is different, but nothing jumps out.If I open up the P2P example project from CubeMX, it works just fine, so the BLE stack is working fine on the WB15 board.I am hoping there is just some setting I am missing, because the project will eventually have to run on a costum board with a WB10 :\ RegardsRolf
So, when I first connect to my USB implementation and send the first 3 bytes to the command/control interface I get 3 zeros. It is not what I sent and interestingly enough I do get the bytes I sent the first time on the next 3 bytes. I have no idea what is causing this behavior and I have verified with a USB sniffer that the zeros are not being sent over the wire. This is very consistent and I have no idea whats happening. Any ideas?
Hello...I am using a Nucleo WB55 board. I can run the FLASH_EraseProgram that comes with the WB55 example code successfully. I have pre-existing code and am trying to pull this into my code. I have checked the PWR and the Flash SFR in the debugger between the two codes (the example and mine) and they look the same. When running my code I get a HardFault Interrupt and when running the example I do not.....Can anyone give me a reason why the following line of code is causing me to get a HardFault Interrupt?This line of code is in function FLASH_PageErase (stm32wbxx_hal_flash_ex.c). It is being called from HAL_FLASHEx_Erase function within the same file. MODIFY_REG(FLASH->CR, FLASH_CR_PNB, ((Page << FLASH_CR_PNB_Pos) | FLASH_CR_PER | FLASH_CR_STRT));
I'm new to working with STM32, and I'm having issues getting some kind of output to the console (have been using both Tera Term & the built-in console in STM32CubeIDE) when working with the Steval-Proteus1 board. I tried following two seperate guides "How to redirect the printf function to a UART for debug messages" & "How to wake up the STM32U5 from STOP2 using LPUART". The boards are different from Steval-Proteus1 but I figured the principles would be the same and I just had to adjust the pin assignments.In my latest attempt, I created a blank project in STM32CubeIDE with MCU: STM32WB5MMGH6TR. I set LPUART1 mode to asynchronous and assigned pins PC0 and PC1. Below is two screenshots of the schematic for Steval-Proteus1 with the first being the MCU on the board and the second being for the connector connecting to the ST-Link-V3.Here is the code I used from the guide "How to redirect the printf function to a UART for debug messages". Note that in: HAL_UART_Transmit I use &h
Hello everyone, I am trying to make a project with pingpong application. I am trying to add some sensors and fft algorithm in ping pong example. In normally I can use my FFT algorithm with ADC-DMA in while loop(). HAL_ADC_Start_DMA(&hadc, (uint32_t*) rxBuf, 8192); arm_rfft_fast_init_f32 (&fft_handler, 2048); while (1) { int fft_in_ptr = 0; if (callback_state == 1) { for (int i=0; i<8192; i=i+4) { fft_in_buf[fft_in_ptr] = (float) ((int) (rxBuf[i]<<16)|rxBuf[i+1]); fft_in_buf[fft_in_ptr] += (float) ((int) (rxBuf[i+2]<<16)|rxBuf[i+3]); fft_in_ptr++; } DoFFT(); } if (callback_state == 2) { for (int i=0; i<8192; i=i+4) { fft_in_buf[fft_in_ptr] = (float) ((int) (rxBuf[i]<<16)|rxBuf[i+1]); fft_in_buf[fft_in_ptr] += (float) ((int) (rxBuf[i+2]<<16)|rxBuf[i+3]); fft_in_ptr++; } DoFFT(); } } } void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) { callback_state = 1; } void HAL_ADC_ConvCpltCallback(AD
..
Hello,I am trying to implement the update procedure for the wireless stack in our custom firmware.The development is currently performed with the NUCLEO-WB55RG development board to avoid having to worry about the special features of our custom hardware.We currently have 4 boards that are bricked so it is no longer possible to install or start the wireless stack in any way.The cause of the failure of the first three boards is unknown, as it was first discovered that they were bricked after a lot of time was spent of time trying different things to try to understand why the commands kept failing.On these boards, both FUS and the wireless stack report version v0.0.0.0 in STM32CubeProgrammer, SFSA is 0xf4 and SBRV is 0x17000, 0x17400 or similar values.The fourth board failed while trying to update it: After calling FUS_FW_UPGRADE and receiving the response, the CPU was reset by mistake, the update continued, but got stuck later in the process.After a couple of minutes, a manual reset was p
Hi,I do not have much SW experience, so I am struggling a bit to wrap my head around some things...I'm trying to set up a project in CubeMX for a STM32WB5x Thread application.In the STM32_WPAN mode configuration, there are 2 UART parameters in the Configuration tab (CFG_DEBUG_TRACE_UART, CFG_CLI_UART) that are resulting in the red (or magenta) error symbol shown next to the STM32_WPAN item in the Middleware category (on the righthand side of the application).I'd like to setup an application using the API to interface with the Thread network (without a UART CLI).I do not find an option where I can disable Thread_Cli_Cmd. I've not been able to find documentation, or examples detailing this anywhere.If anyone has experience with setting up an openthread project in the STM32WB5x, or can point in towards some useful resources, I'd really appreciate the help.Thanks
On HyperTerminal, I just see :[M4 APPLICATION] ConcurrentMode = 0[M4 APPLICATION] ==> Start_BLEOn debugging, the software infinity loops on BLE stack starting up on CPU2 in :-> APP_BLE_Init-> SHCI_C2_BLE_Init-> shci_send-> shci_cmd_resp_wait-> UTIL_SEQ_WaitEvt : whille loop on line 447Is there any extra operation to do before using this example code ?Have you any idea why this loop occurs ?Thanks in advance.
According to the Datasheet, MCO on the dual core WB chips is available as an "SYS_AF" and an "RF" alternate function. Does this has an impact if I want to use them from the main core?
As far as I can see, if an OTAA join request does not succeed on first attempt, it will not be retried until an interrupt/event starts another SendTxData callback, which calls LmHandler's LmHandlerIsBusy, which will retry to join, but will return true, which leads to data to be sent being discarded.On frequent events, that might not be an issue, but for sensors with rare events and bad link quality, this might not be optimal. Should this template be adapted maybe?
I want to use USB as CDC device for virtual com port along with MAC 802.15.4 FFD example code i did following steps but computer didn't detect USB device.1) I added all the files from USB_Device folder to MAC 802.15.4 FFD code.2) In middlewares added STM32_USB_Device_Library.3) extern extern PCD_HandleTypeDef hpcd_USB_FS; in stm32wbxx_it.c file also added definition of USB_LP_IRQHandler() function.Thank you in advance for your help
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.