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, Recently, I came across an exciting open-source project called ioter, which is based on the Matter thread protocol. github.com/Samsung/ioterIt appears that this project has been verified only with Thread devices based on Nordic nRF52840. However, I would like to know ST thread device is compatible with the tool.Would you recommend which product is the most compatible. If it would be possible to confirm its compatibility with the Matter project. :thumbs_up:
..
Hello everyone, I ve been trying to implement DMA ADC to ping-pong example for 5-6 days. I made HAL_ADC_PollForConversion made without problem. When I try to implement dma + adc, it return 0. I reviewed lorawan adc.c example for polling (there is no dma example). https://github.com/STMicroelectronics/STM32CubeWL/blob/main/Projects/NUCLEO-WL55JC/Demonstrations/LocalNetwork/LocalNetwork_Sensor/Core/Src/adc.cI added these on sys_app.c static void Gpio_PreInit(void) { /* USER CODE BEGIN Gpio_PreInit_1 */ /* USER CODE END Gpio_PreInit_1 */ GPIO_InitTypeDef GPIO_InitStruct = {0}; /* Configure all IOs in analog input */ /* Except PA143 and PA14 (SWCLK and SWD) for debug*/ /* PA13 and PA14 are configured in debug_init */ /* Configure all GPIO as analog to reduce current consumption on non used IOs */ /* Enable GPIOs clock */ __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE(); GPIO_InitStruct.M
We are using the STM32WLE5JCI6 chip and we are mostly done with hardware and software development but got stuck with the below issues.We are trying to read two analog inputs from PB4 (ADC1_IN3) and ADC_CHANNEL_VREFINT. (We are using a Lithium thionyl battery so we do not have a fixed voltage)1. ADC_ReadChannels(ADC_CHANNEL_3) ---> from pin PB4 (ADC1_IN3)2. ADC_ReadChannels(ADC_CHANNEL_VREFINT) ---> from Internal voltage reference(1) From pin PB4:We expected ADC_CHANNEL_3 to have the input data of PB4.We expect half of the input voltage at the ADC pin as we have added a voltage divider network. However, ADC_CHANNEL_3 always gives data of around 2050 mV.So, please let us know what is the problem here?Where we are measuring the same on DMM and it shows the expected value.For example:By giving input as 3600 mV, - While measuring using DMM on pin PB4, it shows the expected value as around 1800 mV. - But, by read
The first time I runned the program it worked correctly but then it doesn't work
Hello,I want to mass erase the flash of the P-NUCLEO-WB55 board using UART and USB in boot mode. I have tried mass erase using the STM32Cube programmer it is showing an error "Mass erase operation failed Please verify flash protection". All the option bytes are in their default state as you can see in the screenshots below. I also tried to connect and mass erase the controller using the Flash loader demonstrator app using UART. The Demonstrator app is unable to read the memory of the controller. but I am able to change the read and write protection using the demonstrator app. but whenever I am trying to mass erase the controller using the demonstrator app, it is showing that the controller is read-protected.I have also tried to connect in normal operation mode using ST-link V2 then mass erase is working fine. but the problem is why I am not able to mass erase the controller in boot mode. If anyone is able to help me with how to mass erase the controller in boot mode it would be appreci
STLINK-V3PWR Not able to connect to STM32WL and other STM32 MCU's using STM32CubeProgrammerSame MCU is working with STlink-V3 13:39:13 : ST-LINK SN : 002F004D3431510137383732 13:39:13 : ST-LINK FW : V4J2B1P4 13:39:13 : Board : STLINK-V3PWR 13:39:13 : Voltage : 0.02V 13:39:13 : Error: No STM32 target found
Hi all.I'm working with stm32wle5 (rak3172 module) with a custom board.It works but now I need to change default data rate DR_2 to DR_0 (need to increase distance).I have already tried to change the lines below at file RegionAU915.h//Minimal datarate that can be used by the node#define AU915_TX_MIN_DATARATE DR_0//Default datarate used by the node#define AU915_DEFAULT_DATARATE DR_0 //DR_2//The minimum datarate which is used when the dwell time is limited.#define AU915_DWELL_LIMIT_DATARATE DR_0 //DR_2Also I have set ADR to off.Even with this changes the endnode keeps using DR_2.I appreciate any help.
Hi,I'm a new user of STM MCUs. I have a custom board with stm32wle5 on it, and I try to config the lorawan to send data to Helium. I searched over the internet, but all the examples are based on the Nucleo board and use a pre-configured .ioc file. Is there any step-by-step guide on configuring Lora from scratch on a custom board? how to do the config in cubeMX and write a simple code just to send a number. There are many documents and videos but non of them helped me. I'm completely lost here.Thank you
Hi,I followed this setting herehttps://community.st.com/s/article/how-to-configure-the-rtc-to-wake-up-the-stm32-periodically-from-low-power-modesBut still not able to select LSE as RTC source. What steps I missed? Please help.Thanks!
Hello,I have a STM32WLE that works with the lora end_node project I have a sensor that i power up with a mosfet when needed. But during the time that the chip is sleeping i need to disable the internal I2C pullup (+30 uA more due to the fact that the VCC of the sensor don't control the internal pullup).Can someone help me Thanks
Hello, I've begun my learning experience with modification of HRSTM example for STM32WB15. However i seem to have problem with using ADC inside of the task while CFG_LPM_SUPPORTED is set to 1. What can be a cause of such problem?
HiI try to use task on the STM32WB5MMG mcu.My task check if a queue is not empty, if not empty then copy the item on its top and send its message by the BLE. The task handler is:void ble_tx_messages_queue_handler_task(){ queue_element *element; CircularQueue_Init( &usb_sub_packets_queue , queue_buffer , QUEUE_SIZE , sizeof(queue_element) , CIRCULAR_QUEUE_NO_FLAG ); while(1) { if( CircularQueue_Empty(&usb_sub_packets_queue) == FALSE ) { element = (queue_element *)CircularQueue_Sense( &usb_sub_packets_queue , (uint16_t *)sizeof(queue_element) ); CircularQueue_Remove( &usb_sub_packets_queue , (uint16_t *)sizeof(queue_element) ); TxNotification.Custom_Evt_Opcode = CUSTOM_STM_USB_TO_BLE_READ_EVT; TxNotification.DataTransfered.Length=SizeUsb_To_Ble=element->data_length; TxNotification.DataTransfered.pPayload=element->data_pointer; Custom_STM_App_Notification(&TxNotification); } }}when this endless loop is running the BLE does not receive nor transmit
Hi, i have NUCLEO_WB15CC Board and i want to implement BLE HRS (Heart Rate Sensor) example with FreeRTOS.I have tried HRS example in NUCLEO_WB15CC with ST BLE Sensor apps in android and it worked.then i tried to implement FreeRTOS with HRS example. but still no luck (no device found in ST BLE Sensor apps).I start with BLE HRS example and then create FreeRTOS with defaultTask.Do you have any suggestion how to implement FreeRTOS with BLE for STM32WB15? because in the example project (github.com/STMicroelectronics/STM32CubeWB) there is no example FreeRTOS with BLE for STM32WB15CC.thanks in advance.
Hi,Bought a new STM32WB55RG development board, created a sample code on STM32CubeIDE V1.12.1, compile good in IDE. ( using Windows 10) But when download to the board by click the RUN button, it will pop up Error screen - The exception unknown software exception (0x40000015) occurred in the application at location 0x00000000000482646.Created another example code, it had the same issue.. The board connect OK to Windows PC USB. I try another code and run on Keil, it does able to download. So I think the board itself is good, only the setting of the CubeIDE issue.USB cable is only 2 feet long. Thanks idea of to fix it?thanks!
Hello!I am developing the firmware for an STM32WLE5CCUx that I intend to use as an I2C slave device. The I2C interface works well, and the LoRa (de)modulation too. I have decided to make some small changes in the firmware to use the chip as an FSK transceiver instead of a LoRa transceiver.To achieve this, I initially just swapped the definitions of USE_MODEM_LORA and USE_MODEM_FSK (not in the .ioc file, but directly in subghz_phy_app.h) and added some #if #elif statements to configure the radio based on these definitions. Using the debugger in STM32CubeIDE, I verified that the relevant parts of the code, where the radio is configured, were executed. However, by means of an SDR, I obtain the signal as shown in the picture; I used a slow FSK_DATARATE (set to 1000) to obtain a clearer view of the signal.As you can see, the result is not the expected one. The frequency components of the signal should be only at the edges. It almost seems a mixed modulation of LoRa and FSK togethe
Hello everyone, I am trying to read adc value from microphone. I am using FFT to get 100 Hz to 2 kHz or more to detect tone. In my project, I can use dma for get adc value and then I use DSP CMSIS. I can do this with my new workspace (with out anything only ADC-DMA) but when I try to implement this on Ping Pong Application I am struggling. I am beginner of stm32 and I can't find any video or blog about adding ADC sensor on stm32wl. As I say, I did all of things but I can't add ADC pooling or ADC DMA method on Ping Pong Application. I try to add adc_if.c, adc_if.h, sys_app.c,sys_app.h but I couldn't manage it.I found adc.c and I configure it for Pool method, I only made continous cov mode enable.hadc.Init.ContinuousConvMode = ENABLE;and other files (adc.c etc.) I try to add these (I am using IN0 of ADC. So it is ADC_CHANNEL_0:static uint32_t ADC_ReadMicData(uint32_t channel) { uint32_t ADCxConvertedValues = 0; ADC_ChannelConfTypeDef sConfig = {0}; MX_ADC_Init(); /* Configu
Hi,We are testing BLE advertisement intervals in noisy environment(where there are multiple BLE devices around). The minimum and maximum BLE advertisement intervals we set are 20ms and 40ms. Usually when we place the device in shielded box all the advertisement packets are received at the acceptable time intervals(i.e., ~30ms). In the noisy environment packets are received at random time intervals. some packets are missed and some as a burst with <10ms intervals.Here is snippet of strange BLE traffic that we have seen. In this case the interval between packets (circled in red) changes from normal fast advertising at ~35ms intervals to a random interval of 2-8ms spacing. Once the handle enters this state is will stay this way until the next MAC address assignment which in this case took 45 seconds.We are unable to speculate this behavior and our main concern is about current consumption with this behavior.What is the cause for this and how to avoid?
Whenever I upload code to my STM32 WB55 Nucleo to start Wireless stack (when I do not unplug and plug again there is no BLE device when I open ST BLE Toolbox) I have to manually reset device.Is there a way to skip that step? I mean, when I do debug it is kind of annoying that I have to upload firmware and then only attach debugger without reset. Can anybody help me? It is firmware related problem (lack of Wireless stack reset at start?) oraz just debuggersettings (force "hard" reset after upload firmware)?Thanks in advance.
Hello,I would like to power an STM32WLE5 with two voltage levels:VBAT: 2 series AA batteries, yielding a voltage comprised between (~3.2V and ~2V) over the life of the batteries.VBOOST: A boosted voltage from the batteries with a target of 3V. If the batteries are old enough, the voltage is boosted to 3V. If they are brand new, the automatic passt-hrough connects VBAT directly. Thus, VBOOST = [3, ~3.2] voltsAre there requirements on VDD that prevents the MCU from operating normally if the voltage changes? What would be the maximum rate of change? In section 5.3.4 of the datasheet, min VDD fall time rate is specified to 10µs/V. My understanding is that VDD should not drop more than 0.1V/µs to operate normally. Is that right?Are there other requirements that I may have missed?Some contextThe system features a white LED matrix display and a stepper motor. When the stepper is switched on, it draws enough current that the voltage drops. If the batteries have some age (but not depleted), the
Hello everyone, I have a project using BLE (bluetooth low energy) of chip stm32wb55. I used example project provided by ST, this project is BLE_Hid in folder STM32Cube _FW_WB_ V1.16.0 of ST (pictures below). I loaded it to board P-Nucleo-WB55 then connect board with laptop Windows 10 via BLE. This project is configurated bonding mode so after first connecting laptop Windows will auto remember BLE service of board and auto reconnect next times. The problem is it only work well in the first time connecting and no working next times when reconnect with bonding mode. If want it becomes works normal again, I must remove the BLE service of board on laptop Windows and conduct a connecting as the first time. Are there any solutions to don't need to remove BLE service on laptop Windows but it still work well in the reconnect next times? Please help me!!! (Note: it only have problem when connect with laptop Windows and no problem when I connect with smart phone)
Hello,I want to use STM32WB55 with Zephyr to communicate via openthread network. Which FW Version of co-processor is working. I want to use stm32wb_Thread_FTD_fw.bin as co-processor FW. On: github.com/zephyrproject-rtos/zephyr/issues/47991 is said that there is no Full Stack support. Is it possible to get thread-node working with zephyr by HCI or any other way? github.com/zephyrproject-rtos/hal_stm32/blob/main/lib/stm32wb/hci/README
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.