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
Please advise on mounts / bga-to-pin adapters or sockets that I can mount on a pcb so that I can still use this chip. Thanks in advance.
I am using I CUBE LRWAN 2.0.0STM32L072-LRWAN1 board is in use.You want to use the TRACE function UART1 (PA9, PA10) pin.The TX outputs letters to the serial, but the RX function, such as keyboard input, does not work.NVIC is also set in UART1 INIT.HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);HAL_NVIC_EnableIRQ(USART1_IRQn);I've also added an IRQ handler.void USART1_IRQHandler(void){/* USER CODE BEGIN USART2_IRQn 0 *//* USER CODE END USART2_IRQn 0 */HAL_UART_IRQHandler(&huart1);/* USER CODE BEGIN USART2_IRQn 1 *//* USER CODE END USART2_IRQn 1 */}I don't know what I missed.Please help me.
I'm working with the NUCLEO-WL55jc1 board and I have one strange behavior. I need one output pin and I've called it Trigger.Initially, the pin PC2 was used but I wasn't able to make it work. It had incorrect output voltages and some bounce like it was a switch. Other pins, like LEDs on the board, worked as aspected, so I decided to change the pin with PB1, using the same software: it was working.In order to investigate, I've used both outputs, the same software, just a set, and a reset after delay. I've connected the oscilloscope to see the output signal reported in the picture. Tack yellow is the PB1 output (Trigger_pin), track blue is the PC2 output (Test_pin) the wrong one. My simple code. uint16_t Distance(void) { uint16_t distanza = 0; UTIL_LPM_Mode_t lpm_stat = UTIL_LPM_GetMode(); // UTIL_LPM_S APP_LOG(TS_OFF, VLEVEL_H, "\r\n###### ========== PASSO ==========, %d\r\n", lpm_stat); BSP_LED_On(LED_BLUE) ; HAL_GPIO_WritePin(Trigger_GPIO_Port, Trigger_Pin, GPIO
what is the difference between V2.0.0 and V2.1.0there is no display to console and no AT message
Hi guys, I recently made a design based on nucleo wb55 dongle using STM32WB55CGU (48-UFQFN), but I cannot connect to it using SWD. I believe it is not a schematic problem, so I am a bit stuck for debugging the situation. I soldered it using hot air station (< 250/260 deg celsius). The joints look okay, but I am not an expert on soldering QFN. So, my main guess is that I broke it while soldering. Is it really feasible to solder it using hot air station ? or a reflow oven is a must ? I compared the voltage on the dongle with my custom board, and the difference I find is on pin VLXSMPS, and VFBSMPS. It is 3.3V on dongle, but 0V on mine. What could be the reason ? It is not shorted to GND. I tried to short it to VDD, but it didnt help NRST is at 3.24VI use the ST-Link V2 to program it, same as what I use on the dongleThank you very much for your timeSWDMCU SchematicsVDD External Clocks
I am working on STM32WB5MMG board and using the example QSPI_ReadWrite_DMA.In the main function the program can not run into case 2 to call HAL_QSPI_Transmit_DMASource Code as below: case 2: if(StatusMatch != 0) { StatusMatch = 0; TxCplt = 0; /* Enable write operations ----------------------------------------- */ QSPI_WriteEnable(&hqspi); /* Writing Sequence ------------------------------------------------ */ sCommand.Instruction = EXT_DUAL_IN_FAST_PROG_CMD; sCommand.AddressMode = QSPI_ADDRESS_2_LINES; sCommand.DataMode = QSPI_DATA_2_LINES; sCommand.NbData = BUFFERSIZE; if (HAL_QSPI_Command(&hq
Hi, In my application I have added a custom service with 5 characteristics, all have 128bit UUID, 3 characteristics are 4 byte long and 2 characteristics are 2 byte long.When I compile and connect to board by my phone I can't see the last charactersitics, it ssem not added in this serviceWhat is wrong?In attachment there are the files of this custom service only, the configurations also seem compliant with number of custom services and characterisitcs.So in my smartphone I see:servie with uuid 3333char with uuid 3334char with uuid 3335char with uuid 3336char with uuid 3337but ther isn'tchar with uuid 3338Please make me know how to solve this problem.thank youbest regardsLuigi Berardi
Hello friends,I am working on STM32WB on-chip Bluetooth low energy system to transmit data from server to client using notification property.I want to transmit 46 bytes at the rate of 500Hz without any packet loss, to achieve this I have updated the following BLE connection parameters-MTU Size: 512 Byteshci_le_set_data_length: 251 Bytes with Tx time: 2120 msConnection Interval: 11.25msTX_PHY & RX_PHY: 2MTx Power: 4dBmbut I face data loss at the receiver end.To transmit 46 bytes of data using notify, I update the p2p service and Characteristic as- /** * Peer To Peer Service * * Max_Attribute_Records = 2*no_of_char + 1 * service_max_attribute_record = 1 for Peer To Peer service + * 2 for P2P Write characteristic + *
Hi,is there anyone who tries to run ota zigbee example? After some debug I think that ota client is unable to write data to flash.From the server side I can see that the process started. From the client side I can see the red led on what mean abort download. After reset the flash from the address 0x08030000 remains unchanged.Best Regards
Hi there, I'm struggling with the P-NUCLEO-WB55 kit I just bought...! I wanted to try basic application example given in STM32WB package, followed the documentation and nothing works correctly on the USB dongle...!Application : Zigbee_OnOff_Client_RouterBoard : MB1293C (STM32WB55 USB dongle) I flashed FUS (version 1.1.2) & Zigbee stack (stm32wb5x_Zigbee_FFD.bin) ( following documentation, nothing special)I build the application "Zigbee_OnOff_Client_Router" (STM32Cube_FW_WB_V1.11.0/Projects/P-NUCLEO-WB55.USBDongle/Applications/Zigbee) using STM32CubeIDE (V1.6.0), no errors, binary files generated. Flash ELF file into USBDongle, in DFU mode, flash OK. I'm following the start up order, so I start first the "Zigbee_OnOff_Server_Coord" (UART message, led BLUE light's on) and then I I power up Dongle.....When Dongle's application starts (Switch is not in DFU mode now), LED's starts roling and nothing works... Am I doing something wrong ? Many thanks in advance
Hi all. I'd like to write a simple bare-metal application for STM32WLE5JC. Could you provide snippet code for STM32WL (core + radio) initialization and simple RX/TX Lora Packet ? Thanks Olivier
Note the difference between WB5 and WB55. My main goal is to determine whether I can define any of the pins on the WB5 as SPI or ADC, or are there only certain pins that can perform those functions.
Hello, coming from a STM32L071 + SX1276 application I find it impossible to achieve the equivalent P2P simplicity using the STM32WL package and the latest version of CubeIDE. Am I correct assuming this package only works with the Nucleo hardware at the moment?Second question; has anyone managed to get a Simple P2P template working with the STM32WLE5CB on a custom board? Reason I ask this is because I keep getting quite a lot errors no matter what parameters I change, it just never compile. Same for you guys?Hardware: STM32WLE5CB (GPIO: 2 LEDs, 2 VCTRL for RF TX/RX)Goal: Board1: TX 1byte + flash led. Board2: RX 1byte + flash led.
I'm trying to add an external FLASH and RAM to the STM32WB55, but he doesn't have an FMC or FSMC, and all resources a could find related to this subject use the FMC peripheral, there is any way to use the external RAM and FLASH in the same time?should I use 1 QSPI for both of them?
I am working on smart watch and I have been using STM32WB board, The bluetooth is communicating with the Mic and it is working fine, I want to display, Date and time on my ST7789 display and I want to know how I can display, I am using BLEPeripheral and Opus code in my project, I was able to interface display, but need to write RTC without interfacing the current fuctions, As we know this microcontroller is working with M0 and M4 processors, in while loop(in main), when I try to implement RTC, I am getting, but there is a problem in the code, Can anyone help me with this.
Hi everyone,I am trying to connect a NUCLEO-WL55JC1 to the TTN network. I have specified the device EUI, app/join EUI, app key and network key in the se-identity.h file. The debug output of the board confirms that the values correspond to the values specified in the TTN application. The join request fails, but I can see that the request is received by the gateway and it makes its way to the application in the TTN console. The data in the TTN console shows that the OTAA join request failed because of a MIC mismatch. If I copy the raw payload and decode it using this online decoder I can indeed see that the received MIC does not correspond to the expected MIC. Now my question is: How do I check the if the MIC is calculated in the right way? I have a feeling my device is using the wrong credentials to calculate the value, but I am unable to pinpoint where this happens in the swamp of the LoRaWAN-stack. I am also unable to find what LoRaWAN version and Regional Parameters version I need to
As an example, the following code is provided, the timers are started and stopped in app_ble.c.I can run two of the three leds using two different timers and they work properly, but when I add the third one than the leds start working in an unexpected way. I tried to find details about the concurrent work in AN5289 but I couldn't find any information. I also played a bit with periods, but this also didn't give me any clarity of the server behaviour. May I ask for some support?OK, with some changes it works much better now :)#include "leds_task.h" //#include "main.h" //#define PERIOD_S (1 * 1000 * 1000 / CFG_TS_TICK_VAL) //1s //#define PERIOD_S (20 * 1000 * 1000 / CFG_TS_TICK_VAL)//20s #define PERIOD_LED_BLUE (1 * 1000 * 1000 / CFG_TS_TICK_VAL)//1s #define PERIOD_BLUE_LED_OFF (1 * 1000 / CFG_TS_TICK_VAL)//1ms #define PERIOD_LED_GREEN (1 * 1270 * 1000 / CFG_TS_TICK_VAL)//1s #define PERIOD_GREEN_LED_OFF (1 * 1000 / CFG_TS_TICK_VAL)//100ms #define PERIOD_
I have written bootloader for F0 and F1 series. These are pretty straight forward and lots of flavors available on Github. However I cannot adopt the same strategy for the WB55. The reference documents on memory mention a standard bootloader and an OTA boot loader which are actually mapped to a different memory location compared to the other processors. Is there any thing special that i need to do? I have to develop my own boot loader as I have not been able to use the wifi stack with ZigBee successfully. I am using a third party radio so cant really use the built in radio features of the WB55.
I have written an app using the sequencer and time server. My app selectively runs or doesn't run the BLE stack by calling or not appe_Tl_Init();I use HW_TS to generate delays. When I don't run the appe_Tl_Init function my timing is correct. when I do run the function the timing is 4 times too fast. How does appe_Tl_Init() affect this timing?
In my project I uses 2 LEDs and one Buzzer, all of them based on PWM controlMy current HW implementation is as follow:Led#1 connected to PA.3 - PWM based on TIM2/CH4Led#2 connected to PB.9 - PWM based on TIM1/CH3NBuzzer connected to PA.0 - PWM based on TIM2/CH1LED#1 and LED#2 should work at almost the same Freq. and the best for my needs is: 400Hz and Buzzer optimal Freq. is: 4KHzI set TIM1 Freq. to be 400Hz (CLK=64M, PSC=3 and Period=53333) - - and it works fine as expected!I set TIM2 Freq. to be 4KHz with CH1 Duty Cycle: 50% - and it works fine as expected!However this mean that LED#1on TIM2/CH4 must work at the same Buzzer Freq: 4KHz and NOT at 400Hz similar to LED#2My Question are:In current HW setup is it possible to solve above issue, and make LED#1 & LED#2 to both work at 400Hz?Is there a GPIO solution, to activate both LED#1 (PA.3) and LED#2 (PB.9) from one common PWM channel (example:PB.9) ? P.S. I also tried to make it using TIM2 interrupt, but this is involved with TIM I
..
I am trying to write FW for the WB55 which starts a BLE server on powerup ( so far so good)then after BLE connected to and a characteristic has been written and BLE disconnected I want to be able to enter standby modeUpon an RTC wakeup the FW will see its not a power and NOT start the BLE stack, but still start the scheduler for data acquisition tasks.Can you point me to examples or documentation?
Hi,I am currently using STM32 custom board with STM32CubeWB. I am a newbee in writing the firmware. There were two versions of binary files I got from previous programmer, one is with OTA function and one is without OTA function. They were uploaded into different addresses (0x08000000 and 0x08007000). Right now, I want to make some modifications on the firmware, and then want to generate two versions of firmware as well. But I don't know what I need to do to generate OTA and NON_OTA versions. This is the header file I thought I can change to generate two different firmware. I thought changing the "BLE_CFG_OTA_REBOOT_CHAR" to 1 will achieve that. Apparently, it is not that easy.https://github.com/STMicroelectronics/STM32CubeWB/blob/master/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_HeartRateFreeRTOS/STM32_WPAN/App/ble_conf.hAnyone could help me out?
I am using STM32WB50 to build a sensor which can be connected by the Android app via BLE. The code is generated by cubemx, and advertise works fine. But it will not work when the phone request a connection with the MCU.I captured the BLE packages with a BLE analyzer and it shows that the MCU did not answer to "LL_FEATURE_REQ" send from my phone.The app debug messeges are as follows:Then I tried to download the example for Nucleo(STM32WB55) to my MCU and the problem remains the same.Thank you for helping me and if anything is not clear please let me know.
I tried to update the firmware on P-NUCLEO-WB55 devboard, but it fails with the following error:"Error: FUS_STATE_ERR_UNKNOWNError:Old Firmware delete failed"I check in STM32CubeProgrammer, and I have V.0.0.0 version: I do not know why it happened, maybe a previous incorrect way of upgrade process.Any idea how can I resolve it?Additional info:The dongle is ok, I could update it via USB, it has fw V1.1.2.0 version.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.