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
Dear Community, I have been pursuing my master degree thesis with STM32s Products. I would like to know wheter or not there are any material or video series for guidance. I mainly focus on networking for industrial applications so I work on zigbee. Though, I have no idea how to manipulate and code for this devices to communicate with one another. Your help would be pleased. Kindly
I am working on stm32wb15 board firstly I developed code with the nucleo board the code worked fine but when I used that on my personal hardware with same microcontroller the ble is just entering in UTIL_SEQ_PostIdle and UTIL_SEQ_PreIdle condition and ble dint work.
I've noticed that when I create a notify characteristic, two functions are created each time: one is called Custom_<name of char>_Send_Notication(), the other is Custom_<name of char>_Update_Char(). What is the difference? They both end up calling the same function, Custom_STM_App_Update_Char(CUSTOM_STM_PINGRESPONSE, (uint8_t *)NotifyCharData), but point to different arrays - why different arrays / what is their purpose?
Hello,It seems that the example BLE_p2pServer_ota works with an operating system? I want to forward certain payload data to a UART2 interface via DMA after a connection has been established.Where is the right place to insert a HAL_UART_Tx_DMA transmission function in the code?In the example provided, the function to check the payload is queried in the p2p_server_app.c file in line 122: if(p_Notification->DataTransfered.p_Payload[1] == 0x01) { BSP_LED_On(LED_BLUE); LOG_INFO_APP("-- P2P APPLICATION SERVER : LED1 ON\n"); P2P_SERVER_APP_Context.LedControl.Led1 = 0x01; /* LED1 ON */ // Here, i want to include the HAL_USART_Tx function ... } if(p_Notification->DataTransfered.p_Payload[1] == 0x00) { BSP_LED_Off(LED_BLUE); LOG_INFO_APP("-- P2P APPLICATION SERVER : LED1 OFF\n"); P2P_SERVER_APP_Context.LedControl.Led1 = 0x00; /* LED1 OFF */ } For example, here i want to transfer the string "LED ON" to USART2.Is this the right place to insert the code?
Hello.I have done a few projects in the past with the above module and am currently working on a motor controller project using an X-NUCLEO-IHM03A and an NUCLEO-F401. I want to know if the STM32WB5MMHG6 has enough room and power to integrate the motor controller application into the STM32WB5MMHG6 M4 core ? Has anyone done this or can anyone point me to information regarding this? Thanks
When making a call to the auto-generated API Custom_STM_App_Update_Char_Ext(), there is a switch statement inside the call that looks as follows:As can be seen, there is a call Generic_STM_App...(). This Generic function detects errors and returns any errors (as well as OK), but unfortunately, the way the calling Custom...() API is structured doesn't allow passing the return value back from the Generic..() call. Is there a way to fix this issue w/o creating my own function to perform this error detection... THANK YOU IN ADVANCE
Hi,I want to do OTA update with stm32wba52 can I use stm32wba55 provided example on BLE heart rate OTA update for stm32wba52.If not then where can I find the reference for stm32wba52.
Need to send data at high sampling rate in real time, how to configure the maximum transfer rate and large protocol stack memory to support high-speed transmission。And how to calculate the current Bluetooth transfer rateThe connection interval has been configured to 7.5ms, and a single packet can transmit up to 245 bytes from HCIBLE_CMD_MAX_PARAM_LEN = 255typedef __PACKED_STRUCT{ uint16_t Conn_Handle_To_Notify; uint16_t Service_Handle; uint16_t Char_Handle; uint8_t Update_Type; uint16_t Char_Length; uint16_t Value_Offset; uint8_t Value_Length; uint8_t Value[BLE_CMD_MAX_PARAM_LEN - 12];} aci_gatt_update_char_value_ext_cp0;
Hello everyone,I'm a beginner working on a project using an STM32WB55 with a temperature sensor, and I'm trying to set it up in Zigbee mode with Home Assistant and ZHA as the coordinator. My goal is to update temperature data on Home Assistant, but I haven’t been successful so far (I’ve only managed to join the zigbee network).I’ve tried setting up the network and using ZbZclAttrIntegerWrite to update the temperature attribute, but nothing seems to been updated in Home Assistant and the temperature is updated only when my STM32WB join again ZHA (and after that the value remains stuck at -327.7°C).Here is my code that updates the temperature (this function is called every 5 minutes by a timer and it's the only thing I've modified from app_zigbee.c after CubeMX code generation) : static void APP_ZIGBEE_Send_Temperature() { printf("send Senor value\r\n"); float temperature_lus=0.1; SHT35_LireTemperature(&temperature_lus); int16_t temperature = (int16_t)(temperature_lus
Hello,We noted a strange consumption pattern regarding the BLE usage w/ zephyr 3.4.0. The BLE stack is the version 1.16.0 (we got the same values w/ 1.17.0 on BLE stack and zephyr hal_stm32 (d466dc8421ee0c6592bb5682aa93a671bc948107)).Setup:* EVB: NUCLEO-WB55RG - measure current on JP2 (with a nordic's PPK, but same results with another tool) - no jumpers on JP5 (after programming firmwares) - JP1: jumper on the right (5V_USB_STLINK) - EVB powered by USB (on the STLINK side) - JP4/JP6/JP3: jumpers* BLE stack: from https://github.com/STMicroelectronics/STM32CubeWB.git - version: tag v1.16.0 - binary: Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_HCILayer_fw.bin - flashed by: `STM32_Programmer.sh -c port=SWD mode=UR reset=HWrst -startfus -fwupgrade $(../tools/get-fw-address.py ../STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binar
Hi, I'm pretty new to STM developement. I tried use "SubGhz Ping Pong" example in the cubeWL package, successfully. Now I search to establish a real com' between two STM32WL55JC1, where they can exchange data, etc... The different driver, API, layer make a real fog when you're a beginner. In differents manual theres no details on what do this function or this, and search in "radio_driver.c" is not very helpfull. Someone here can help me to understand how inplement and use those function ? Thank you very much.
Hello, I would like to know if it possible to use a 48MHz TCXO instead of the 48Mhz crystal specified in the datasheet of the STM32WL33 ?Standard crystal are at minimum +/- 10ppm at tolerance and this may not be sufficient for our application. If yes, do I left the OSC_OUTPUT in floating ? Best regards, Schaeffer G.
Hi!We are developing a product that should provide a KINEIS satelite protocol support.As claimed on their website, thay have a partnership with ST. According to this ST supports it.Could you please provide more info according to this? Any code examples or hardware Reference Design?
Hi,i am working with BLE_p2pServer_ota example with NUCLEO-WBA55 board and i want to activate security communication. Can someone guide me? Is there a step by step application note available?
Hi,I am a novice, just started to learn the STM32WLxx series, at the beginning with NUCLEO-WL55JC1 DK routine running no problem, for another STM32WLE5CCU6 module, on the basis of routine adaptation, has been unable to do. It is officially introduced that stm32cubewl-v1-3-0 can be used for the development of STM32WL series chips, but only B-WL5M SUBG1/NUCLEO-WL55JC/NUCLEO-WL55JC1 can be seen in the Projects folder, so the following problems need to be confirmed1. Assuming there is no problem with the hardware, Can the STM32WLE5xx series run the 'STM32Cube_FW_WL_V1.3.0\Projects\NUCLEO-WL55JC\Applications\SubGHz_Phy\SubGHz_Phy_PingPong' routine?2. If the answer to question 1 is yes, then I have made the following changes as usual. Is there a problem?1) Change the macro definition of STM32WL55xx to STM32WLE5xx2) Change startup_stm32wl55xx_cm4.s to startup_stm32wle5xx.s3) Change stm32wl55xx_flash_cm4 to stm32wle5xx_flash.I hope to get your help.Best wishes!
I have an unexpected result, that bothers me for two days now: I use CubeMX 6.12.1 that I use with VSCode / STM extension V2.1.1. I connected a TDK3902-Evaluation PDM Microphone-board (datasheet and T3902 component datasheet), it needs between 1.0-3.3MHz clock for normal mode. (400-800khz LP mode).I connected Vdd to 3.3V, GND to GND, select to GND, data to SAI1_D1 (PC3) and clock to SAI1_CK (PB8). In CubeMX I activated SAI1, set the following options:PDMMono16khz (SAI1 clock set to 40.96 MHz)16bit data/frameIn clock configuration:If I probe the SAI1_CK pin (PB8) I see a 128 khz clock. Obviously this is too less and not correct, what am I overseeing here? Maybe a bug? The code generated by CubeMX: /** * @brief System Clock Configuration * @retval None */ void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Macro to configure the PLL multiplication factor */ __HAL_RCC_PLL_PLLM_CONFIG
Hi,i want to send sensor values from my STM to my Homeassistant via zigbee.Therefore I have configured a temperature sensor cluster at one endpoint and because my device should also control LEDs, I have an onoff cluster.I have tried to send my sensordata with ZbZclAttrIntegerWrite(zigbee_app_info.temperature_meas_server_2, ZCL_WC_MEAS_ATTR_MEAS_VAL, 12); As a start, i places this line into the "onOff_server_1_on" function, so that I could see, when I send an on command from my Homeassistant, the temperature gets send, which also works fine.However, I tried calling the function with an external set routine cyclic (every 10s) from my ISR, which did not work and caused my processor to crash. Can anybody see a reason for that? I also attachted my app_zigbee.c here.Thanks
Hello,I would like to connect the P-Nucleo-WB55 board to a specific BLE device. The BLE device is found by name. But when I call the function aci_gap_create_connection() I keep getting 0x0c (Command Disallowed) back. I have checked and changed the parameters several times. No further P2P connections should be established. My bigger goal is to transfer the data to a mesh afterwards. But I also switched off the mesh beforehand with BLEMesh_Shutdown().What could be the problem?Many thanks for your helpBest regards aci_gap_create_connection(0x0040,0x0030,0x00,peer_address_little_endian,0x00,0x0018,0x0028,0,0x01F4,0,0);
Hello community, I've developing a set of products based on MCU STM32WLE5. The devices communicates using FSK modulation and a variable payload. To test the system I've bought two NUCLEO WL55JC1 and modifying the PER examples I've prepared two project, one for the master and one for the slave. Each device transmit and reply. What I've seen is that when I press the button and change the payload length, the transmission seems to be ok, but the reception fails with a CRC error, as it would expect a message with a length equals to the transmitted message. The next messages then are transmitted and received without any error. I attach the screenshot of serial logs and the two projects: Screenshot 2024-04-23 103703.png: screenshot of serial logs (master on the left, slave on the right); SubGHz_Phy_Per_Master.7z: compressed project of master device; SubGHz_Phy_Per_Slave.7z: compressed project of slave device. I cannot understand what is wrong in my projects. Any help would be appreciate
Using the Zigbee stack as a coordinator, is there a callback available to notify when a new device is associated in the network?We observe the following in the M0 log:[M0] [00000015.076][PLATFORM] nwk_handle_assoc : Association accepted, sending response (0xb0dc, 0xa4c1383054f9cec1)We can detect the new device in the ZB_NWK_NIB_ID_NeighborTable, but having a callback to trigger on association would be very helpful. I've checked the documentation and examples but haven’t found any information on this.Thank you!
I am using BLE_LLD_CHAT APPICATION (ble_lld v.18) on 2 STM32WB15 SDK BOARDs and the following ERROR occurred.The test condition is to use serial emulators on both ends and repeat transmission and reception at 1 second intervals.The same condition occurs even after retesting.[M0/SYS] ERROR: M0 can only manage one command !!How can I solve this problem?
The product page shows that the STM32WBA50KG supports I2S for a serial audio interface. I want to connect a Class-D Amp and cannot find any reference to I2S or SAI in the data sheet or programmers reference manual. Does the processor support I2S?
Hello STM32 Community,I am currently working with the STM32WB55CG microcontroller and am using the BLE_p2pClient example from the STM32 SDK. My goal is to configure the device in central mode, start scanning, and retrieve the MAC address of the nearest BLE device.Issue Description:I followed the setup instructions in the example, including uploading the BLE stack specified in the README file.To initiate scanning, I used the following function call:status = aci_gap_start_general_discovery_proc(0x4000, 0x4000, 0x00, 0);However, I am not receiving any data or MAC addresses from nearby devices. The scan seems to start, but I do not see any output with device information.Questions:Is it possible to use the STM32WB55CG to scan and retrieve MAC addresses of nearby BLE devices in central mode using this SDK and example?Could there be an issue with my setup or BLE stack configuration that might prevent the scan from returning results?Additional Information:I am new to STM32 development, so if t
Hi,I am programming the nucleo_wba55cg using Zephyr v3.7.0.My application is based on a BLE peripheral example, whereby I have also configured an LED on the nucleo_wba55cg board to toggles at the rate of 1s.Also, I modified the rcc section the nucleo_wba55cg.dts file to adapt to the higher system clock (96 MHz, similar to that of the nucleo_wba52cg) shown below: &pll1 { div-m = <8>; mul-n = <48>; div-q = <2>; div-r = <2>; clocks = <&clk_hse>; status = "okay"; }; &rcc { clocks = <&pll1>; clock-frequency = <DT_FREQ_M(96)>; ahb-prescaler = <1>; ahb5-prescaler = <4>; apb1-prescaler = <1>; apb2-prescaler = <1>; apb7-prescaler = <1>; }; Expectation: while the BLE application is active, LED blinks at a frequency of 16 MHz (6 times slower so it toggles every 6 seconds as opposed to the 1 sec as configured in the application). Later, I modified the application via SCM (https://wik
Good day I recently purchased the P-NUCLEO-LRWAN3 STM32 Nucleo starter pack and im having trouble sending anything to the gateway from the end node using Lora. I am based in South Africa and am using EU433. The gateway has successfully connected to Lariot and both devices have 434 MHz antennas:and the logs look like this on the gateway:For the end node, in the "STM32CubeExpansion_LRWAN_V2.1.0" download path. i have opened the file"\Projects\NUCLEO-L073RZ\Applications\LoRaWAN\LoRaWAN_End_Node\STM32CubeIDE\sx1276mb1las\.project" with cube ide. I made the necessary adjustments to the firmware. EU433 is used and is set to hybrid. The device EUI is being used and it is not hardcoded. The logs look like this :Lastly, i set up the device on Loriot with the end node EUI's. unfortunately, the end node continues to say join failed. Please assist in helping me find out what i need to do to get working. I have followed numerous tutorials an
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.