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'm trying to update stack via internal firmware. Our device based on STM32WB55: Device ID : 0x495 Revision ID : Rev Y Device name : STM32WB5x Flash size : 1 MBytes Device type : MCU Device CPU : Cortex-M4 BL Version : 0xd5Stack binary file located in internal flash at address 0x080CB000.Below is the data from the programmer: When I call SHCI_C2_FUS_FwUpgrade, the next call to SHCI_C2_FUS_GetState returns the following result - FUS_STATE_ERROR_IMG_NOT_AUTHENTIC.How to solve this problem? Thanx.
We need dedicated drivers for Flash memory Read and Write operations dedicatedly. In example project given the just Read a 32-bit word data only. If we want to read the entire page or part of the page data and verification is there any driver layer available, please share to us.
Hi team,I used STM32WB15CCU6 in my project for Voltage and sensing. I already used all analog pin for sensing.I need one SPI and one UART communications channels.Can you please suggest which pins can I used for SPI and UART.I request please share the schematic or pin mapping details.Thanks & RegardsRajkumar ChaurasiyaMob. No. 8591217827
Hello!There is a board with 2 MCUs, one of them is STM32WB55, second is STM32L4Q5. I need to launch both in boot mode and load firmware over UART. When L4Q5 is in boot mode and UART1 is configured (as mentioned in AN2606) I upload firmware in this MCU and everything is going well. I repeat the same steps with WB55. After I send start frame to WB ( START_FRAME[2] = {0x7F, 0x80};) I get ACK (0x79), but whatever I send next - there aren't ACK, only NACKs (0x1F).What I'm doing wrong? Best regards, Den
Hi,I am working with a STM32WB55RG and by checking the different BLE Stack_full versions available, I realized that their start addresses could vary quite a lot.Is there a guideline for the maximum size that any future BLE stack could have? Example:Right now I am using the BLE stack full 1.13.0 that starts at 0x080C7000. I put the upper limit for my app size at 0x080C5000. How can I know that no further BLE stack versions will be bigger and overlap my application?Best regards.
Hi Team,We are using the STM32WB55 Series for our product. At each power cycle or reset, we need to know what the reason is (like WD Reset, Soft Reset, or Pin Reset, POR reset).Could you please tell me by reading the which register, we came to know the Reset Reason.Regards,Srinivas.V
Hello everyone,We're trying to achieve a low power consumption on a custom board which have a MCU from the STM32WB55 range. I think that I was able to get into stop2 mode as PC was way lower than in sleep mode, and the device could not be detected anymore by the debugger. I reset C2BOOT bit early in main loop and I'm hoping that this Core is effectively halted, even though I don't know how to monitor it on this particular setup. The problem is that PC is still as high as 900µA, which is A LOT compared to what I've seen most of the time on the forums for others MCUs (2µA). Does anyone know what should be the normal PC if the MCU was not on a custom board (i.e. what is the "real" PC of the STM32WB55 in stop2 mode with no peripherals enabled) in order to know if the problem may be on the board that draws a lot of current ? And how can I be sure that Core2 is halted ? Stop2 mode shouldn't be achievable with C2 running (another state than CSTOP, if I understand correctly), and I think that
HelloOn one hand I have built an application running FreeRTOS and BLE Device with custom services, in which I also use Virtual Com Port communication, Analog measurements and some digital I/Os. This one is running perfectly.On the other hand, as I need to go into STANDBY mode, I have tried and adapted the example program called "PWR_EnterStandbyMode". I enter in STANDBY mode after a while (30sec) and then use an external WAKEUP pin to quit STANDBY mode and restart the application. This one also runs well.So, I tried to integrate the STANDBY management in my whole application using the same methods. Unfortunately, it doesn't work correctly and I can't understand why. Here is the result and what happen :When enterring in STBY mode, the program restarts directly from the beginning, just like a reset. Why that ?Then, when I wake it up using the appropriate pin, it blocks on the CPU2 start waiting for APP_FLAG_CPU2_INITIALIZED and APP_FLAG_WIRELESS_FW_RUNNING.Could someone give me explanati
Hello, Is there a lora library which supports the lora specification 1.1 available?What I found are 1.0.3 and 1.0.4. But I am looking for 1.1 too.Anybody can helps?
Hello,I am having difficulties trying to sample both channels of the LTC1865 ADC and was hoping someone could point out my mistakes. This is my function to sample the channels. I am using the STM32WB55 micro.unsigned int READ_External_ADC(int channel) { if (channel != previousADCchannel) { // The LTC1865 conversion cycle begins with the rising edge of Conv (pin..) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // Wait for the conversion to complete HAL_Delay(ADC_CONVERSION_TIME); // Enable the Serial Data out to allow the data to be shifted out by taking CONV low HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi1, (uint16_t *)(0x8000 | ((unsigned int) channel << 14)), 2, HAL_MAX_DELAY); // save the new ADC channel previousADCchannel = channel; } // The LTC1865 conversion cycle begins with the rising edge of Conv (pin..) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // Wait
After enabling "generate peripheral initialization as a pair of '.c/.h' files per peripheral" under Project manager > Code generator > Generated files, everything stops working, including debugging log also does not show up in my tera term.How to regenerate this problem: (stm32wb55 ) Select the BLE_Custom example from the libraryAdd FreeRTOS in the ioc. file (Remember to set the TOTAL_HEAP_SIZE to 20480, Enable USE_NEWLIB_REENTRANT , change your SYS timebase source to TIM17) Go to Project manager > Code generator > Generated filesEnable "generate peripheral initialization as a pair of '.c/.h' files per peripheral" * There will be no issue if I did not enable the "generate peripheral initialization as a pair of '.c/.h' files per peripheral" but I feel that it is messy if I don't enable it.
I've been starting a bl project recently.I want to implement simple communication using stm32wb chip. Like you can buy and use a UART-based Bluetooth module like HC-05.However, when I looked at the materials released on the web, there were many examples of using custom templates so that they could only be used in dedicated apps.Is there a way to implement communication that simply sends and receives data between Ble? I'm not a native English speaker, so I'm very slow at finding materials. I'm sorry.
Hello,I'm dealing with a problem in a STM32WB55, but the doubt is general about STM32 and FreeRTOS. Among the different tasks initialised in my program, I have a task running that puts the MCU in STOP2 mode. In parallel there is an RTC Alarm programmed every 30 seconds, with a higher priority than the FreeRTOS one. When the MCU is in stop mode (inside the task mentioned before) and the RTC Alarm Handler jumps, sometimes I get a Hard Fault.The question is, could it be a problem related to the task stack memory? I've read about it, and when there is a system interruption (independent of the FreeRTOS), the RAM utilisation is taken from the memory reserved to the main initialisation, is it true? Should I increase the stack size of any task?Thank you in advance.
I have used CubeMX to generate two sets of code, each for their respective MCU, for a simple bluetooth test for both a nucleo board with a STM32WB55RGV6 MCU and a custom board with a STM32WB55VEQ6 MCU. The bluetooth test consists of a GATT server with one service that has two characteristics. Both MCUs are using the stm32wb5x_BLE_Stack_full_fw version 1.14.1.1 binary.It is important to note that I can connect to both boards using the ST BLE Toolbox Iphone application. This leads me to believe that this is not a hardware issue with the custom board.When I load the code onto the nucleo board I am able to see the service and both characteristics. When I load the code onto the custom board I do not see the intended service, instead I see a service with the UUID FD44, and no characteristics. When I step through the code on the custom board, aci_gatt_add_service() returns the error code 152 (0x98) when attempting to create my custom service. This error code corresponds to the error "out
Hi,I have a project that use the STM32WLE5CCU6 and I want to make a variation of this project without RF communication.Can you suggest me a reference to replace this MCU taking advantage of existing firmware without major changes. Preferably cheaper.Thanks
Hello, I am following this tutorialhttps://www.youtube.com/watch?v=CKYWy7LKL68&list=PLnMKNibPkDnG9JRe2fbOOpVpWY7E4WbJ-&index=16&ab_channel=STMicroelectronicsHowever, it is for the WB55. Does anyone have the configurations for the WB15 as the rest of the tutorial is firmware once I have the device set up correctly
Greetings.I am planning on building a project using this wonderful chip. Over-the-air updating is not required but would be a very good feature to have. I have no previous experience with this sort of programming, and I would like to know if there are any examples I can look into to see if it would be possible for me to implement them.I saw there were examples for LoRaWAN FUOTA included with STM32CUBEWL: It is most likely my fault due to lack of knowledge of this technique, but looking through the folders and reading the readmes included, I couldn't find an example of uploading a new program through LoRa or similar.Any pointers in the right direction would be greatly appreciated! Thank you very much.
Hello,I noticed that ACI_HAL_LE_TX_TEST_PACKET_NUMBER command returns wrong number of packets. It seems that the value is trimmed to two bytes.Steps to reproduce:I run the HCI_LE_TRANSMITTER_TEST command for specified time.After this specified time expires i send HCI_LE_TEST_END command.Then i send ACI_HAL_LE_TX_TEST_PACKET_NUMBER command, which returns number of packets which is wrong when test duration is long enough to send more than 65535 packets.I've measured number of packets that device sends in 10 seconds. It's equal 15969.Then i was increasing time by 10 seconds and number of packets returned by ACI_HAL_LE_TX_TEST_PACKET_NUMBER command was as expected until 50seconds.Below is the table with results:10s : 15969 packets20s : 31954 packets30s : 47938 packets40s : 63923 packets50s : 14371 packets (expected about 79890 -> 14371 + 65536 = 79907)60s : 30355 packets (expected about 95870 -> 30355 + 65536 = 95891)Also i've checked content of buffer returned from api function and
Hello,I am following this tutorial - https://www.youtube.com/watch?v=F1VmRltS9ag&list=PLnMKNibPkDnG9JRe2fbOOpVpWY7E4WbJ-&index=6&ab_channel=STMicroelectronics The first task is to change the following:#define CFG_DEBUGGER_SUPPORTED 1#define CFG_DEBUG_BLE_TRACE 1#define CFG_DEBUG_APP_TRACE 1However I get an error stating :BLE_HeartRate/Core/Src/app_debug.c:444: undefined reference to `HW_UART_Transmit_DMA'is there a define for this? or does it need to be imported and if so how?
I wanted to upgrade RF stack in WB series uC. I have written my own bootloader, and using it I would like to upgrade RF stack using FUS. Does anyone have any FUS HAL driver, or example project?
Hello,I need to measure a small distance and I think that hte P-Nucleo-6180X1 would fit my requirements. P-Nucleo-6180X1 is made of a VL6180X1 and a STM32F401RE. I would like to communicate its output using LoRa, do you think that is possible?Thank you
Linker scripts generated by STM32CubeIDE 1.10.1 for the STM32WB55 (but also other STM32 platforms) reserve the first 4 bytes of RAM1. Below is an excerpt from STM32WB55RGVX_FLASH.ld demostrating that. Similarly every STM32 linker script I've seen appears to reserve first 4 (sometimes 8) bytes of RAM. Why are those 4 bytes of RAM1 reserved? Can I reclaim them and use for my own purposes?MEMORY { FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K RAM1 (xrw) : ORIGIN = 0x20000004, LENGTH = 0x2FFFC RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K }
Some facts:LoRaWAN_Init reports no errors, seems that calibration went through OK...?(RadioError result = 0)After trying out different power-modes(LDO/SMPS) and trying to put the Radio into StandBy(to measure the voltage on TCXO_VDD pin) RadioError becomes more pessimistic:for example: XoscStart = 1I would expect that if, Radio is in StandBy would leave HSE32 powered on.Seems that Radio.Send()/SUBGRF_SetStandby(STDBY_XOSC)after-all reported proper state of the peripherals.Does anybody have a clue how to troubleshoot?Any advice highly appreciated.Thanks and BR
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.