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 guys!I'm working with STM32WL series using the LoRa application, for that the RTC must be in binary mode.However, I need the calendar and timestamp for my project, which implies that I need to use BCD mode.I'm aware that the RTC3 has the mixed mode, however, whenever I tried using it, the whole project stopped working.I've been reading the AN4759, and the posts about it in the community, but I have some doubts about the solution.LoRa uses the alarm A, which requires the subseconds alarm, and I know that the calendar doesn't work in binary mode, but can I activate somehow by software the calendar and timestamp still in binary mode? (if so, how and where in the code?)Other thing, while using the mixed mode, what I have to do to make it work like in binary mode but with the calendar? Like, I saw that I might have to transform binary date to BCD, is it necessary? If so, I'm confused how and where in the code I do this. Also I need to adjust the alarm A again, right? What do I have to
I am facing an issue with BLE connection on the NUCLEO-WBA55CG board.Using the same .ioc file:When I generate the code for STM32CubeIDE, the project builds and runs fine, and I can connect to the device successfully using the ST BLE Toolbox app.But when I generate the code for IAR, the project builds and runs, but the device cannot be connected. On the Android app, when I press Connect, it briefly shows Connecting and then reverts back to Connect, without establishing the connection.So the only difference is the toolchain (CubeIDE vs IAR).Environment:STM32CubeMX 6.15STM32Cube_FW_WBA 1.7.0IAR Embedded Workbench (please fill in your version here)STM32CubeIDE 1.19.0IAR 9.60Has anyone experienced this issue? How can I make the BLE connection work properly with IAR as well?
Hi,I recently bought two NUCLEO-WL55JC1 boards and was testing the SubGHz_Phy_PingPong example to establish communication between them. Everything was working fine at first, but at some point (I’m not sure if I changed anything), one of the boards stopped being recognized by STM32CubeIDE when trying to debug.The error message is:"Target no device found. Error in initializing ST-LINK device. Reason: No device found on target."When I connect the board to the PC via USB, it is detected, but a FAIL.TXT file appears with the message:"The interface firmware FAILED to reset/halt the target MCU".I know the firmware is still loaded because, when powered, this board still sends messages that are received by the other one (which works normally).The jumpers on both boards are configured the same way, and I have tried debugging through both USB and SWD without success.Is there a way to make STM32CubeIDE detect the board again? What could be the cause of this issue?Thanks in advance for your support
Good day I am having many troubles with implementing FUOTA on my Dev kit. Firstly, I have downloaded the STM32Cube_FW_WL_V1.3.1 firmware. When i edit the script files to build using the latest cube ide (1.19.0) the build fails with many errors. I then downgraded to V1.17.0 and changed my script file. The Lorawan FUota single core project was able to build and i was able to flash it to my device. When i attempt fuota on my nucleo-wl55jc1 device everything happens as expected. However, When the device switches from class A to Class C and begins to receive fragments I encounter a hard fault: The server continues to send fragments but the device has essentially stopped. I did deep dive online and found that this is a known issue:https://community.st.com/t5/stm32-mcus-wireless/stm32wl-fuota-single-core-not-working-on-fw-wl-v1-3-0-in-eu868/m-p/608263 Please could you add this to my enquiry I am losing hope that I may get FUOTA working. Kind
Hi ST team, I am working on STM32WL55JC1. I am trying to enable the HSE external crystal oscillator, but it never starts.In firmware, I configure RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; and set HSEState = RCC_HSE_ON. After enabling, I confirmed that HSEON set, however HSERDY flag in RCC->CR never becomes set.I have tried:Both Crystal/Ceramic Resonator mode and Bypass mode in CubeMX. In Bypass mode with external clock it works but in Crystal mode failed.Using HAL_RCC_OscConfig() followed by HAL_RCC_ClockConfig().Forcing HSE output on MCO pin (PA8) → no signal observed.Hardware Verification Done:External 32 MHz crystal (NX2016SA-32M-EXS00A) with correct load capacitors (as per datasheet).Verified soldering, power rails, and grounding.Crystal reference design followed exactly (same as ST Nucleo-WL55 board).Supply voltage and decoupling capacitors confirmed OK.Attempts Made:Full chip erase + reflash minimal firmware that just enables HSE and outputs it on MCO.Che
I am using NUCLEO-WL55JC1 to use LoRa communication. And I add acceleration sensor of LSM6DSOX to this board and I want to get acceleration data while communicating LoRa. But I could not get correct acceleration value. And I could get correct acceleration value when I comment out MX_LoRaWAN_Process() in main.c. So It seems that acceleration sensor doesn't work when LoRa is enable. Do you know why and could you give me advices of this issue.
Hello,I have custom hardware with a WB55 on it that I'm trying to use as a client, I've chosen the P2PClient profile for this board.I also have a Nucleo-WB55 board that is configured as my server, Server Profile with a Custom Template. The custom template has one characteristic that is a variable length CHAR_PROP_NOTIFY.Modifying the app_ble.c and I can successfully connect to the Nucleo-WB55 board using the full name as can be seen in the code below. /* search AD TYPE 0x09 (Complete Local Name) */ /* search AD Type 0x02 (16 bits UUIDS) */ if (event_type == ADV_IND) { /* ISOLATION OF BD ADDRESS AND LOCAL NAME */ while(k < event_data_size) { adlength = adv_report_data[k]; adtype = adv_report_data[k + 1]; switch (adtype) { case AD_TYPE_FLAGS: /* now get flags */ /* USER CODE BEGIN AD_TYPE_FLAGS */ /* USER CODE END AD_TYPE_FLAGS */ break; case AD_TYPE_TX_POWER_LEVEL: /* Tx power level */ /* USER CODE BEGIN AD_TYPE_TX_POWER_LEVEL */ //int RSSI = (int8_t)*(ui
Hello,I'm trying to figure out why setting the MTU stops the ACI_ATT_READ_BY_GROUP_TYPE_RESP_VSEVT_CODE event from ever firing. This essentially breaks everything.case HCI_LE_CONNECTION_COMPLETE_SUBEVT_CODE: /* USER CODE BEGIN EVT_LE_CONN_COMPLETE */ hci_le_set_data_length(tpms_handleNotification.ConnectionHandle, /*tx_octets*/251, /*tx_time*/2120); tBleStatus result = aci_gatt_exchange_config(tpms_handleNotification.ConnectionHandle); if(result != BLE_STATUS_SUCCESS) { APP_DBG_MSG("\r\n\r** MTU failed to set.\n\r"); } /* USER CODE END EVT_LE_CONN_COMPLETE */ /** * The connection is done, */ connection_complete_event = (hci_le_connection_complete_event_rp0 *) meta_evt->data; BleApplicationContext.BleApplicationContext_legacy.connectionHandle = connection_complete_event->Connection_Handle; BleApplicationContext.Device_Connection_Status = APP_BLE_CONNECTED_CLIENT; /* CONNECTION WITH CLIENT */ APP_DBG_MSG("\r\n\r** CONNECTION COMPLETE EVENT WIT
where do I get API documentation for firmware OTA of STM32WBA52CGUX ?
Hello, I designed a board based on the STM32L031F6P6 with an sx1262 chip, and it worked well using the driver https://github.com/Lora-net/sx126x_driver for LoRa transmission. I'm trying to send LoRaWAN signals, but I'm having trouble finding examples of LoRaWAN transmission with sx1262 for STM32 platforms. Does anyone have any tips?
Hello, I'm very new to BLE. I'm following STM example code.I want to be able to run on battery and turn on the BLE to advertise for 5 minutes then stop. After an interrupt, I want to be able to turn on advertising again.In the STM32WBA Bluetooth® LE – Serial communication - stm32mcu Example, i found in main while loop, there is MX_APPE_Process(); which initiates BLE. I want to implement something like:switch (...) { case 0: // walking MX_APPE_Process(); case 1: // stationary // Turn off advertising}How should I do. Please support me.
I am using stm32wle5jc ( LoRa Wio E5 mini board) with stm32wl FW stack. I tried lot ways to implement the RTC Alarm B (in BIN, MIXED and BCD mode). But is stops entire LoRa Process. How I fixed that?
I want to add a custom BLE service in STM32CubeMX. I saw on a website that the Add Custom Service feature could be used for this. However, I don't know the procedure for adding a service using this feature. Please tell me the steps to add a service using the Add Custom Service feature in the latest IDE and MX environment.
Hello,I am using P-Nucleo-WB55. I have made a simple BLE server example that receives data from a client and it's working well. But whenever I add sequencer tasks, while these tasks are running, if I send any data from the client (ST BLE App), the nucleo doesn't receive it immediately. I have to wait until the tasks are finished.I try to minimize the task time so that the sequencer can run whatever is related to the events, but it also doesn't work. I have to wait until all the tasks are finished and there are no set tasks, so that the event handler is called and the action that happens when I send data happens. I am trying now with this example mahmoudahmedibrahim5/BLE_Receive_example, so that I can add that to a real application, so this is just an example.This example has 1 service with 1 characteristic. When the client sends data, the event handler calls Custom_STM_App_Notification and it checks the data and blinks different LEDs based on that data. It has only one t
If LPAWUR, Sigfox, and Tiny_LPM are enabled in PWR_DEEPSTOP_RTC example code, will the RTC wakeup mode and DeepStop mode work properly?
I would like to know why 2 is added to the P2PNotifyServerToClientCharHdle while checking for an attribute handle match in p2p_stm.c file. Later in the same function, 1 is added to P2PWriteClientToServerCharHdle. Is there an implicit assumption made here to add 2 to a notify handle and 1 to a write characteristic handle. P2PNotifyServerToClientCharHdle is declared as uint16_t. Why add 2 to an integer for matching to Attr_Handle. static SVCCTL_EvtAckStatus_t PeerToPeer_Event_Handler(void *Event) { SVCCTL_EvtAckStatus_t return_value; hci_event_pckt *event_pckt; evt_blecore_aci *blecore_evt; aci_gatt_attribute_modified_event_rp0 * attribute_modified; P2PS_STM_App_Notification_evt_t Notification; return_value = SVCCTL_EvtNotAck; event_pckt = (hci_event_pckt *)(((hci_uart_pckt*)Event)->data); switch(event_pckt->evt) { case HCI_VENDOR_SPECIFIC_DEBUG_EVT_CODE: { blecore_evt = (evt_blecore_aci*)event_pckt->data; switch(blecore_evt
Hi , I am trying to measure the output return loss ( in tx mode) of my board rf chain which include the stm32wle5.if i understnad correctly - in order to do that i need to put the STM32WLE5 in TX MODE which means its PA should be powered up and ready to transmit but without any transmitted data. ( so that i will be able to measure the Return loss using external VNA connected to the TX RF PORT of my board)is there an option to do that ? i cant seem to find a way to make the internal PA ready to transmit (powered up) without actually transmitting . is it possible to measure the output RL as i described ? thank you,viola
Hi all, We are using a STM32WB5MMG uC in one of our products and we just happened to see in its datasheet that the secondary crystal frequency is 32.774 kHz, instead of the common 32.768 kHz, is that right?We are using the internal RTC clocked by the LSE to keep real time in the device and thus we would like to have the least amount of drift, within the crystal manufacturing tolerance.If that is the case, then I understand a soft calibration of the RTC is needed to account for the +183 ppm with respect to the 32.768 kHz, correct?By the way, our project is based on the SBSFU+SecureBin+BLE OTA demo project. Is it possible that these already compensate for that? Thank you all
Hello ST Expert ,I'm using the NUCLEO-WL55JC1 for my project as Gateway and End-device.I have one Gateway and 4 end device ( based on the same baord ) , i don't made any hardware change , and I'm using the SW delivered by STMicroelectronics.I have an issue for the distance range between the Gateway and the End device.I'm using the same configuration in all boards ( gateway and end-devices )- SF = 11 ; Freq = 125Khz- 22dbi=> The maximum range is 100 metres So ,I changed the Antenna I had 300 meters..but it is not enough for my projects.At least i want 1000 metres to connect all End device. Any Suggestion please I'm very blocked Best Regards
Hi,I’m designing a PCB with the STM32WLE5CCU6. I don’t plan to use the integrated RF (LoRa) section, but the MCU choice is fixed.I couldn’t find clear guidance in the datasheet on how to power the device when the RF block is unused. I’d like to optimize the board and avoid populating connections/components that won’t be used.QuestionsCan the RF section be left unpowered entirely, or do certain rails still need to be supplied?Do any RF-related pins need specific pull-ups/pull-downs, or can they be left floating?Which RF-path components can be omitted without impacting MCU operation?Are there any recommended pin straps or layout considerations for this use case?Thank you!Product page: https://www.st.com/en/microcontrollers-microprocessors/stm32wle5cc.html
Hi, allI'm developing a BLE device using the STM32WB05 that supports I2C and BLE connections.I successfully established an I2C connection using I2C_SCL(PB6) and I2C_SDA(PB7).However, PB7 is used for RADIO_RF_ACTIVITY on BLE, causing a conflict between BLE and I2C.Therefore, I tried changing to I2C_SCL(PA0) and I2C_SDA(PB14) to connect to the I2C master, but the connection failed.I'm wondering if the I2C pins on the STM32WB0 are limited to only PB6 and PB7.thanks.
Hi, I'm working with an STM32WB55cgu6. I'm having trouble with power consumption in sleep mode, which is around 100μA or more. I replaced the chip and it dropped to 35-50μA, but on newer boards it's around 30μA. I'd like to know if there's any configuration I can do to reduce this consumption as much as possible.Thank you.
Hello :) I am developing an application using a pair of NUCLEO-WL33CC1. I am testing the LPAWUR, using the LPAWUR_WakeupRadio_Rx and MRSUBG_WakeupRadio_Tx examples as a starting point. The examples work fine, but the range is very short, only about 0.3 m. How can I increase my range? I am able to achieve 50m+ when sending my normal radio telemetry, just the LPAWUR range is very short. This makes me believe the antenna and hardware TX path is fine, and it is a configuration issue with LPAWUR. Can anyone reccomend some changes to the following code? I tried enabling the AGC which had no positive effect. Here is my init function for LPAWUR:static void MX_LPAWUR_Init(void) { /* USER CODE BEGIN LPAWUR_Init 0 */ /* USER CODE END LPAWUR_Init 0 */ /* USER CODE BEGIN LPAWUR_Init 1 */ /* USER CODE END LPAWUR_Init 1 */ /** Initializes the RF Config */ LPAWUR_RadioInitStruct.EnergyDetectorIcal = ED_ICAL_VBAT_3_25_TO_3_50; LPAWUR_RadioInitStruct.ClockDivider = 7; LPAWUR_RadioIni
Hi, I want to make a simple application with an STM32WB5MMG that exposes a characteristic which I can read. I created the service and the characteristic, and I enabled the CHAR_PROP_READ property. In custom_app.c, I then use Custom_STM_App_Update_Char to update the value under the CUSTOM_STM_FW_VER_READ_EVT case branch. However, I can't read the correct value—it always returns 0.I also tried enabling the GATT_NOTIFY_READ_REQ_AND_WAIT_FOR_APPL_RESP property, but from the debugger, I see that it doesn't even enter the void Custom_STM_App_Notification(Custom_STM_App_Notification_evt_t *pNotification) function.Can someone help me?Thanks.
On the STM32WL33 chip, is it possible to switch between LPAWUR Wake-up Radio Rx mode and PWR DeepStop RTC mode in the same code?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.