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
Hi,i am working with BLE_p2pServer_ota example as a template and i want to send 5 Bytes of data from the client (nRF Connect App on the cellphone) to the server (NUCLEO-WBA55). However, I am having trouble receiving more than 2 bytes.1. I made a new characteristic in CubeMX with a value length of 5 bytes and i set the length characteristic to variable because i want to send also less then 5 bytes: 2. I started the debugger and set a brakepoint in p2p_server_app.c:3. I checked the transmitted values in expression view:Everything seems to be fine up to this point.But when I try to send 3, 4 or 5 bytes, nothing happens and the program does not stop at the breakpoint. It seems that the change to 5 bytes was not reflected in CubeMX.And when I look at the function aci_gatt_add_char() in the file p2p_server.c, I find here in the 4th argument SizeUart_C which has the value 2: /** * UART_C */ COPY_UART_C_UUID(uuid.Char_UUID_128); ret = aci_gatt_add_char(P2P_SERVER_Context.P2p_serv
Hi,in my low-power STM32WL55 application I would like to use the LPUART to receive data (no transmission) while the device is in STOP2 mode. I have two questions about this:The reference manual states:"Before entering low-power mode, make sure that no LPUART transfer is ongoing. Checking the BUSY flag cannot ensure that low-power mode is never entered when data reception is ongoing."Then how do I check for an ongoing data transfer? The external device connected to the LPUART sends data "spontaneously" so I can't control when this happens, there might be a byte arriving just when I'm entering STOP2 mode. What happens if a reception is ongoing when the device enters STOP2 mode?I would like to use the HSI oscillator for LPUART reception in STOP2 mode (automatically turning it on when needed). But I would also like to use MSI after wake-up in order to get better flexibility for the CPU frequency (achieving frequencies > 16 MHz, or achieving lower power consumption) by setting STOPW
Hello... Here I am developing a battery based IOT-STM32 based project and I am unable to read and write ADC using this new chip STM32WL5MOCH6S. Please provide me any detailed document related to ADC or Any kind of example code which I can check in my Microcontroller. Thanks & Regard
Hi, I am developing on the Nucleo-wl55jc2 development board and I am trying to program the sub-GHz radio to transmit a continuous wave (not sending data packets, just a waveform). I have attached my code below along with a zip of the project. This code has been simplified from the 'SUBGHZ_Tx_Mode' example program that can be generated using the example selector when generating a new project. I have tested both the 'SUBGHZ_Tx_Mode' example program and my code with a spectrum analyzer and a software-defined radio, and have not been able to pick up a transmission on either. Any help is appreciated. - Kevin #define RADIO_MODE_STANDBY_RC 0x02 #define RADIO_MODE_BITFIELD 0x70 uint8_t RadioCmdSetFreq[4] = {0x1D, 0xCD, 0x65, 0x00}; // 500,000,000 uint8_t RadioResult = 0x00; uint8_t RadioParam = 0x00; uint8_t RadioMode = 0x00; uint8_t RadioStatus = 0x00; int main(void) { HAL_Init(); MX_SUBGHZ_Init(); /* Set Sleep Mode */ if (HAL_SUBGHZ_ExecSetCmd(&hsubg
I m using stm32wle5jci6 i am getting stuck, device is not sending join request. And i m new to this so not able to understand what us wrong. ###### AppKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C###### NwkKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C###### 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: 00:80:E1:15:05:FA:4D:D9###### AppEUI: 01:01:01:01:01:01:01:01###### DevAddr: 05:FA:4D:D9131071s998:TX on freq 868100000 Hz at DR 0System Initialized this log but no uplink on LNS. when i am trying with Developmnt board KIt which has AT commands support that is working.. Pelease let me know what is wrog
I'm trying to use STM32WB09KE for the BLE application. However, unlike STM32WB55, this microcontroller must activate PKA and RNG for the BLE module.So, I did.However, after generating the BLE code, I tried to build the project in the IDE and it showed a lot of errors related to RNG part.For example, these functions are not found in the project.HW_RNG_Init()blue_unit_conversion()PKAMGR_Init()aci_gatt_srv_profile_init()NVMDB_Tick()NVMDB_AppendRecord()NVMDB_ReadCurrentRecord()NVMDB_CompareCurrentRecord()NVMDB_DeleteRecord()Osal_MemCpy()GetPartInfo()HW_AES_Encrypt()HW_RNG_GetRandom16()HW_RNG_GetRandom32()RADIO_GetMaxPALevel()RADIO_GetDefaultPALevel()RADIO_SetHighPower() Do you have any idea why my IDE cannot import some files related to this?My cubeMX and cubeIDE are latest version.
I am trying to familiarise myself with the thread using the wiki page STM32WB_OpenThread_Border_Router_Application and am not getting anywhere because some graphics are missing on the page and I especially need the graphic with the CLI commands. It is the graphic File: Connectivity 1-12-0.png
Hi Community!Currently working with the STM32WL5MOC module on my custom board.I'm trying to work with the ADC but getting values like the fallowing and not changing even when i connect the ADC signal to ground. light: 1366light: 1367light: 1367light: 1366light: 1367I'm using default configuration for the ADC, and using the STM32cubethis is the code I'm using while (1) { HAL_ADC_Start(&hadc); HAL_ADC_PollForConversion(&hadc, HAL_MAX_DELAY); lux = HAL_ADC_GetValue(&hadc); sprintf(msg, "light: %hu \r\n",lux); HAL_UART_Transmit(&huart2, (uint8_t *)msg, strlen(msg), HAL_MAX_DELAY); HAL_Delay(500); } Thanks in advance
Hi,i use the example ble_p2pServer_ota with STM32WBA55. How can i send a value (uint_8 or a string) from the server (NUCLEO-WBA55) to the client (Cell Phone)?Here in the example code (file p2p_server_app.c), the value of Switch_c_NOTIFICATION_ON for example is 1, but this is an enum and is used as a flag. I want to send an uint_8 or string value from a Sensor. How can i do this?case P2P_SERVER_SWITCH_C_NOTIFY_ENABLED_EVT: /* USER CODE BEGIN Service1Char2_NOTIFY_ENABLED_EVT */ P2P_SERVER_APP_Context.Switch_c_Notification_Status = Switch_c_NOTIFICATION_ON; // send the value 1 LOG_INFO_APP("-- P2P APPLICATION SERVER : NOTIFICATION ENABLED\n"); LOG_INFO_APP(" \n\r"); /* USER CODE END Service1Char2_NOTIFY_ENABLED_EVT */ break; case P2P_SERVER_SWITCH_C_NOTIFY_DISABLED_EVT: /* USER CODE BEGIN Service1Char2_NOTIFY_DISABLED_EVT */ P2P_SERVER_APP_Context.Switch_c_Notification_Status = Switch_c_NOTIFICATION_OFF; // send the value 0 LOG_INFO_APP("-- P2P APPLICATION SERVER : NOTIFI
Hi,I am working with the ble_p2pServer_ota example with an STM32WBA55 controller.If I want to send data (one byte for example) to an app on a cell phone, what settings do I have to make in the characteristics in CubeMX?
Hi ,Regarding working with the STM32WLE5 with SUBGHZ block in the CUBE-MX.in the clock section tab in the CUBE-MX I dont see any mention of the RF-PLL clock. if i understood correctly - in order to work with the LORA SUB-GHZ BLOCK i need to supply a 32 Mhz HSE clock . I dont see in the clock section tab in the CUBE-MX any mention of this "must -have" 32 mhz HSE clock . it seems any clock source is possible and any frequency is possible .Does the clock section tab in the CUBE-MX dont represent the CLOCK tree in the STM32WLE5 ? I see this issue even when I open example code for sughz block within the CUBE-MX. Thank you,Viola
Hi,I am using Zigbee_OnOff_Router_NVM to test the opening and closing function of IasZone Server. I found that by default, the notification generated by modifying the status value is 'Report Attributes'. But according to document 'Zigbee Cluster Library', a 'Zone Status Change Notification Command' should be generated.I also found that if the following code is commented on, it can generate the 'Zone Status Change Notification Command' notification correctly, but the status value will lose persistence. /* Allocate the attributes */ // if (ZbZclAttrAppendList(zigbee_app_info.iaszone_server_1, zcl_iaszone_server_attr_list, ZCL_ATTR_LIST_LEN(zcl_iaszone_server_attr_list))) // { // ZbZclClusterFree(zigbee_app_info.iaszone_server_1); // return ; // } I want to know how to generate 'Zone Status Change Notification Command' notifications while enabling data persistence.I provided the source code I used. ThanksDL_Weng
I tried loading the p2pserver_ota example binary at address 0x08004000 and before that I flashed the application manager at address 0x08000000.When I reset the controller I get these logs at usart1 and my led2 connected to pb11 starts blinking-==>> Start Ble_Hci_Gap_Gatt_Init functionSuccess: aci_hal_write_config_data command - CONFIG_DATA_PUBADDR_OFFSETPublic Bluetooth Address: 00:80:e1:2a:b0:9aSuccess: 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 commandSuccess: aci_gap_configure_whitelist command==>> End Ble_Hci_Gap_Gatt_Init functionServices and Characteristics creationSu
Hi,I hope everyone is fine.I have question about Inheritance Certification.The Thread Group says;The Thread Group allows certification by inheritance for families of end products that reuse the same Thread system (chip and stack) and the same use cases.When appropriate stack libraries and SOC or module used End Device Certification can certifiable by Inheritance. Our company does not have any Thread or Matter-certified products, but if we use ST's certified module and stack library, can we obtain Thread certification for an end device we develop?Can we use the certification by inheritance feature when using ST's modules?We want to use a Matter-enabled module and a certified stack binary in our projects; however, we will design a PCB using this module.We would like to confirm whether soldering components onto the PCB with the module or chip would invalidate the certification by inheritance. We would greatly appreciate your support with your experience and knowledge.
Hi,i am working with NUCLEO-WBA55 and using the BLE_p2pServer_ota example as a template for my project.Unfortunately, the program does not start when I supply it with power via USB but only after I have pressed the Reset button. Can someone please help me?
Hello,I have an STM32WB and I am trying to get the data from some pressure, temperature and humidity sensors through DMA and send them to my Android via BT, while at the same time saving it as well on a SD card with SPI. Both programs work quite well separately, both for SD and for BT (I used the Hands On from STM where you send random temperature data to the app) , however when I put them together neither of them works. Here I think I lack the knowledge of setting the Clock Source. For my SD card and receival of sensor data I normally use the PLLCLK with 32Mhz on CPU1 and 16Mhz on CPU2. However for the BT app I used the HSE_SYS clock source with both CPUs on 32Mhz,I can't seem the wrap my head around how to set the clock in order for both these functions to be able to work together.Also as a second question would be how do you suggest to implement the two functions in a same program? I want the data to be transmitted simultaneously via BT while also storing the same sensor data on the
How to port BLE Mesh Lighting application SW for BNRGLP into STM32WB09?
In order to test the BLE performance of the STM32WB55CGU6 in STM32CubeMonitor-RF, I downloaded the BLE_TransparentMode program onto the STM32WB55CGU6. However, I did not notice that the pin configuration of this program did not enable Serial Wire. The pin configuration is shown in the image.This has resulted in a problem: I am unable to connect the microcontroller to STM32CubeProgrammer, Keil, or other software via ST-Link. I have also tested the UART and USB connections in STM32CubeProgrammer, but they also failed to connect. What should I do to resolve this issue?
Hello,Recently, I have been working with the SensorTile module (STEVAL-STLCS01V1) featuring the STM32L476JG and BlueNRG-MS. I successfully created standalone HID devices for both keyboard and mouse. However, when I attempted to implement a composite HID device, the computer failed to recognize it properly.I would like to know if BLE supports HID composite devices.Could you provide some guidance or suggest possible solutions? Thank you! I will paste my hid_report_map below. /* USER CODE BEGIN PV */ #define FEATURE_SUPPORT_MULTIMEDIA_KEYBOARD 1 //composite hid #define use_mouse 1 #define use_keybord 1 #if FEATURE_SUPPORT_MULTIMEDIA_KEYBOARD #define HIDS_KB_REPORT_ID 0x01 //0x01 #define HIDS_MM_KB_REPORT_ID 0x02 #endif static uint8_t hid_report_map[] = { #if use_keybord 0x05, 0x01, // USAGE_PAGE (Generic Desktop) 0x09, 0x06, // USAGE (Keyboard) 0xa1, 0x01, // COLLECTION (Application) #if FEATURE_SUPPORT_MULTIMEDIA_KEYBOARD //composite hid // 0x85,
Hello,Can someone please provide a working download file for "STM32Cube function pack for STEVAL-PROTEUS1 sensor datalog and file transfer over BLE and USB"?The ZIP-File Version 1.1.0 is corrupt.It cannot be extracted neither on Windows, Linux or Mac.To be honest it's possible to extract under Linux.But the archive just contains 82 files instead of 2408 files like in Version 1.0.0.Thank you.
HelloFor now, I have a Bluetooth application that sends data through a custom app with notify.I see my device on the ST bluetooth tool box with my data.However, to update my application, I want to send data only if I am correctly connected to my phone to not miss data.I tried to work with aci_hal_get_link_status() function but the status stay at 0. Here's a snippet of my code : uint8_t link_status = 0; uint16_t link_connection_handle = 0; aci_hal_get_link_status(&link_status,&link_connection_handle); main_CreateBufferBle("color:red\n size:1.5\n length:100 \n",0,count); Custom_APP_Send_Data(0); So I do see the data on my phone but the link status and link connection handle stay at 0. I haven't found an example of using this function so I might use it wrongly.Kind regards,Pierre Lobert
Hello,When activating STM32_WPAN in STM32CubeIDE for STM32WB, the prescaler of RTC is forced to CFG_RTC_ASYNCH_PRESCALER (value is 15) and CFG_RTC_SYNCH_PRESCALER ( value is 0x7FFF ).I am used to configure RTC on other STM32 products with 127 and 255 values.During test, I see that the RTC is running ~ 16 times to slow. Do I miss something?Is this problem similar to point 2 of the question "STM32WB - Problems with BLE and RTC" from "MLind.2" on 2020∕05∕25?Thanks for helpBest regardsPaul
Hello,I am trying to put the Lorawan keys (DEVEUI,APPEUI, APPKEY) from a serial terminal using uart communication for end node application. I am using uart interrupts for this. There is cubemx generated usart_if.c file which contains HAL_UART_RxCpltCallback() already. This is the code snippet: void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { /* USER CODE BEGIN HAL_UART_RxCpltCallback_1 */ /* USER CODE END HAL_UART_RxCpltCallback_1 */ if (huart->Instance == USART2) { if ((NULL != RxCpltCallback) && (HAL_UART_ERROR_NONE == huart->ErrorCode)) { RxCpltCallback(&charRx, 1, 0); } HAL_UART_Receive_IT(huart, &charRx, 1); } /* USER CODE BEGIN HAL_UART_RxCpltCallback_2 */ /* USER CODE END HAL_UART_RxCpltCallback_2 */ } How to modify this with my code so that I can receive a command from serial terminal and proceed accordingly. Thank you.
Hi,I created a new STMCubeMX project based on STM32WBA52KE and when I build the generated code in CubeIDE, I get this error: arm-none-eabi-gcc "../Core/Src/stm32wbaxx_it.c" -mcpu=cortex-m33 -std=gnu11 -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DBLE -DTX_SINGLE_MODE_NON_SECURE=1 -DUSE_HAL_DRIVER -DSTM32WBA52xx -c -I../Core/Inc -I../System/Interfaces -I../System/Modules -I../System/Modules/BasicAES -I../System/Modules/Flash -I../System/Modules/MemoryManager -I../System/Modules/Nvm -I../System/Modules/RTDebug -I../System/Modules/SerialCmdInterpreter -I../System/Config/Log -I../System/Config/LowPower -I../System/Config/Debug_GPIO -I../System/Config/Flash -I../System/Config/ADC_Ctrl -I../System/Config/CRC_Ctrl -I../STM32_WPAN/App -I../STM32_WPAN/Target -I../AZURE_RTOS/App -I../Drivers/STM32WBAxx_HAL_Driver/Inc -I../Drivers/STM32WBAxx_HAL_Driver/Inc/Legacy -I../Utilities/trace/adv_trace -I../Utilities/misc -I../Utilities/tim_serv -I../Utilities/lpm/tiny_lpm -I../Middlewares/ST/STM32_WPAN -I
Hi, I upgraded CubeIDE from 1.14.1 to 1.15.1 and CubeMX from 6.10.0 to 6.11.1. After the upgrade I built my code, and everything worked fine but I changed some parameters in CubeMX and tried to regenerate the code. CubeMX asked for upgrade of FW_WBA from 1.3.0 to 1.3.1 and I did this upgrade also.STM32 Board: STM32WBA52CGWith FW_WBA v1.3.1:1. There is a linker error:E:/DevTools/ST/STM32CubeIDE_1.15.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.100.202403111256/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: warning: E:/DevTools/ST/STM32CubeIDE_1.15.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.100.202403111256/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v8-m.main+fp/hard/crtn.o: missing .note.GNU-stack section implies executable stackE:/DevTools/ST/STM32CubeIDE_1.15.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.