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 everyone,How to calibrate the hse clock, I use NUCLEO-WL33CC2 boards.Best regards
1. ContextI'm working with an STM32WLE5JCI6 board and STM32CubeIDE to connect a LoRaWAN device to The Things Network (TTN) in Japan. The gateway I'm using is a SenseCAP M2, and its frequency plan on TTN is configured for Japan 920-923 MHz with LBT (channels 31-38) and (channels 24-31).2. The ProblemThe firmware compiles successfully, and the debug console shows the following logs:Join Request started.Join Request finished.However, I'm not seeing any Join Request data appear in the gateway's Live Data tab on the TTN console.3. Steps TakenI have carefully configured the project based on the documentation and have attempted the following to troubleshoot the issue:Frequency Plan: In lorawan_conf.h, I changed the default channel plan from CHANNEL_PLAN_GROUP_AS923_1 to CHANNEL_PLAN_GROUP_AS923_1_JP.Key Configuration: I've confirmed that the DevEUI, JoinEUI, and AppKey in se-identity.h exactly match the values configured in the TTN application.Compilation Fix: The channel plan change resulted
Good morning, I have been trying to integrate FUOTA for a few days in my Nuclo STM32 WL55JC1 project. Starting from the provided example STM32CubeWL_FW_1.3.1 from MXCube, if I try to build in CubeIDE I get the following error: make[1]: *** No rule to make target ‘C:/Users/Asepa/02 STM/ReD/LoRaWAN_FUOTA/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio.c’, needed by ‘Middlewares/SubGHz_Phy/radio.o’. Stop. make: *** [makefile:70: all] Error 2 Also, on previous posts I read that you would need to build the BFU, the KMS_Blob, the SECoreBin. I found in previous versions some files but even there I could not build. I would be very interested since I am going into production in the FUOTA speech but I can't integrate it, is there a guide done properly on how to do it? In my project I started with LoRaWan_EndNode_FreeRTOS. Alternatively, is there an external device that I can easily connect to effuat the upgrade? Thank you to those who will answer me. Rober
Hello,I am working with an STM32WB55RGV6 on a custom board powered by battery (always connected).I successfully ran the Proximity example (non-RTOS) with BLE stack before, but after I worked on another project that used BLE stack + FreeRTOS, the BLE stack no longer works — even the old Proximity example stopped advertising.Current statusFUS Info (read via CubeProgrammer):FUS State: FUS_IDLEFUS Status: FUS_NO_ERRORFUS Version: v2.1.0.0Wireless Stack Version: v1.23.0.3Stack address: 0x080D0000FUS Operator: v3.1.0Option Bytes:RDP = 0xAASFSA = 0xD0 (0x080D0000)Boot config (nBOOT0, nSWBOOT0) I already tried:Upgrading FUS and reinstalling BLE stack.Mass erase + reflashing the Proximity example.Result: No advertising, no BLE activity.What is the recommended way to fully recover BLE stack on a custom board (always battery powered) after using another project?
Hello, I am developing a Sleepy End-Device based on STM32WB5MMG which should read and transmit sensor data periodically. The board is mounted to a PCB with the recommended layout for optimal antenna gain. The sensor readings are transmitted with a custom cluster consisting of two string attributes. Furthermore a time cluster is present. The device makes a time read request to the coordinator and receives its reporting configuration (10s) for the string attributes directly after establishing connection. Connection and reporting work very well. APS security and fragmentation flags are set. Actual behavior: the devices loose connection at an arbitrary point in time (sometimes a few minutes after connection, sometimes after several hours), despite being close (1-2m) and having direct line of sight to the coordinator. Expected behavior: the devices shall infinitely long keep up the connection and report their sensor readings. What i have tried: I have implemented a message filter with
Hello @STTwo-32,I was having the same issue and pressing the "start wireless stack" button did the trick for me. I was assuming after flashing the FUS & BLE Stack firmware, is that the CPU2 would be up and running already. So, does this mean that we need to manually start the CPU2 by pressing the button? Thanks!This post is created based on a comment for this post.
Hello!I have an STM32WB5MMG with a breakout board (more specifically Sparkfun ATP breakoutSparkFun MicroMod ATP Carrier Board - DEV-16885 - SparkFun Electronicswith the STM32WB5MMG module SparkFun MicroMod STM32WB5MMG Processor - DEV-21438 - SparkFun Electronics)So, it is not in a nucleo version. I am trying to see if I can just see the BLE device on my phone with the "ST BLE Sensor" app (or "ST BLE Toolbox") app.I downloaded the STM32WB packages on githubSTMicroelectronics/STM32CubeWB: Full Firmware Package for the STM32WB series: HAL+LL drivers, CMSIS, BSP, MW, plus a set of Projects (examples and demos) running on all boards provided by ST (Nucleo, Evaluation and Discovery Kits). (github.com)The STM32WB5MM-DK is basically what I have but just in a different format, so I try and follow the examples for that board.In the github download, I opened this example project:STM32CubeWB-master\Projects\STM32WB5MM-DK\Applications\BLE\BLE_p2pServer\And then started to follow the readm
Hi everyone , I'm testing ultra-low power on the NUCLEO-WL55JC using STM32CubeIDE . My goal is to reach ~0.9 µA in Stop 2 mode, but I consistently measure around 2.9 mA, even with the debugger disconnected. My setup: Stop 2 mode enabled MSI @ 100 kHz, PLL disabled PVD disabled All unused GPIOs set to analog SUBGHZSPI clock disabled Debug disabled CPU2 not activated Tick suspended Entering Stop 2 with HAL_PWREx_EnterSTOP2Mode() Measurement: JP7 and JP8 removed Powered via JP1 using STLINK-V3PWR Measured with STM32CubeMonitor-Power Question: Why is the current still so high? Is there anything specific on the NUCLEO-WL55JC board (RF switch, etc.) that needs to be disabled? Any working CubeIDE example that reaches ~0.9 µA?
Hello,I am having an issue with my STM32WBA65MI-based project file (IOC file) and CubeMX (6.15.0). It also happens when configuring the IOC file in CubeIDE 1.19.0.When I configure the clocks and then generate code and save the IOC file and then close the IOC file, the code is correctly generated. However, when I open the IOC file again, the clock settings are different:Cortex Clock Selection MuxCPU System Timer shows as LSE, despite previously having saved and generated as HCLK1 / 8. This means the CPU System Timer runs at 0.032768MHz rather than 12MHz.System Clock MuxThe System Clock Mux shows as HSE, despite previously having saved and generated as PLLCLK. This sets the SYSCLK to 32MHz (and has consequences downstream for peripherals)Related to the System Clock Mux, the HPRE5 Prescaler gets reset from / 4 (which I had saved) to / 1.If I were to generate code, it would replace the "correct" code with the new settings.Double-checking the original generated code, it seems that the setti
Greetings,This is my frist time with wireless mcu. I just want to ask whether RTC is required for LORA Sub GHz Phy communication ? Any help will be greatful.
Hello,I'm having trouble building a LoRaWAN project targeting the STM32WLE5JCI6. The same error occurs even on a clean, newly created project, which leads me to believe there might be a compatibility issue between the IDE and the software package.■ The error I'm facing:../Middlewares/Third_Party/LoRaWAN/Mac/LoRaMac.c: In function 'ProcessRadioRxDone': ../Middlewares/Third_Party/LoRaWAN/Mac/LoRaMac.c:1650:40: error: 'McpsIndication_t' {aka 'struct sMcpsIndication'} has no member named 'ResponseTimeout'This error indicates that LoRaMac.c is trying to access the ResponseTimeout member of the McpsIndication_t struct, but the corresponding LoRaMac.h file lacks that definition.■ My setup:Target MCU: STM32WLE5JCI6STM32CubeIDE Version: 1.19.1 (Clean install from the official website)STM32CubeWL Package: Latest version (Installed via the IDE's package manager)■ Steps I have already taken:Cleanly reinstalled both STM32CubeIDE and the STM32CubeWL package.Deleted the old project and workspace, the
Hello everybody,For a proof of concept, I attempted to validate the LoRa modulation by having two B-WL5M-SUBG1 boards exchange ping-pong messages. However, I couldn't manage to exchange data with these boards at a distance greater than 230m in an open field. I expected at least 1km of communication distance.My radio configuration is the following:Tx output power: 14dBRF frequency: 868.0 MHzBandwidth: 125kHzSpread factor: SF7Coding rate: 4/5I used the antennas coming with the development boardsFew questions:- I have connected the B-WL5M-SUBG1 to a vector analyzer and measured a VSWR of 2.339 for the 868.00 MHz frequency. Is it expected to change the C19, C20, and L1 components to better adapt the board for my frequency to reach the expected communication range?- Are the provided antennas with the development board able to reach a communication range greater than 250m?- I have found the AN5528 evoquing range greater than 1km for S2-LP in 868MHz. Should I expect similar results
We would like to power the VDD33 domain of an STM32WB0 device (STM32WB05KZ) from an external 3.3V source and the other domains from an external 1.8V source. In theory, it should be possible - by supplying 1.8V to VDDSD in SMPS BYPASS mode, or directly to VFBSD in SMPS OFF mode. However, it is not clear if the SMPS' input (VDDSD) is isolated from VDDIO (the power diagram in the datasheet shows there is a connection). Please clarify if it is possible to use the described configuration.
Hello,I'm working on a BLE Key Fob with 4 buttons operating on a CR2032 coin-cell battery. The goal is that the device sends a "key pressed" data with the status of all the buttons and the battery voltage a short time of period (a couple of seconds), then the device enters in to STOP2 mode, and only wakes up when a key is pressed. The data pack is formatted in BT Home format.I used the BLE Beacon example. Currently I've managed to read the button states and the supply voltage level, make a BT Home packet, and advertise the data. However, I can't get the MCU to switch to STOP2 mode. With the CFG_LPM_SUPPORTED enabled the current consumption is approx. 100µA with a beacon interval of 1s. There are questions about stopping the advertisement, but there is not a clear answer that I could use in my project. What is the correct approach in order to achieve my requirements?Thanks in advance.Best Regards,Fatih
When using the NUCLEO-WBA55CG development board and running the BLE_HeartRateFreeRTOS example, I found that the delay time of osDelay is extremely long, nearly 10 times longer than the set delay time. What is the cause of this and are there any solutions?
I have problem in stm32cubeIde i want to configure BLE Mesh but there is no option to configure it please suggest me how to do in STM32WBA55
Hello,Sometimes saving to flash takes the devices a couple of seconds.It enters through APP_ZIGBEE_persist_save() -> APP_ZIGBEE_NVM_Write() -> EE_Write -> EE_Transfer -> EE_ReadEl; and takes a while in this function.Occasionally, the device enters the NMI handler in this same function. Is anyone aware of these issues?Thanks,
Hey,I am trying to make a device which connect to an app using stm32wb15. Everything works properly, but I want to make it so that when the device becomes disconnected, i can use a button to broadcast BLE so that i can connect through an app again. I tried the existing ready functions. But I could not seem to make it visible as a Bluetooth device again (have to restart the device) Can someone point me to which functions i should call in the main.c to start broadcasting durign button press.
Hello! I'm working on a custom PCB that uses the STM32WB1MMCH6TR module, which was chosen specifically because of its integrated antenna. Unfortunately, with the first prototypes I'm getting extremely poor range with BLE, usually <-80 dBm even just a few inches away. This makes it near impossible to communicate with it from any useful distance. I made sure to turn the transmit power (CFG_TX_POWER in CubeIDE) all the way up to 6dBm, but it didn't help with the signal strength. I was not able to find much information on designing a PCB around this module, so I just went based off the keep-out zone that came with the supplied footprint on Digikey. I suspect that there may be components too close to the antenna side of the module, but I want to ask for advice before ordering the next revision. Thank you!
Hello,I have STM32-WBA55CG connect with MEMS sensor. STM32 board will send the messages back to terminal through USART. The WBA55CG is right now connected to stationary power source. It would be nice if someone can give some ideas, how to transform it into a mobile device and save USART messages?
Hello,I'm using WBA55CG Board and i have tried to flash this example STM32WBA Bluetooth® LE – Serial communication - stm32mcu to the STM32. The flashing step is completed, i could connect the board through ST BLE Toolbox on iOS. However there is no services like in the example, for example Send button/Real time. Also i have connected the board with TeraTerm to see USART messages but there were no messages from the board. How should i debug to have a proper function?
Hi everyone, I was hoping to find some help in locate a simple tx example for the stm32wl33 using a freertos task. I have tried to move functions in the mrsubg basic transmit example to a task but seems to not function properly. Does not transmit and gets stuck in the while((__HAL_MRSUBG_GET_RFSEQ_IRQ_STATUS() & MR_SUBG_GLOB_STATUS_RFSEQ_IRQ_STATUS_TX_DONE_F) == 0) {}; Any help would be appreciated.
Hello,I am having trouble with a call to HAL_SAI_Transmit_DMA() to transfer data to our audio codec.Buffer stored in RAM: unsigned char sweep_tone[80000]. For the sake of this demo, I've filled the buffer with 16-bit samples counting from 0 - 39999.The SAI interface is configured for 16KHz, 16-bit samples, mono (i.e., data is the same on both channels)When I call HAL_SAI_Transmit_DMA(&hsai_BlockB1, pBuffer, 500); the first 500 samples are continuously transferred, as expected. I confirmed this by monitoring the I2S signal with a Saleae.However, when I call HAL_SAI_Transmit_DMA(&hsai_BlockB1, pBuffer, 40000); the I2S only shows the values 0 to 7231 being clocked out.The number 7231 is interesting to me. The size argument to HAL_SAI_Transmit_DMA() is 16 bits, and UINT16_MAX =65535. If there's a conversion someplace in the HAL calls that converts 40000 samples to 80000 bytes, this would overflow to 14465 bytes, which is 7232.5 samples, truncated to 7232, which
I followed the tutorial from this video: https://www.youtube.com/watch?v=6JPys9B497c to practice setting up BLE.After flashing to the NUCLEO-WBA55CG, the ST BLE Toolbox app still cannot detect the device.I also noticed that after it executes: UTIL_LPM_EnterLowPower(); the program seems to stop.From the UART1 log, I only see:==>> Start Ble_Hci_Gap_Gatt_Init functionSuccess: aci_hal_write_config_data command - CONFIG_DATA_PUBADDR_OFFSETPublic Bluetooth Address: 00:08:e1:2a:12:34Success: aci_hal_write_config_data command - CONFIG_DATA_IR_OFFSETSuccess: aci_hal_write_config_data command - CONFIG_DATA_ER_OFFSETSuccess: aci_hal_set_tx_power_level commandSuccess: aci_gatt_init commandSuccess: aci_gap_init commandSuccess: aci_gatt_update_char_value - Device NameSuccess: aci_gatt_update_char_value - AppearanceSuccess: hci_le_set_default_phy commandSuccess: aci_gap_set_io_capability commandSuccess: aci_gap_set_authentication_requirement command==>> End Ble_Hci_Gap_Gatt_Init
Dear Sir,I am working on reading values from 10 ADC channels of the STM32WB55CGU6 (WeAct Studio board). However, I am not getting the correct voltage readings. Please note the following details about my setup:I am using USB (Virtual COM Port) to print the values.I have set the reference to 3.3 V.The ADC output is not stable, and temperature readings are also included.I would like to properly calibrate the ADC so that I can obtain accurate values, including the temperature in degrees Celsius. I have attached my code for your reference.The main issues I am facing are:Around 70 mV offset – up to 70 mV, the ADC prints 0 V.The ADC values are not stable – they vary by about 100 mV.Could you please review my code and guide me on how to correctly calibrate the ADC for stable and accurate results?Your support will be very helpful.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.