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 using STM32WBA52CGU6 controller.I configure Pins of LSE_IN and LSE_OUT.Without generating frequency at this LSE_IN Pin I got detection as LSE is on but actually LSE_IN is just open.I attached System clock Config code below:-/** Initializes the CPU, AHB and APB busses clocks*/RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE;RCC_OscInitStruct.HSEState = RCC_HSE_ON;RCC_OscInitStruct.HSEDiv = RCC_HSE_DIV1;RCC_OscInitStruct.LSEState = RCC_LSE_ON;RCC_OscInitStruct.LSIState = RCC_LSI1_ON;RCC_OscInitStruct.LSIDiv = RCC_LSI_DIV1;RCC_OscInitStruct.PLL1.PLLState = RCC_PLL_ON;RCC_OscInitStruct.PLL1.PLLSource = RCC_PLLSOURCE_HSE;RCC_OscInitStruct.PLL1.PLLM = 2;RCC_OscInitStruct.PLL1.PLLN = 30;RCC_OscInitStruct.PLL1.PLLP = 14;RCC_OscInitStruct.PLL1.PLLQ = 6;RCC_OscInitStruct.PLL1.PLLR = 5;RCC_OscInitStruct.PLL1.PLLFractional = 5120;if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK){ len_ReturnConfigStatus = HSE_CONFIG_SUCCESS
Hi, I am updating my app via OTA. Before downloading, can I get the full size of the bin file? Where can I get it? I want to display the download
Hello, Where can I find information, such as flash memory layout, RAM addressing, peripherals configuration for the SMT32WL5MOC ? The product page has quite a few documents, but nothing that is really usefull for developing firmware....
Hello folks,when I was using the HAL library function to implement MCU wake-up service from STOP2 mode through LPUART serial port, I found that no matter how the data was sent, the MCU could not exit STOP2 mode. Below are the relevant configurations configured by my cubemx,the MCU I am using is STM32WLE5CCU6.Related MAIN Codes:UART_WakeUpTypeDef WakeUpSelection={0}; void sss(){ printf("[INFO]Enter Stop!\n"); HAL_Delay(10); //?? WakeUpSelection.WakeUpEvent = UART_WAKEUP_ON_STARTBIT; if (HAL_UARTEx_StopModeWakeUpSourceConfig(&hlpuart1, WakeUpSelection) != HAL_OK) { Error_Handler(); } while (__HAL_UART_GET_FLAG(&hlpuart1, USART_ISR_BUSY) == SET); while (__HAL_UART_GET_FLAG(&hlpuart1, USART_ISR_REACK) == RESET); __HAL_UART_ENABLE_IT(&huart1,UART_IT_WUF); HAL_UARTEx_EnableStopMode(&huart1); HAL_Delay(10); HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,PWR_SLEEPENTRY_WFE); } void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart) { SystemClock_Config();
Hello,I am using the NUCLEO-WBA55CG. I read in the Reference manual (https://www.st.com/resource/en/reference_manual/rm0493-multiprotocol-wireless-bluetooth-le-and-ieee802154-stm32wba5xxx-armbased-32bit-mcus-stmicroelectronics.pdf) that the SPI peripheral has the option to bypass the SPI clock prescaler. This is new to me and I have never worked with STM32 MCUs that have this option. My understanding is that by setting the BPASS bit in the SPI_CFG1 register, the prescaler, which is set by the MBR bits in the SPI_CFG1 register is ignored, and so the SPI clock frequency is that of the spi_ker_clk clock, in stead of being divided by at least 2 when using the prescaler with the MBR bits. When I set this bit, the SPI appears to be working as intended, except the SPI stops outputting the clock at the corresponding pin. The MOSI line and the CS line (I am using hardware chip select management) work as intended- I can see the test data I am sending and both the MOSI and CS seem to be working f
I've build a central device that need to connect to at least 4 hosts devices it periodically loops on a aci_gap_start_general_discovery_proc()when find a device that fits mac filter it connect itself and restart a scan periodbut when it get connected to 2nd hosts next call to aci_gap_start_general_discovery_proc() return a BLE_STATUS_NO_VALID_SLOT resultmy understanding is that CM0 can't deal with enought "state machines" as quickly mentionned in ble_defs.h /* Returned when no valid slots are available * (e.g. when there are no available state machines). */ #define BLE_STATUS_NO_VALID_SLOT 0x82UI didn't find any details in an5270Can I set maximum state machine count a bit higher in config ??thank's for any help
..
HI, I download BLE_Audio_TMAP_Peripheral firmware to STM32WBA55G-DK1 board, and Headphones was select as Audio Configs on the borad. When i start playing music, the audio quality was so bad. I previously sent the input data of the headset to the audio codec chip for output on my project, and the sound quality was very good. So why is the sound quality so poor when playing music? Is it a problem with the BLE codec or is the processing speed of the MCU too slow?
Hello,I am trying to develop a board with Bluetooth Low Energy using the STM32WBA63.I have tried to base my design on application note AN5165, but it is for the STM32WB55, and I couldn't find any application note related to RF and the WBA series.I also wasn't able to find the impedance of the RF pin of the WBA63 (QFN48 package) in the datasheet.Could you please provide to me the impedance value of the RF pin for this MCU ?Also if there are application notes for RF development on the WBA63 series, could you please provide them ? Thank you
Hello everyone, I'm trying to setup a STL32CubeIDE project with a custom STM32WL5MOCH6 MCU. I managed to test if the board is alive with a simple hello world debug print on SWV and there's no issues. The problem starts when I enable the LORAWAN middleware (EndNode Skeleton Application): For this i have to enable IPCC, ADC and RTC : But when i generate the code and build the project i get those errors :- CM4 : ../Core/Src/usart_if.c:107:3: warning: implicit declaration of function 'MX_DMA_Init'; did you mean 'MX_RTC_Init'? [-Wimplicit-function-declaration] 107 | MX_DMA_Init(); | ^~~~~~~~~~~ | MX_RTC_Init ../Core/Src/usart_if.c:108:3: warning: implicit declaration of function 'MX_USART1_UART_Init' [-Wimplicit-function-declaration] 108 | MX_USART1_UART_Init(); | ^~~~~~~~~~~~~~~~~~~ arm-none-eabi-gcc -o "aerosentinel_echo_CM4.elf" @"objects.list" -mcpu=cortex-m4 -T"C:\Users\Yassine DEHHANI\Documents\aerosentinel-echo\CM4\STM32WL5MOCHX_FLASH.ld" --spec
Hi, I have a custom board equipped with a STM32WLE5 based module for LoRa transmissions. I am able to manage the processor in various low-power modes and wake it up by pins and/or RTC. How can I configure the processor to wake it up by the sub-GHz radio? Is there a code example to start from?Many thanks
I have a LoRaWAN end node project with STM32CubeWL MCU Firmware Package v1.3.0.I'm using LoRaMAC version 1.0.4. What confuses me is why my end node device can successfully join to the gateway based on the increment value of the dev nonce. The detailed explanation is like this:When the device is turned on for the first time, the device successfully joins the gateway on the first request and the dev nonce value is equal to 1. Then when my device is reset or turned off then turned on again, the device fails to join the gateway on the first request and the dev none value is equal to 1. But when in the second request and the dev nonce value is equal to 2, the device successfully joins to the gateway and so on like that. Why did it happen? Is it based on the LoRaMAC version I'm using ? What I need is that the device will attempt to successfully join to the gateway on the first request when i.e. it is reset many times, regardless of the value of the dev nonce or any other param
hello,I want to set up a timer2 TGO triggered DMA system with 60 samples in 20ms from 4 channels.I made the linked_lisit settings etc. via CubeMx but I can't get a sample from the ADC.Can you help me?
Hi allwhen i try to call the function to add scan response data to my advertising data I get the error 0x0C. I get the error code means that operation is not allowed, but nowhere it tells how to call a function in order to be allowed. I am susing STM32WBA55 Nucleo with latest CubeMXHere is the trace od me calling the function from uart commands. tBleStatus APP_BLE_Advertising_Add_Scan_Response_Data(uint8_t *p_data, uint8_t data_len) { tBleStatus status; status = aci_gap_adv_set_scan_resp_data(0, 0x03, 0, data_len, p_data); if (status != BLE_STATUS_SUCCESS) { LOG_INFO_APP("==>> Advertising add scan response data - fail, result: 0x%02X\n\r", status); } else { LOG_INFO_APP("==>> Advertising add scan response data - Success\n\r"); } return status; } tBleStatus APP_BLE_Advertising_Remove_Scan_Response_Data(void) { tBleStatus status; status = aci_gap_adv_set_scan_resp_data(0,0x03, 0,0, NULL); if (status != BLE_STATUS_SUCCESS) { LOG_INFO_APP("==>>
在 STM32Cube_FW_WB_V1.22.1\Projects\P-NUCLEO-WB55 下。Nucleo\Applications\BLE 中,某些文件有。IOC 文件,而其他文件则没有。例如,在 BLE_CableReplacement 中,没有。与 STM32CUBEMX 相关的 IOC 配置文件。如何获得?
I'm developing LoRaWan project using that uses STM32WL5MOC module and the STM32CubeWL MCU Package (STM32Cube_FW_WL_V1.3.0). I have B-WL5M-SUBG1 module to develop with.I am seeing that the End Node example does not connect with Chirpstack due to noncompliant DevNonce. It seems I need to patch ST’s CubeWL LoRaWAN End_Node example to make DevNonce persistent across power cycles so that ChirpStack will accept joins).Has anyone else experienced this? Any insights are welcomed.Peter
B-WL5M-SUBG1 is available at e.g. Digikey/Mouser, but the ducumentation link https://www.st.com/resource/en/databrief/b-wl5m-subg1.pdf is still 404. Strange!https://www.st.com/resource/en/databrief/b-wl5m-subg1.pdf
Hello.I have a problem with the ADC on the custom board with the STM32WB55 chip. I am using a divider and should get something around 2V, but I always get the maximum value - 4095.I am using this code that I saw in the ST examples. HAL_GPIO_WritePin(ADC_OUT_GPIO_Port, ADC_OUT_Pin, GPIO_PIN_SET); HAL_Delay(50); if (HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED) != HAL_OK) { Error_Handler(); } if (HAL_ADC_Start_DMA(&hadc1, (uint32_t*)aADCxConvertedData, BATTERY_ARRAY_SIZE) != HAL_OK) { HAL_GPIO_WritePin(ADC_OUT_GPIO_Port, ADC_OUT_Pin, GPIO_PIN_RESET); Error_Handler(); } void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { if(hadc->Instance == ADC1) { if (HAL_ADC_Stop_DMA(&hadc1) != HAL_OK) { Error_Handler(); } HAL_GPIO_WritePin(ADC_OUT_GPIO_Port, ADC_OUT_Pin, GPIO_PIN_RESET); uint32_t sum_mv = 0; for (uint32_t i = 0; i < BATTERY_ARRAY_SIZE; i++) { aADCxConvertedData_Voltage_mVolt[i] = __ADC_CALC_DATA_VOLTAGE(VDDA_APPLI, aADCxConverte
I tried to run two examples on my new NUCLEO-WBA65RI. Specifically the 'BLE_p2pServer' and the 'BLE_HeartRate'. I followed this guide for the p2pServer:https://wiki.st.com/stm32mcu/wiki/Connectivity:STM32WBA_Build_BLE_ProjectBuilding works but when I try to execute it, the program seems to get stuck using the non volatile memory. With debugging I found out that it might be related to the SNVMA_Init() function. Inside this loop:/* Erase the bank */ while (EraseSector (((nvmOffset + addressOffset) / FLASH_PAGE_SIZE), SNVMA_NvmConfiguration[nvmIdx].BankSize) == FALSE);following the stack trace, I get at some point a write protected error. Is there an easy fix for that?Thanks!
I am developing an application from LoRaWAN End Node example in STM32WLE MCU that has to work in different countries. To select easily the LoRaWAN region from hardware I have dedicated three pins as GPIO Inputs. The idea behind is that by reading the combination of those will determine the region of operation and so, perform the corresponding modifications in firmware for correct configuration. At the end, the idea is to have only one firmware per application independently of the region.I have found that the region is set in LmHandlerParams.ActiveRegion strcture parameter in LmHandlerConfigure() function, but i cannot find where it is assigned in the code to properly modify it. Can anyone help, please? Thanks in advance.
How to combine settings in SystemClock_Config to use both keyboard and ADC examples? In keyboard project there is the follow setting in SystemClock_Config: RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI; RCC_OscInitStruct.MSIState = RCC_MSI_ON; RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT; RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_MSI; RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV1; RCC_OscInitStruct.PLL.PLLN = 32; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV5; RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2; RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV4; In ADC sample: RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSI |RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.LSEState = RCC_LSE_ON; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
Hello, I am using CubeMX 5.1 and I am aware that it is not possible to activate FREERTOS when STM32_WPAN is activated. Is there any way to integrate FREERTOS with BLE? Is the feature maybe coming out in the future?
I have a board NUCLEO-WL55JC1 and download a LoRaWAN End-Node Example on it form STM32CubeIDE, but it not join to LoRaWAN network sucessfully.My LoRa Gateway is Drgaino-LG308 with TTN(The Thing Network) Server, the frequency is EU868.After some checking, I found the TX is work, the server was accepted and responsed the JOIN request, but my board don't receive any LoRa packet. I also add some log in RadioIrqProcess() when it get irq about Rx but it show nothing.How do I fix it OR figure out what problem is it?
Hi everyone,I’ve designed a custom board based on the STM32WL55CCU6, but I accidentally left out the external HSE crystal. I'm wondering: is the HSE strictly required to use the radio features (specifically LoRa or LoRaWAN), or is it possible to rely on the internal HSI instead?I’m aware that the HSI has higher frequency deviation compared to an external crystal, but since I also control the LoRaWAN gateway, I might be able to tolerate some drift or compensate for it.Has anyone tried operating the radio using only the internal oscillator? Any guidance or experience would be greatly appreciated.Thanks in advance!
I want to have BLE Custom Client/Server in Application FW? Does it support that?Is it possible to have clinet and server in same FW ?If yes,STM32WB15CC Which BLE Wireless Stack FW should I use full or Exteneded?What is advantages and disadvantages of both features?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.