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
I have a custom BLE app on a Nucleo-WB15CC board. The BLE application works as expected, but now I want to introduce low power modes (I want to be able to go into standby mode and wake up with edge detection on one of the wake up pins). After enabling CFG_LPM_SUPPORTED and CFG_LPM_STANDBY_SUPPORTED in app_conf.h, I no longer see my BLE advertising and the rest of my application seems to be at a halt. At a high level, my main loop looks like the below code, where "OtherCode_Loop()" calls into none BLE related things. After turning on those configurations, I no longer reach "OtherCode_Loop()". Only thing that has changed is enabling CFG_LPM_SUPPORTED and CFG_LPM_STANDBY_SUPPORTED. Is there more to this configuration? while (1) { MX_APPE_Process(); OtherCode_Loop() }
Hello, I have an OpenThread network with two devices : one end device (STM32WB5MMG) and one router (NUCLEO WB55) I acquire data with the end device and I try to send 180 000 samples (uint16) to the router When I try to send, it seems that the router does not handle the data received Here is the pseudo code sending data for the end device : typedef struct __attribute__((packed)) { FrameHeader header; uint16_t cdf_id; uint8_t measure_type; uint16_t sdf_id; uint16_t total_frame_id; int8_t data[MAXSDFDATA]; } FrameSDF; void Acquire(uint8_t ffreq_select, uint32_t samples_to_send) { //Init ... //declaration uint32_t samples_sent = 0; uint16_t sample_counter = 0; uint16_t frame_amount = 0; sampleRes_select = 60000; samples_to_send = sampleRes_select * 2 * 3; frame_amount = ceil((float32_t) samples_to_send / (float32_t) MAXSDFDATA); uint16_t adddressDBG = 0, trial_address = 0; int16_t acceleration[3]; do {
Hi,I’m using the STM32 SubGHz_Phy library on an STM32WLE5JC on a custom board. I’ve been using the library for proprietary LoRa communications for a while, and it’s all worked seamlessly.However, I’ve now got an application which requires using the SubGHz_Phy library in FSK mode, and have a really weird problem that I can make no headway on. I’ve simplified my test setup to about the simplest possible case, and the problem is as follows:I have a ‘remote’ board sending a packet of data every 1 second. A ‘master’ board receives this packet, and does so perfectly provided the master board has not transmitted anything. But from the first transmission by the master board, every subsequent reception by that board returns incorrect data. The RX Complete Callback routine ‘Size’ parameter contains the correct size for the expected incoming message, but the buffer pointer passed to the RX Complete Callback does not point to the correct data….. Instead, it appears to point to the packet that the
I am developing a BLE product using the stm32wb and have it working as a peripheral/server. I need to add the ability to work as a central also and am following the BLE_p2pRouteur example in STM32CubeWB/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_p2pRouteur. The device I want to connect to as a central is another of our products in development and uses a different MCU/BLE stack. This device is also working as a peripheral and can connect and pair using Windows, macOS, iOS, and linux.After connecting to the peripheral, querying the services, and querying the characteristics of the services to get all the handles needed, I try to enable notifications on the characteristic normally used for commands using aci_gatt_write_char_desc() with a 2-byte attribute value set to 0x0001. The stm32wb BLE stack is returning ACI_GATT_ERROR_RESP_VSEVT_CODE with Req_Opcode set to 0x12 and Error_Code set to 0x0e (unlikely error). I am certain that
Hello all,We are trying to connect STM32WB with phone using BLE. We have based our code on the Hearth rate example given by ST. We have installed LightBlue on smartphone and now we try to connect with the device. On LightBlue, we can see that the device becomes connected and then disconnect immediately. The pairing status return Failed with reason AUTH_REQ_CANNOT_BE_MET. We have already tried to remove all bonding devices, and call aci_gap_clear_security_db() before connecting. The authentification requirement are as following :Bonding_Mode : 1MITM_Mode : 0SC_Support : 2KeyPress_Notification_Support : 0Min_Encryption_Key_Size : 1Max_Encryption_Key_Size : 16Use_Fixed_Pin : 0Fixed_Pin : 111111Identity_Address_Type : 0What about this authentification error ? What does it mean exactly ?Best regards,Audrey
I have a P-NUCLEO-WB55 board and i want to use it to communicate with my phone on ble. Fİrst of all, i decided to try an example to see if its works. I updated fus and then uploaded ble stack like the 11th video of STM32WB Getting Started Series After that i decided to try HeartRate example which is shown in 6th video STM32WB Getting Started Seriesand i put a breakpoint in APPE_SysUserEvtRx() function. When i debug the code ı observed, program never goes into APPE_SysUserEvtRx(), in fact it stucks after MX_RNG_Init(); function. I made comment this function and i saw this time code stucked on MX_RF_Init(); function. Therefore i believe MX_RTC_Init(); function here causes this stucks. If i make comment the __HAL_RTC_WAKEUPTIMER_ENABLE(hrtc); macro which is in HAL_RTCEx_SetWakeUpTimer_IT() function, it doesnt stuck at init functions but when it come to MX_APPE_Init(); function, it says "Target is not responding, retrying..." then shuts down. Could you please help me?Best regards..
I purchased a few NUCLEO-WB55RG boards to start testing BLE. I load Github Projects P-NUCLEO-WB55.Nucleo Applications BLE BLE_HeartRate Binary BLE_HeartRate_reference hex on the board to test. Installed st com/en/embedded-software/stblesensor html on my phones (one ios and one android). Connect to a device and it works, screen on the phone shows heart rate data works fine. Unplug the power from the Nucleo board? It never advertises again. I tried all 3 Nucleo boards that I have using the pre-compiled binaries and usually they are difficult to get working, they are not discoverable. But then for some reason the phone detects them and they work. Once. After that they don't work again. Each board I have worked once. Is there a trick to getting the BLE radio to be discoverable? I used the STM32CubeProgrammer FUS to check the FUS infos. On power up, and reading fus info I get:FUS State: FUS_IDLEFUS Status: FUS_NO_ERRORFUS
I am currently working on a project that requires to implement USB audio in and out feature on STM32WB55 for connecting to PC. Is there any reference project that has this driver available? i tried working on FP-AUD-BVLINKWB1 but found that it is only supporting USB audio out and i have no idea how to add audio in into this project. Thank you
Hi I am trying to create SubGHz project using STM32 Cube. When I choose the bl072cz-lrwan1 board, although this is an eval kit for LoRa, and has a PingPong example which uses LoRa and SubGHz, yet I can't find any option for SubGHz or LoRa in the middleware menu. any suggestions what to do ? thanks
Hi there,I have a couple of these boards hooked up to TTN indoor gateway. However after swapping batteries one of them is not joining the network despite using the same files/firmware. Looking at the serial readout, I don't see the usual "Joined = OTAA", just the "MCPS-Confirm" loops, which look the same as the others.Any ideas what could be happening?Kind regards, Oliver
HiWe are using the the ST library calculates LoRa SNR and RSSI by capturing the readings in register "REG_LR_PKTRSSIVALUE" although there is another register called "REG_LR_RSSIVALUE".I failed to figure out the difference in contents of those 2 registers.Any clue ?thanks
Hi I have been trying to activate the callback function for the pushbutton in the SubGHz PingPong example, but with no luck. I am using the BSP_PB_Init() to configure the pushbutton: void BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef ButtonMode) { GPIO_InitTypeDef GPIO_InitStruct; /* Enable the BUTTON Clock */ BUTTONx_GPIO_CLK_ENABLE(Button); __HAL_RCC_SYSCFG_CLK_ENABLE(); if (ButtonMode == BUTTON_MODE_GPIO) { /* Configure Button pin as input */ GPIO_InitStruct.Pin = BUTTON_PIN[Button]; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_PULLDOWN; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; HAL_GPIO_Init(BUTTON_PORT[Button], &GPIO_InitStruct); } if (ButtonMode == BUTTON_MODE_EXTI) { /* Configure Button pin as input with External interrupt */ GPIO_InitStruct.Pin = Push
I tried to register an end-node on TTN, but it does not recognize the DevEUI.I watched this video:https://www.youtube.com/watch?v=8KNfrWoa1fw&list=PLnMKNibPkDnHZyJtMRpWSs41CWhPouRwq&index=3error:I have entered the DevEUI here: (I copied the id that is on the board, tried several times but nothing)
Hello,I am trying to build an application on a STM32WLE5JBI6 that could work with confirmed downlinks. I thought that the LoRaMAC handled this but I could not find any mention of it in the documentation or in the code.As anyone already implemented it?I really appreciate any help you can provide.
I want to capture the BLE air packet to parse the BLE connection event by using nRF52840 Dongle and wireshark, but I met a problem.I can capture the air packet normally when the slave device is advertising. But once the connection is established, I can not continue capturing it.I think that it should be related to the BLE security but I don't know how to modify the configuration.If this is the reason, how can I modify the code? If not, what might be the reason.
Dear ST Community, Dear ST Team.For a evaluation of the chip i would like to try over LoRaWAN Communtication to set a LED on and off.Sadly on the tutorial program LoRaWAN_End_Node i get the ERROR: dev_nonce_too_small. The Problem is that on the Documentation from the things Stack i should contact the device’s manufacturer to find out the correct LoRaWAN MAC and PHY versionsI even try out to find a older version of the extension but i dont find any.So im sitting on a dead end and im glad to hear some ideas or information about that topicThanks for your helpRSheetz
Hi, I am currently working on the NUCLEO WB55RG board on a project configured by CubeMX as BLE server. Everything is working correctly on this side. The problem is that I am using 4 boards as server and i would like to send a broadcast message (advertising) from a smartphone that they would all catch at the same time to be able to get a "synchronisation", how can i use my board as client while connected as server so it will catch advertising events?
I'm working on inserting the STM32WB55 into stop mode2 via the tickless idle for the FreeRTOSI saw that the SDK has an example for it: in the BLE_HeartRateFreeRTOS example for the nocleo wb55 I went over the code of the SDK and there was one line which seemed a bit strange to me, in method ReturnTimeElapsed() It seems to me that the if is wrong, and should be: (return_value >= SSRValueOnLastSetup) I didn't run the SDK as is since I had to change some of the code so it will fit the design of our project, But I did had to change the sign of that 'if' statement for it to work. Am I missing here something, has anyone else encountered this?
Hello,I'm using a custom board which has STM32WB55 as the MCU. For the application, requires the MCU in sleep mode. The chosen sleep mode is STOP2. I referred the example project 'PWR_STOP2_RTC' which is available for the p-nucleo board and tried to replicate the same for my custom board. After testing for power consumption, the custom board is taking around 300uA as opposed to ~3uA per datasheet.Can anyone point to me why there is extra consumption, and if there is any more config to be done in the cubeMx or in the code.Thank you in advance.
I am working with the STM32WB15 controller. I have implemented a few custom BLE characteristics and I want to be able to check the value of the characteristics on the server side (not from a read request from a client device). Is there a way to access the current value of a characteristic?
The STM32WL55 Nucleo board comes with the LoraWAN DevEUI, AppKey et al.I assume that this is not the case for STM32WL55CC mcu itself, right? And I have to work out how to write that into each device by myself.// Niclas
Hi,I am trying to commissioning NUCLEO-WB55RG Matter thread end device using chip-tool running on raspberry pi, It fails to commission.Reference Source Code used:Matter beta version for STM32 Github repo: github.com/stm32-hotspot/stm32wb-matter-device-over-thread Setup:1. Matter Thread End DeviceBelow binaries flashed on the STM32 Matter Thread End Device(NUCLEO-WB55).1.1. FUS: "stm32wb-matter-device-over-thread-main\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_FUS_fw.bin" 1.2. BLE Stack: "stm32wb-matter-device-over-thread-main\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_BLE_Thread_ForMatter_fw.bin" 1.3. Application: "stm32wb-matter-device-over-thread-main\Projects\P-NUCLEO-WB55.Nucleo\Applications\Matter\Lighting-App\Lighting-App.bin"2. Border router Raspberry pi(Host) RCP Device(Silabs RCP device)3. Host as a Raspberry pi(chiptool)Also find the Attached logs captured on End device and chiptool running on Raspberry p
I am using the stm32wb boards to learn OpenThread and develop a low power application to read some sensor data. My plan is to use a CoAP message to send the payload, and have been studying the THREAD_SED_Coap_Multicast example in an attempt to learn. When looking at the power consumption of the board, I have been unable to determine the cause of some short spikes in current when in low power. In all the figures shown, I have disabled the SED polling, and the CoAP messages are sent every 30 seconds. I would expect the current to drop to roughly 2.5 uA (as it does) in between messages and stay there, but instead after a transmission, there are exactly 5 small spikes in current, which from their shape I am assuming are radio activity? These are spaced 1 second apart. Then as the sleep cycle goes on, there will be other slightly larger spikes. Here is the consumption over about 80 seconds The tall spikes are the CoAP messages be transmitted This is the shape of the 5 evenly
HiI am building an app where the transmitter has no power constrains, but the receiver needs to run at lowest power.The transmitter (master unit) will be sending pings such that any receiver (slave) near by would respond by sending its ID to the transmitter.Normally, the receiver will be listening (scanning) for the pings from master.I am wondering what is the best practice to reduce the power consumption on the receiver (slave), such that it can be woken up by the transmitter if the receiver is close to the transmitter ? thanks
Hi to all. I have a problem whit USB dongle STM32WB55.With BLE stack and all BLE examples from STM32Cube_FW_WB_V1.16.0 Virtual USB port is working just fine. But when I change to stm32wb5x_Zigbee_FFD_fw and use P-NUCLEO-WB55.USBDongle\Applications\Zigbee\Zigbee_OnOff_Server_Coord Virtual USB port is not working (error code 10). I can turn on and off LED form coordinator (dongle) to router (Nucleo board), and virtual port on Nucleo is working just fine. But virtual port on dongle is not working (erorr code 10).My OS is Win10, I updated Virtual serial port drivers, I changed CDC_DATA_HS_MAX_PACKET_SIZE to 64U but again I have the same problem.Can you please help me.Thanks.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.