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
Use example code BLE_Audio_HAP_Central to audio function. The Central may start the stream fail, though the BLE connect and GAP link returns are OK. and Once the stream start failed, the stream cannot be start forever, with the result "CAP Unicast Start Procedure is Complete with status 0x91". Compared with the normal process the GAP link lack of CAP event 0x06, 0x12. I have to use aci_gap_clear_security_db() then I can connect and start the stream successfully. And what's more, use aci_gap_remove_bonded_device() to remove the certain device and repairing cannot start the stream. It seems that there's some memory issues. log for stream start failed[10:10:48.442]·¢¡ú¡ó{A\0v³\0ÿÿ}¡õ [10:10:48.445]ÊÕ¡û¡ôaci_gap_terminate_gap_proc() returns status 0x00 HAPAPP_StopScanning() returns status 0x00 Selected device 0 aci_gap_create_connection() returns status 0x00 {A\0w³\0V˜}P_PROC_COMPLETE_VSEVT_CODE >>== ACI_GAP_PROC_COMPLETE_VSEVT_CO
Hi,I have couple of questions regarding the LORA Tx numbers specified in the ds for the stm32wle5.we are using VDD=3.3V , 22 dBm , ~928 Mhz LORA. 32 Mhz TCXOwe are NOT using the SMPS . table 29 in the ds mentions that typical current for the stm32 device in Tx High power mode should be 120 mA.I want to know what should be the total current for all chip supplies . I have couple of questions:1. If I understand correctly - this table assumes all chip interfaces are disabled. if I have UART enabled and a few other io's toggling - How much current should I add to the 120 mA number ? (roughly) 2. since we are NOT using SMPS mode . How much current should I add to the 120 mA number ? (roughly) 3. General question - should I see different subghz current consumption when transmitting LORA vs when transmitting CW ? 4. Is there a more accurate way to estimate what should be the total chip current in LORA RX M
Hi.,Could anybody point me to a working example of a working basic IEEE 802.15.4 communication example, NOT Bluetooth, pure radio frequency in 2.4Ghz.I spent about 2 months trying to figure this out for my WB55 series without success and can't waste more time now.There are supposedly tons of examples on the internet, but all are Bluetooth, which I don't want. None for 2.4ghz RF.The https://wiki.stmicroelectronics.cn/stm32mcu/wiki/Connectivity:Introduction_to_802_15_4 page is of now use as there is not example code. Thanks for any help or guidance.Steve
Hello community, I am currently considering capturing and analyzing BLE packets by using BLE sniffer, but for that I need the LTK used for decryption.BLE Secure Connection pairing does not directly exchange LTK, so I do not know where to find it exactly in BLE Stack.Could you please tell me how to output an LTK log by modifying the user source code?-------------------------------------------------------------------------------------------------------------------[Srouce]STM32CubeWBA/Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_SerialCom_Peripheral at main · STMicroelectronics/STM32CubeWBA
We are currently using the STM32WL5MOC module and are facing a serious issue with LoRa range. The communication range is not going beyond 1 meter, and the RSSI while receiving TX data is in the range of -100 dBm to -115 dBm.The same firmware and configuration work perfectly on the STM32WL55JC1 DK board, where we have tested both TX and RX successfully with good range and signal quality. However, with the STM32WL5MOC, using the exact same code, the range is very poor and the signal is too weak.
Hello ST experts,I’m working with an STM32WLE5CC using the LoRaWAN stack in STM32CubeIDE. Even though AU915 is selected as the active region, the device always transmits on the default sub-band AU915_CH0_7, while my gateway is configured for AU915_CH8_15.UART log example:###### AppKey: F1:11:B1:A0:A5:CE:4A:4C:1E:3B:E3:46:94:ED:8F:56###### NwkKey: F1:11:B1:A0:A5:CE:4A:4C:1E:3B:E3:46:94:ED:8F:56###### AppSKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C###### NwkSKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C###### DevEUI: CB:59:4B:0E:2D:2F:9D:D5###### AppEUI: 40:20:93:67:C4:C4:5F:AF###### DevAddr: 06:6A:AA:FE0s029:TX on freq 916600000 Hz at DR 20s401:MAC txDone5s384:RX_1 on freq 927500000 Hz at DR 105s433:IRQ_RX_TX_TIMEOUT5s433:MAC rxTimeOut6s396:RX_2 on freq 923300000 Hz at DR 86s461:IRQ_RX_TX_TIMEOUT6s461:MAC rxTimeOutThe node never receives the Join-Accept because it is transmitting on the wrong sub-band.Question:Where do I configure the AU915 sub-band so that the stack use
There appears to be mislabeling of PINs PC0 and PC1 on the MB1779B schematic pack. found here on sheet 3 of 8. The PC0 and PC1 pins are mislabeled as UART1s but according to the datasheet for STM32WL5MOC they are actually LPUART1 as Alternate AF8.
I'm using a custom board with an STM32WB5MMG acting as an SPI slave. The board should receive data frames from a master via SPI, and send them to the computer via BLE. The SPI works fine, but as soon as the BLE advertising starts, the SPI reception breaks. I'm using SPI1 with a circular DMA to identify terminators of single data frames sent by the master. I've already tried 2 configurations:a circular DMA 1024 bit large, the HAL_SPI_Receive_DMA called in the while(1) and data parsing in the while(1);a normal DMA, the HAL_SPI_Receive_DMA is called in the HAL_GPIO_EXTI_Callback when CS goes low and data parsing in the HAL_SPI_RxCpltCallback.My hypothesis is that the BLE introduces a latency on the CPU that causes the SPI reception to be slower than the transmission from the master, that causes mis-alignment of data frames, which means that the terminators are not identified anymore. Is this possible?Also, a weird thing that I noticed, is that as soon as the terminators are
I'm trying to implement the ADC to get V_BAT. I've done the set up in CubeMX in the IDE.I then went to the examples to see how a single ADC reading was done. I'm confused about the use of the following variables... /* Variables for ADC conversion data */ __IO uint16_t uhADCxConvertedData = VAR_CONVERTED_DATA_INIT_VALUE; /* ADC group regular conversion data */ /* Variables for ADC conversion data computation to physical values */ uint16_t uhADCxConvertedData_Voltage_mVolt = 0; /* Value of voltage calculated from ADC conversion data (unit: mV) */ /* Variable to report status of ADC group regular unitary conversion */ /* 0: ADC group regular unitary conversion is not completed */ /* 1: ADC group regular unitary conversion is completed */ /* 2: ADC group regular unitary conversion has not been started yet */ /* (initial state) */ __IO uint8_t ubAdcGrpRegularUnitaryConvStatus = 2; /* Variable set into ADC interruption callback */ In the rest of the example code these are used as
Hello, I have a query that can we send or stream the audio instead of Linein or Audio Jack, can we send it through CN12 or CN11 pins (UARTor SPI) from external UAC supported device in I2S format? If yes, could you please help me to configure it. I am using PBP_source example firmware of STM32WBA55G-DK1.Thank you
Hello,I have been working with a NUCLEO-WBA55CG board and the X-NUCLEO-IKS02A1 expansion board. When running my initialization code, the program execution jumps to the error handler. Using a debugger, I've pinpointed the failure to the ISM330DHCX_Set_Mem_Bank function. The function returns an error status, which triggers my error handling routine. My initial approach was to replicate the project setup described in DataLogTerminal project . This led directly to the failure at ISM330DHCX_Set_Mem_Bank. I have compared my initialization code against the reference implementation in Board Extension IKS02A1 ISM330DHCX_0_Probe function and they appear to be identical.My Questions:Is there a known compatibility issue for using ISM330DHCX with the NUCLEO-WBA55CG board?Could this failure point to a I2C communication problem or a timing issue? How can I fix it?Any recommended procedure for initializing I2C or this sensor? Here is the code that I added:/* USER CODE BEGIN Includes */ #incl
Hey there I have seen a few posts on this and tried a number of things:1 I went through the process in the user manual and get the error shown2. I tried to reboot board with the jumper moved to boot mode. I put it into UART mode but then got similar errors (Error Activating Device : KO. ...."I get the same error on the programmer and the Cube IDE. USB cable is good (it works with other ST eval kits)I'm running Windows 11, programmer is the latest v2.21.0, Cube is v2.0.0. I installed the cube expansion and built the beacon code. As a note, I can see the device using the ST BLE Toolbox and it shows as an Apple iBeacon and a peer to peer server and is unconnectable.When I put the boot mode jumper on then power goes down to 0.26V when I connect over STLink. And device does get hot but not sure if thats normal
This is a big problem for me, as I have thousands of products out there using the older BLE_OTA bootloaders, bootloaders which themselves are not updatable by OTA. I have a custom phone app for iOS and Android that interfaces with these products and provides OTA updates.I was about to release an update to the product firmware via my phone app that incorporates several important fixes, but in regression testing this firmware, I found that older units could not successfully perform OTA updates using my new firmware (though units programmed with the updated bootloader could). I tried many combinations to see what worked and what doesn't work, before narrowing the problem down: FUSBootloaderStackStack locationFirmware Git hashResult + notes01.23 plus b87d60Worked like normal the second time.1.2.0.01.20.01.20.0.20x805A000b87d60No STM_OTA when commanded1.2.0.01.20.01.22.0.20x805C000b87d60No STM_OTA when commanded1.2.0.01.23 plus1.22.0.20x805C000b87d60W
Nucleo-WB55RGThe docs mention that it can be run off a button cell & also mention that the 3V3 pin can be used to power the board. Is it possible to run the board off a 3.7V LiPo battery? My application is pulling 7ms & using BLE
Hello Respected Members,I have a bootloader in CPU1 at address 0x08000000 and an image at 0x08024000. I have different BLE services in bootloader and in image. Problem is, once CPU2 has been started by bootloader, it jumps to image and hence the services of image cannot be loaded, BLE stack does not advertise. SHCI_SUB_EVT_CODE_READY event is never received in image as bootloader has already received it.I read about SHCI_C2_Reinit() in How to build wireless applications with STM32WB MCUs - Application note (AN5289). So, I called it in bootloader before jumping to image. But alas, I still did not get SHCI_SUB_EVT_CODE_READY. I need help in correct usage of this SHCI_C2_Reinit() so I can reinitialize different BLE services in image when jumping from bootloader.
I'm using an STM32H735 microcontroller as the main application processor, connected to an STM32WB05N (Nucleo-WB05KZ) Bluetooth module via UART.Connection:STM32H735 USART1 ↔ STM32WB05N USART1Baud rate: 115200, 8N1, no flow controlPhysical connection: Direct UART TX/RX between the two MCUsSoftware Architecture:STM32WB05N Configuration:Running BLE_TransparentMode firmware (prebuilt from STM32CubeWB0)Configured as Host + Controller mode (full BLE stack on WB05N)Acts as a network coprocessor / transparent BLE bridgeHandles all BLE stack operations internallySTM32H735 Configuration:Main application processorSends ACI/HCI commands via USART1 to control the WB05NReceives HCI events from WB05N with BLE status and dataImplements application logic and decides when to use BLE servicesCommunication Protocol:The H735 controls the WB05N by sending standard Bluetooth HCI commands and proprietary ACI (Application Controller Interface) commands over UART:[H735 Application] --ACI/HCI Commands--> [WB05
Hello everyone,I am currently working with the BLE_AT_CLIENT example on the B-U585-IOT02A and have previously updated the integrated STM32WB5M according to the instructions in readme.md (Wireless Coprocessor Update). The example's start screen appears correctly (screenshot: BLE.png).However, there is a problem that, according to this article "Using the Bluetooth stack on the B-U585I-IOT02A board" by Javad Rahimipetroudi, should occur immediately at start-up and independently of a BLE connection:The command TX: AT+BLE_SVC=1 does not appear for me. Normally, this command should be sent automatically immediately after TX: AT. However, only TX: AT is displayed on my device (PC) and then nothing else happens.Question for the community:Is anyone familiar with this behaviour or know what could be causing the example to stop at initialisation and prevent AT+BLE_SVC=1 from being sent in the first place?I would be very grateful for any tips on diagnosis or possible pitf
Hello everyone,I am currently working with the BLE_AT_CLIENT example on the B-U585-IOT02A and have previously updated the integrated STM32WB5M according to the instructions in readme.md. The start screen of the example appears correctly (screenshot: BLE.png).However, a problem occurs which, according to this article https://mind.be/blog/using-the-bluetooth-stack-on-the-b-u585i-iot02a-board/ should occur immediately at start-up and independently of a BLE connection:The command TX: AT+BLE_SVC=1 does not appear for me.Normally, this command should be sent automatically immediately after TX: AT. However, only TX: AT is displayed on my device, and then nothing else happens.Question for the community:Is anyone familiar with this behaviour or know what could be causing the example to stop at initialisation and prevent AT+BLE_SVC=1 from being sent in the first place?I would be very grateful for any tips on diagnosis or possible pitfalls.Many thanks!
Apologies for cross post, I couldn't find a way to delete the other post or how to change which board to post it to.I'm trying to set up the Utility Sequencer to run an acquisition task followed by an signal processing task, see code snippets below.When I look at the serial monitor, I see the start acquisition task message but then it hangs waiting for EVENT0So even though I've set EVENT0 in Custom_APP_Init() it looks to me that the event is not in fact set.What am I missing here?I commented out the SetTask line as I realized I hadn't finished setting up before the sequencer sets off but now no tasks get set, so I dont get the start acquisition task message any more. #define EVENT0 1<<30 #define EVENT1 1<<31 void Custom_APP_Init(void) { /* USER CODE BEGIN CUSTOM_APP_Init */ UTIL_SEQ_RegTask(1<<CFG_TASK_SENSOR_UPDATE_ID, UTIL_SEQ_RFU, sensor_update); UTIL_SEQ_RegTask(2<<CFG_TASK_FFT_ID, UTIL_SEQ_RFU, do_fft); U
Hello,I am currently designing a custom PCB with the STM32WLE5CC (QFN package) targeting +22 dBm in the 868 MHz frequency band.I have been following the reference design based on the MB1720 board, which is specifically described as being for +22 dBm at 868 MHz. However, I don’t fully understand why, in this high-power configuration, the solder bridge for RFO_LP is closed while RFO_HP is left open.Could you please clarify the reason for this choice in the reference design?Thank you in advance.
Respected Sir/ Madam, AS i'm using LORA-E5(stm32wle5jc) module communicating point to point Radio Frequency and AT Command also. We are config SubGHz for Radio Send and Receive Functions in Loop Mode . No Response received from this. By using AT command we need to flash any Binary Files? How to Communicate P2P Two Lora-E5 module. Thanks,
Hi techs, I have a problem with the LoRa configuration with the LoRa-E5 Development Kit. How to do the Pin configuration for the LoRa point to point communication. I have tried multiple ways to do but the communication is not happening, and I also tried the PA4 = 0 and PA5 = 1 pins are in Tx mode. I have used the CubeMX for HAL code generation. Can anyone tell how to do?
I am trying to modify the BLE_HeartrateFreeRTOS project. I will set the RTC date/time from a timestamp received over BLE from a PC. I need the RTC calendar to be running, as I need to timestamp data readings with a "Unix" timestamp. I also need to perform a certain action on the hour, 15 mins past, 30 mins past, and 15 mins to the hourThe RTC calendar in the heartrate example is run in free running binary mode. I set the time from the PC time sync using HAL_RTC_SetTime & HAL_RTC_SetDate. When I call HAL_RTC_GetTime & HAL_RTC_GetDate later, the date is correct (still todays date) but the time is always 00:00:00. The "SubSeconds" field of my RTC_TimeTypeDef is being filled with a number which decreases as my program runs, but how do I get from this to a "UNIX" timestamp I can log against my data?I did manage at one point to set the RTC mode to be "free running BCD calendar & binary", but CubeMX seems to reset this each time the ioc file is saved.
Hi all,I designed a sensor board with STM32WL5MOC based on B-WL5M-SUBG1. Due to other constraints I cannot place the antenna directly on the PCB. Therefore I would like to place an U.FL connector (like: https://www.digikey.hu/en/products/detail/hirose-electric-co-ltd/U-FL-R-SMT-1-80/3978495) on the PCB and using an external antenna (like: https://www.digikey.hu/en/products/detail/te-connectivity-linx/ANT-868-PML-UFL/5592353). My question is that, if I follow the design guidelines given in the datasheet of STM32WL5MOC (see 3.4.3.3 point), then can I use this solution? In the datasheet it is also stated that "FCC implies that the antenna must bestuck to the board connector with epoxy glue". Thank you for your comments and suggestions!
Hello, I am using STM32H735 and installed a Bluetooth module STM32WB05N. For the STM32WB05N, it is configured as a transparent mode running as HOST + CONTROLLER firmware. I got the firmware from this github: STM32WB05N Firmware. I have modified STM32WB05N firmware to use the correct PINS and adjusted the baudrate to work with our MCU STM32H735. So from STM32H735, I have successfully sent the ACI & HCI commands and is able to advertise my device. I am using my Laptop to try and pair it using the windows bluetooth built in app and when I tried to pair my device, I got a confirmation from my STM32H735 and received the following events HCI_LE_ENHANCED_CONNECTION_COMPLETE_EVENT HCI_LE_ADVERTISING_SET_TERMINATED_EVENT HCI_LE_CHANNEL_SELECTION_ALGORITHM_EVENT After that the windows pairing failed. I was expecting to receive more events and vendor events like: HCI_LE_DATA_LENGTH_CHANGE_EVENT ACI_ATT_EXCHANGE_MTU_RESP_EVENT ACI_GATT_SRV_ATTRIBUTE_MODIFIED_EVE
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.