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've prepared a small device firmware for a STM32WB35CEU7Ait's only providing battery service and debug infos on serialI've tested it on a P-NUCLEO-WB55 loaded with stm32wb5x_BLE_Stack_full_fw.bin1.19.02 stack loaded @0x080CE000 and it works wonderfully even if .ioc file is based on STM32WB35CEU7A and not on WB55on debug serial all startup is complete :[app_entry.c][APPE_SysUserEvtRx][362] Wireless Firmware version 1.19.0[app_entry.c][APPE_SysUserEvtRx][363] Wireless Firmware build 2[app_entry.c][APPE_SysUserEvtRx][364] FUS version 1.2.0[app_entry.c][APPE_SysUserEvtRx][366] >>== SHCI_SUB_EVT_CODE_READY[app_entry.c][APPE_SysEvtReadyProcessing][452] >>== WIRELESS_FW_RUNNING[app_entry.c][APPE_SysEvtReadyProcessing][476] >>== DBGMCU_GetRevisionID= 2003[app_entry.c][APPE_SysEvtReadyProcessing][481] >>== DBGMCU_GetDeviceID= 495[app_ble.c][APP_BLE_Init][333] Success: SHCI_C2_BLE_Init command[app_ble.c][Ble_Hci_Gap_Gatt_Init][715] ==>> Start Ble_Hci_Gap_Gatt_
Hi,I am writing a client/server application for STM32WB55. Server behavior is ok. On client side, I connect to a peripheral and try to send 32 bytes packets every 100 ms on peripheral's RX characteristic using aci_gatt_write_without_response function. MTU is set to 156. Nevertheless most of the time the function return with error code 0x64 (insufficient resource). The application is connected to 1 peripheral only, no advertising. I didn't find any helpful information.Any idea? Any orientation for investigation?Thanks, Jacques
What is the correct way to configure PLL in clocks for the BLE_HEAR_RATE_FREE_RTOS example ? So that sleep is maintained?
Hi,For our embedded Zigbee wireless application, we want to use the ST Zigbee stack.Per design, we want to avoid the use of dynamic memory allication. Per default, the ST Zigbee stack internally seems to use malloc for memory allocation. The ST application note AN5500 describes a way to let the application provide its own preallocated memory using the function ZbMemConfig(). However, this functions seems not to exist. - Has anyone managed to use the Zigbee stack with pre-allocated memory and prevent the stack from using malloc?- Is there an example provided by ST? Thanks in advance!Lukas
Hello Developers,I am currently testing Sigfox AT slave example from STM32Cube_FW_WL_V1.3.0 on STM32WL nucleo board. I already have 5 set of ID,KEY,PAC values from sigfox build for testing purpose. But when i am running sgfox at slave example, i am uunable to set id and pac values usinthe AT command. So can anyone please tell how can i set ID, PAC info in STM32WL using AT Slave.
I want to connect my NUCLEO board via bluetooth to a RN42 bluetooth module. The RN42 recieves sensor data from an adruino and needs to send it wirelessly to my STM board. How can i go about connecting the two?
HiI`m working on a customised STM32WB55 board and trying to implement eeprom emulation.According to AN4894there should be a BLE_HeartRate_EEPROM_Emul example somewhere but looking at STM32Cube_FW_WB_V1.12.0 package I can`t find it. I have also checked the STM32 github page but still no chance . Has anyone have access to this example ? I have this piece of code which is called after HAL_Init and returns EE_ERASE_ERROR after calling EE_Init(EE_FORCED_ERASE); void ReadMode() { uint8_t configMode[4] = { 0 }; Flash_ReadNBytes(EEPROM_WRITE_MODE_ADDR, &configMode[0], 4); if (configMode[0] == 0xAA && configMode[1] == 0xBB && configMode[2] == 0xCC && configMode[3] == 0xDD) { moduleInfo.configMode = 1; return 1; } moduleInfo.configMode = 0; return 0; }void Flash_ReadNBytes(uint16_t addr, uint8_t *data, uint32_t n) { EE_Status ee_status = EE_OK; HAL_FLASH_Unlock(); if (__HAL_PWR_GET_FLAG(PWR_FLAG_SB) == RESET) { ee_status =
Hello everyone,I'm having some issue with the ctime function time() in <time.h>.This is used in a library we imported (and for various reason we CANNOT change it), but I noticed that when time() is called it returns -1 (which could be fine) but also sets the FLASH register SR->CFGBSY to 1.The register is never cleared, and when our code tries to lock the flash (HAL_FLASH_Lock()) it will Hard Fault, since we cannot change FLASH->SR register with CFGBSY set.I don't understand what could be.I know the memory requires 64bit to write, and CFGBSY is set when first word is sent on bus, which makes me think the issue might be that some word is missing to write. I don't understand though, why would the time function interfere with the FLASH.Can anyone help me out here?Thank you!
Hello,I'm in the process of developing a device using the STM32WB5MMG, and I have a query regarding the wireless testing method for the final product.I need to conduct tests using an antenna (external antenna) approved by the certification body rather than utilizing the built-in antenna on the MCU.Could you please confirm if there is an option similar to STM32WB1MMC where external/internal antenna selection is available, or if there is a method to use an external antenna?I have attached the antenna options section from the datasheet of STM32WB1MMC for reference. Thank you.
Hi,In this example, https://wiki.stmicroelectronics.cn/stm32mcu/wiki/STM32CubeMonitor:How_to_start_with_STM32_Wireless_Long_Range_demothere is a demo of one concentrator, and up to 15 sensors. How to perform the communication between one concentrator and up to 30 sensors in a local LoRa network concentrator setup, without LoRaWAN like the example shown in the link? What changes are to be done in the STM32WL55 local concentrator example code ? Please suggest. Thank you.
hello.As I said in the title, I would like to know the exact Bluetooth version information for both MCUs.I recognize the Bluetooth version of stm32wb5mmg as '5.0'. However, the datasheet and MCU website say that the Bluetooth version is '5.4'. Which version is correct?I would also like to know the Bluetooth version information of stm32wb1mmc.Is there a way to find out the exact Bluetooth version information? The datasheet is attached, and below is the MCU website I checked.stm32wb5mmg website:https://www.st.com/en/microcontrollers-microprocessors/stm32wb5mmg.htmlstm32wb1mmc website:https://www.st.com/en/microcontrollers-microprocessors/stm32wb1mmc.html
Hello,is it right that STM32WB55CGU6TR is already pre-loaded with FUS v1.2.0.0?
Hi everybody, I have been looking for the charateristics (like ppm/temperature dependency) of the LSE crystal included in the STM32WBMMG, but I have not been able to find on its datasheet.Is there another document I am missing where the information about the LSE crystal can be found? Thanks in advance!
Hello everyone!I just started learning how to use the STM32WB-Chips on the Nucleo-WB55RG and followed this tutorial: https://www.youtube.com/watch?v=Zgw3wRpGSRQ&list=PLnMKNibPkDnG9JRe2fbOOpVpWY7E4WbJ-&index=17After that I tried to make a function (following the steps mentioned in the tutorial above) which I can use in the main.c to send custom data to the PC. However when I call this function in the main loop the advertismenet disappear and I cannot find the reason why. Can you guys help me with this?In the app_conf.h I wrote648 /* USER CODE BEGIN Defines */ 649 void ble_updateChar(uint8_t); 650 /* USER CODE END Defines */ ... 671 /* USER CODE BEGIN CFG_Task_Id_With_HCI_Cmd_t */ 672 CFG_TASK_BLE_UPDATE, 673 /* USER CODE END CFG_Task_Id_With_HCI_Cmd_t */In the app_ble.c268 /* USER CODE BEGIN APP_BLE_Init_1 */ 269 UTIL_SEQ_RegTask(1<<CFG_TASK_BLE_UPDATE, UTIL_SEQ_RFU, ble_updateChar); 270 UTIL_SEQ_SetTask(1<<CFG_TASK_BLE_UPDATE, CFG_SCH_PRIO_0); 271 /
How do I connect x-nucleo-lpm01a with STM32WB5MM-DK to test power?I am using the RF module from STM32WB5MM-DK and not the one from P-NUCLEO-WB55.I know that there is a video for P-NUCLEO-WB55. Is there a video/guide for STM32WB5MM-DK as well?
I am trying to generate PWM by using DMA with HAL library: uint16_t buffer[1] = {1500}; ... Status = HAL_TIM_PWM_Start_DMA(&htim2, TIM_CHANNEL_1, (uint32_t *)buffer, 1);however nothing happens. I am able to generate PWM without DMA: TIM2->CCR1 = 500; HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);Is there any example of DMA PWM usage?
Hello,Apparently COC channel can send no more than one packet (MPS) per connection interval.Trying to end more will result in BLE_STATUS_INSUFFICIENT_RESOURCESThis seems to be a bug since GATT (on same exact setup) can do at least 2, resulting in much better throughput.Tested version 1.18.0 Please advise
Hello,Curious regarding clock reconfiguration and MX_XXX_Init on wake up with STM32WB family.I see that in the example BLE_HeartRateRTOS the clock configuration on wake up is blank!Why is that? Doesn't in necessary to do the clock init again? this is I believe stop mode 2.Same about MX_XXX_Init. ( UART, etc..) Ref: /* If the application is not running on HSE restore the clock configuration in this user section */ /* USER CODE BEGIN ExitLowPower_2 */ /* USER CODE END ExitLowPower_2 */
What might be the pairing code for Bluetooth (V4.1 compliant) SPBTLE-RF module in STM32 BL475E.I tried both 0000 and 1234 but it didn't work.
Hi there,I am receiving a hardfault when erasing pages of flash, seemingly randomly. I can recreate the issue somewhat consistently if I rapidly erase flash pages. I have followed the example project from the STM32WB firmware package (erase flash example). This is my function for erasing flash. flash_status_t user_flash_erase_page(uint8_t page_number, uint8_t number_of_pages) { // static FLASH_EraseInitTypeDef EraseInitStruct = {0}; static FLASH_EraseInitTypeDef EraseInitStruct = {0}; if(HAL_FLASH_Unlock()!= HAL_OK) { return FLASH_ERROR; } /* Clear OPTVERR bit set on virgin samples */ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPTVERR); EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES; EraseInitStruct.Page = page_number; EraseInitStruct.NbPages = number_of_pages; uint32_t page_error = 0; if (HAL_FLASHEx_Erase(&EraseInitStruct, &page_error) != HAL_OK) { HAL_FLASH_Lock(); return FLASH_ERROR; } else { HAL_FLASH_Lock(); return FLASH_OK; } return FLASH_
Dear all!I'm working with a custom board. I would like to make a simple application (without Lora). Just sending packets that the device receives from Uart over the air to another device. 1st approch will be only in one direction to keep it simple.Some entries unter middleware are selected and grayed out. Middleware-SubGHZPHY: It is selected, grayed out. I can't configure anything and there is no 'middleware' folder/code in the generated code. Do I have to add the code manually?Middleware-Freertos: It is selected, grayed out. I can't configure anything and the code doesn't look like rtos (no threads and so on.FYI: I have activated SUBGHZ.Does anybody know a simple example/tutorial, how to start with an simple application, that sends packets from one device to the other device? Thanks!best regards
Hi, I am working with STM32L476ZET6 controller running on FreeRTOS. I want the controller to communicate with external BLE module connected over the UART. For that I require the BLE (host stack + Application) firmware compatible with the FreeRTOS which I can integrate in the controller to communicate with the BLE chip over the UART. The BLE chip will be having the BLE controller stack ( radio/LL layer ) running. So overall I want to achieve the communication between both the chip using the RCP mode. Do we have any application library/stack compatible with the FreeeRTOS which I can refer to and integrate the same in the STM32L4 board to suffice my requirement ? I really appreciate your quick help. Thanks,Vidhi Vadher
After sending the first uplink using ST I-CUBE_LRWAN 2.1.0, the application stops in the hardfault handler. It's probably an issued with the circular buffer for timers.Did anyone else had this problem?Thank you.
I am a bit confused with the multicast on STM32WL. I want to send downlink messages from an Application Server to 1 (or 2) STM32WL by using multicast. To do so, I tried to use the project (LoRaWAN_End_Node or LoRaWAN_AT_Slave) proposed in the STM32WL package from ST. However, I can't figure out how to configure the STM32WL to enable the multicast. Is there any configuration I am forgetting to do in the files of the project ?Really appreciate your attention, thank you !
Can someone explain to me how the client would know what the server pairing number was if the user used a RNG in the server to create the pairing number? I certainly see how a fixed number would work as a developer. But when I try and connect using this method with ST BLE Toolbox it wants me to enter a number and if the server randomly generates this, well......???? ThanksSteve
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.