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 am using an STM32WB55CG in a slightly challenging environment. aci_gatt_update_char_value() works great most of the time and returns BLE_STATUS_SUCCESS and transmits data. Occasionally the STM32WB55CG will disconnect and then reconnect. Our application continues to call aci_gatt_update_char_value() which still will return BLE_STATUS_SUCCESS but no data is transmitted. If our unit disconnects and reconnects again, the STM32WB55CG will once again start transmitting data.If aci_gatt_update_char_value() returns BLE_STATUS_SUCCESS is there some other way for us to know if the transmission was successful?When we are in this mode, this is the only packet that the STM32WB55CG sends.
Hi,We are working on a application using the STM32WB55 and are using the P-Nucleo boards. We want to have multiple (5-8) servers connected to a single client and with a low latency and the highest throughput possible.All servers are sending data with Notifications, both DLE and 2M is enabled.From the testing we have done it seems that the Client gathers data from one client at a time. With 5 servers and 7.5 ms connection interval it results in a minimum latency of 30 ms, which in our case is too high. This also splits the throughput in half for each server connected.Is it possible to have a system like the one proposed here on the Nordic Forums? https://devzone.nordicsemi.com/f/nordic-q-a/44762/ble-multi-link-high-throughput-lowest-latencyNordic claims that it can support at connection event of 2.5 ms which results in data from 3 different devices in a connection interval of 7.5 ms.Do you have a minimum connection event length? and is it possible to receive data from multiple servers t
I am developing the BLE application on my custom PCB using MCU STM32WB55CCU6. However, it gets stuck in if (SHCI_C2_BLE_Init( &ble_init_cmd_packet ) != SHCI_Success) { Error_Handler(); }It returns SHCI_FUS_CMD_NOT_SUPPORTED instead of SHCI_Success so it jumps into the Error_Handler(). I tried to flash the FW into the nucleo board. It works perfectly fine. But it failed to initialise the BLE stack on my custom PCB. Therefore, I think it should be the hardware problem. I checked HSE and LSE clk. They are initialised successfully and the waveforms can be observed in CRO. I am sure that they are oscillating. Can anyone give me some advise on this issue? Thank you very much
I would like to add middleware (LoraWan, SIGFoxor subGHz_phy) but those are disabled and when I hover my mouse on enable I get the tooltip saying "you can enable this middleware only if SubGHz is enabled..".When I open examples these middleware are active? any help?
I generate project using CubeIDE 1.6.1 with pack 1.11.0 for stm32wb55CC. I select BLE in code generator and look at Debug options. But it looks this options value not matter. I create project with enabled and disabled debug options and compare .c and .h files and no different... Please fix this problem. @Nawres GHARBI
Working on STM32WB50P2P server client (one to one) working perfectly. Server sends notification which is 240 bytes long.Shifted from Client to router to connect to multiple servers and transfer collected data to an Application.In router application was able to connect to multiple servers but notification was being received from only one server.More testing revealed that sometimes data from multiple servers was being received.Further testing revealed that if delay is introduced in the function:aci_gatt_write_char_desc(aP2PClientContext[index].connHandle, aP2PClientContext[index].P2PClientDescHandle, 2, (uint8_t *)&enable);then notification is received correctly.Our assumption is that the software is designed to allow the connection of servers one by one. But since our servers are in advertisement mode all the time, they connect to the router immediately.Our code looks like this now: case APP_BLE_ENABLE_NOTIFICATION_DESC: APP_DBG_MSG("* GATT : Enable Server Notification\n
Hi everybody, I'm a student in a French engineering school currently working on a project including the STM32WB wireless CPU series. For the sake of simplicity, I'm just going to say that my project basically consist in establishing a BLE connection using a 1000 µF capacitor as my only energy source. Here comes my question : I've tried using the "Low power manager" that comes with the sequencer when generating the code trough CubeMx : I've enabled it in app_conf.h aswell as disabled all debugging options and made sure it was configured for the StopMode2. My understanding is that my STM32WB should enter StopMode between 2 advertising packets, so if I monitor the consumption , I should be able to see it drop to a couple µA when in StopMode and rising back up for a very short time everytime a packet is sent. However, when configuring the advertising to send a packet every 5 secondes, my energy comsumption do not drop to a couple µA after sending the first packet. My guess is
Namaste,I am working with a full-duplex audio streaming application using the project files given here: https://www.st.com/en/embedded-software/fp-aud-bvlinkwb1.htmlI am using the STM32WB Nucleo board and the code works where I can play the audio file using an ST BLE sensor app. The audio file will be recorded on the laptop using Audacity software. The Nucleo board will stream the audio received over BLE and sends it to the laptop over USB. The Nucleo board is shown as an audio input device. I want to play the audio received by the Nucleo board using wired speakers connected to it. For this, I need an audio DAC which uses I2S and I2C communication for the interfacing. Now I need an evaluation board to see if it works before I can go ahead with the hardware design. Can anybody guide me about this? The hardware must play the BLE app's audio and send the mic recorded audio back to the app in real-time.Thank you.
I have identified from this post and AN5270 that ACI_GAP_TERMINATE and HCI_DISCONNECT may be viable functions to call from a peripheral device to terminate a BLE connection. My employment of these functions causes no change, similarly use of ACI_GAP_SET_NON_DISCOVERABLE has no effect on whether or not my peripheral (STM32WB) continues advertising. Furthermore I'm unsure of how to extract the connection handle that I need to pass to ACI_GAP_TERMINATE or HCI_DISCONNECT as a parameter and have assumed its value to be 0 as I have only one connection. I have tried overriding HCI_LE_CONNECTION_COMPLETE_EVENT to extract the connection handle however it doesn't seem to get called at all, even when a successful connection between STM32WB and Phone Application are made.
Hi. I have problem with connect to NUCLEO-WL55JC nucleo via ST-Link Utility. I am unable to connect with any option (hot plug, connect under reset etc.) or hardware reset to STM32WL55 MCU on board (there is some demo soft which is unable to erase). Same thing on both boards. Anyone have similar problems? Thanks for any answers.
STM32WB5MM-DK Board User Manual is not available in the product page to download. Can I have a copy of the User Manual please?
Programming manual PM0271, page 4, current features supported on Bluetooth specification v4.1, it is said that it only supports being slave of up to two masters simultaneously.But as for the standard, the maximum connections number would be 8. I'm trying to use "server" and "client" examples, using full stack, but the server can only connect to 2 clients. After this, it can't put server on advertising mode (I'm starting again the advertiser after every connection). Currently I'm using STM32WB v1.11.1 package. I've tried v1.9.0 and v1.10.0 with the same limitation.Is there a way to connect a slave to more masters?
Erik Cool+32 2 206 9367Tervuursesteenweg 303 | B‑1820 Steenokkerzeel T. +32 2 206 21 11 | www.skeyes.be
In STM32WLE5JC MCU, the SPI data length is set to 8 bits, and the corresponding receiving FIFO is also set to 8 bits, but the final receiving and sending data is 16 bits.1. SPI-CR2 registers during transmission are as follows:It can be seen from the figure that CR2 is 0x1708, the threshold of FIFO is set to 8 bits, but the data length of DR is 16 bits: 0x01302. the CR2 register in 2.STM32WL is described as follows:
I built the project with CubeMX 6.2.1. I have added the call in main to the sequencer. I have added the sequencer header file. I have added the IPCC IRQHandler functions to stm32wbxx_it.c.The project builds fine and downloads to the NUCLE0 WB55. It starts up and advertises as expected but it will not let me connect to it.Attached is my CubeMX project.Any help will be greatly appreciated.
..
I wan't to power both cores with 1.8V and, only when using the radio, use 3.3V.I have seen there is a VDDRF pin to power the radio but data sheet says it must be connected to the same supply as VDDMiguel
HelloI try to create a BLE App with CubeIDE, running on P-Nucleo-WB55 board.I have updated firmwares on my board (FUS, BLE Stack, STLink).The code is generated on CubeMX and imported in CubeIDE.Like many users, I have corrected Heap_Size and Stack_Size values to resolve HardFault issues found in this forum. All seems to be ok… But my board doesn’t advertise.After debugging, I discover that program never goes in APPE_SysUserEvtRx function (in app_entry.c), and so the APP_BLE_Init is never called… Initialization in appe_Tl_Init seems to be good. I have compared BLE_p2pServer.ioc configuration and mine, no significant difference.I think I have made a mistake but I don’t find where. Any idea?
BLE5.0 has the Periodec Advertising feature.How can I use Periodec Advertising?And, is there a sample program for Periodec Advertising?
Does STM32WB supports AOA (angle of arrival) and AOD (angle of departure)?
Hi.I want to write desktop application using STM32CubeProgrammer API to load FUS and stack to STM32WB. But in documentation I can`t find any mentioning about how to start FUS, update FUS and load stack.Or does the API do not give this opportunity?
Hi all. I found out there are specific DEBUG_SUBGHZSPI_* alternate functions (DS13105 STM32WLE5xx). But there is not much information about these functions. Can these AF be used to 'mirror' SUBGHZSPI pins for debugging / captures ? Thanks Olivier
Hello all,I was developing LoRaWAN applications on MICROCHIP products for many years, recently I switched to STM32 platform. I have developed many applications with STM32L0 + SX1272 combination which worked perfectly. Now I have decided to move to new STM32WL series. I am running my applications on Nucleo board very well but when i switch to my custom board i have some suffer because of TCXO. Since I needed PB0 pin for other purposes I decided to use external HSE oscillator instead of TCXO. Now I try to run my application on my custom board but it seems not working. How can I run LoRaWAN_End_Node application from STM32Cube_FW_WL_V1.0.0 without TCXO? Here you can find the reference nucleo design from ST and my oscillatos at above images. Thanks for help.
I have used the Device Configuration Tool to set up an SPI1 peripheral on PB3, PB4, PB5 with manual control of the chip select, and polled (not interrupt driven). Writes to SPI slave chips registers execute without error, but register reads give a HAL_TIMEOUT error in HAL_SPI_TransmitReceive() because the RXNE flag (data in fifo) is never set.The clock is enabled to the SPI and I can read/write SPI registers. CR1, CR2, SR values look sensible. I have not yet tried different pins, or SPI2.Has this been tried, and can someone point to a known working example?Unfortunately, the SPI examples that ST provide don't build (at least for me, with Eclipse), but in any event they are special cases: two processor chips connected, one as master and one as slave, with no chip select. A real example (e.g. talkig to an accelerometer chip) is missing.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.