TODAY | STM32 Summit 2026
Ask questions and discuss STM32 wireless solutions and their implementation for running Bluetooth LE, Zigbee, LoRaWAN applications.
Most recent activity
I think I have discovered a bug in the way CubeMX behaves when both SPI and DMA are enabled. I am using the P-NUCLEO-WB55 board. If you look at the SPI_FullDuplex_ComDMA_Master example application, this runs fine on the P-NUCLEO-WB55 with a jumper between MISO and MOSI. However, if you exchange two lines in main.c so that we have:MX_GPIO_Init(); MX_SPI1_Init(); MX_DMA_Init();instead of:MX_GPIO_Init(); MX_DMA_Init(); MX_SPI1_Init();then the example fails. However, this is exactly what CubeMX does if we follow these steps:Create a new project for the P-NUCLEO-WB55-Nucleo (do not initialize peripherals in default mode)Enable SPI1 as full duplex master with SPI1_SCK on PA6Save and generate codeAdd SPI1_RX and SPI1_TX DMA requestsSave and generate codeThe problem does not occur if we don't save and generate code after enabling SPI1, i.e.:Create a new project for the P-NUCLEO-WB55-Nucleo (do not initialize peripherals in default mode)Enable SPI1 as full duplex master with SPI1_SCK on PA6Add
Stack versions: LRWAN_V1.3.0, LRWAN_V1.2.3, LRWAN_V1.2.2Hardware: B-L072Z Murata moduleWe are registering duplicate frames sent by the End Nodes. Doesn't happen frequent: 1% of all frames, may be less.It happens on over all of our LoRa gateways so it doesn’t appear to be related to a specific brand of gateway hardware.
In AN5289, clause 12.4.5, I found, that "Low power feature is not supported". I'm wondering what actually doesn't support low power here: application example for MAC 802.15.4, the wireless stack or neither. Also, if it's the case with the wireless stack, what can be the reason of that: is this feature simply not implemented (yet?) or is it somehow entirely impossible to use low power modes with this stack on this chip?Does anybody know anything about that?
Hello, previously I used the I-CUBE-LRWAN LoRa v1.2.0 with region AS923 no prob it can join and send data. I dropped in the newer v1.3.1 I-CUBE-LRWAN LoRa with same compile define/same region etc... it cannot join the LORA network (same APPKEY/same DEUI etc...). I can see with debug level 2 that the transmit frequencies are good (923.2/923.4Mhz for Join command), but I cannot get any JOINED return (join success) and the MCU is stuck there. Please anyone had the same issue, any suggestions?
I have a Nucleo Pack with two STM32WB55 discovery boards. One of the boards has a 64 pin micro controller, while the other board is USB dongle with a 48 pin microcontroller.I flashed the binary file from an example project called "BLE_p2pServer" found here onto the 64 pin micro controller using "STM32CubeProgrammer" and the board communicated just fine with an app called "ST BLE Sensor" as suggested in this tutorial. Now I would like to flash the 48 pin USB dongle in order to make it communicate with the 64 pin board that is already working.Unfortunately the USB dongle doesn't show up in "STM32CubeProgrammer" and flashing an example project from TrueStudio also results in an error:ST-Link enumeration failed Error in initializing ST-LINK device. Reason: ST-LINK DLL error.The boards have different names:chandran@chandran-OptiPlex-9020:~$ lsusb Bus 001 Device 038: ID 0483:5740 STMicroelectronics STM32F407 Bus 001 Device 039: ID 0483:374b STMicroelectronics ST-LINK/V2.1 (Nucleo-F103RB)Both
I have an STM32WB55 Nucleo Pack and I am trying to set it up with my machine (Ubuntu 18.04.3 LTS) to run some sample code.I installed Atolic TrueStudio (version 9.3.0) and downloaded a sample project called "STM32100E-EVAL_USART_IrDA_Transmit". The project builds successfully, but I get the following error when I connect the nucleo device(s) and click on "debug":ST-Link enumeration failed Error in initializing ST-Link device. Reason: (2) ST-Link DLL error.I tried the relevant suggestions in this thread, but to no avail.Meanwhile I installed the STM32CubeProgrammer (version 2.2.1) and the STM32CubeIDE (version 1.1.0), but I got the same error message when I clicked on "debug" with an example project.I was not able to install STMCubeMX (version 5.4.0) because it got stuck in the installation process.Given that I haven't seen the board in action, I can't rule out things like a wrong configuration of the jumpers or problems with the udev rules on my system - STM32CubeIDE did modify the UDE
Is there an EEPROM emulation for STM32WB55CG as it exists for the STM32L476RG ?
HiI thinking of buying and STM32WB (P-NUCLEO-WB55 evaluation board) because of the fast ADC. I need to sample four analog signals with a rate of a few hunderd Ksps and store their values.what would roughly be the sample rate when using 4 adc inputs (8bit)?Is there any direction you can guide me to, to accomplish this? (example/ adc application note)Thanks in advance,
..
Hello, I'm facing a strange problem. I just bought the LRWAN2 package, connected the gateway to the network, one usb cable to power it and one usb to the st-link. I configured the packed forwarder to router.eu.thethings.network,1700,1700 and CH to US915.On the ttn side, I registered the gateway but it says "not connected".Searching on the ttn troubleshooting guide I found the bin file for this Gateway, so I updated the firmware, changed the MAC address to the provided one but no connection.I tried to connect the loriot server with success.I am running out of ideas.Does anybody faced the same or similar problem with ttn? Do anybody have a different bin file or configuration that work with ttn?Thank you.Daniel
I have TrueStudio v9.3.0, Stm32CubeProgrammer v2.0.0 and cubeMX ver5.2.0 installed. I can open and compile the hand-on project of BLE_HeartRate on TrueStudio but can't debug it. console shows: "Target no device found", error in initializing ST-link device.open cubeProgrammer also has error of "No STM32 target found".I can do nucleo board st-link fw upgrade/downgrade via cubeProgrammer, and PC usb driver shows "ST-Link Debug" current my nucleo board st-link fw is V2J35M26. Need help to make the board working with TrueStudio.Thanks in advance.
I'm trying to perform I2C read from external EEPROM upon characteristic value change.I'm able to read from EEPROM before advertisement stage.I'm using sequencer to put char_value_handler in the main thread.But HAL_I2C_Mem_Read() returns HAL_ERROR.The reason is NACK flag is set after writing device & memory address.I've noticed, that if I put a breakpoint before calling HAL_I2C_Mem_Read(), then release it manually everything is OK. The same result is with placing a 0.5 second delay just before HAL_I2C_Mem_Read().I can also put HAL_I2C_Mem_Read() in a while loop and it succeeds on a fourth try.I thought hat it could be some interrupt or hci_event but _disable_irq() makes no change. And no hci_notify_asynch_evt() is called after a HAL_I2C_Mem_Read() call.Maybe I sould use some mutex or status flag before calling HAL_I2C_Mem_Read() but I've already tried everything I could think of.Of course I could proceed with that 0.5 s delay or a while loop but it is so lame.Any ideas what is the r
Hello,I'm testing a custom board implementing a BLE Server. The binary for CPU2 is the stm32wb5x_BLE_Stack_fw 1.3.0. All the radio system seem work well, tested with STM32CubeMonitor-RF and a nucleo dongle (Packet Error Test below 1%). The advertising phase work well too. But when I try to connect a BLE Client, it connects and disconnects immediately after. The reason code of HCI Event is 0x3E (Connection failed to be established).After some investigations, tring to load my firmware on the STM32WB Nucleo Board, I found the problem. I use LSI2 as source clock of RF WAKEUP, this seem not work also on the nucleo board, but switching to LSE (on Cube MX clock configuration), all works well. On my board I can't use the LSE, in reference manual I saw that LSI2 was suitable to source the RF WAKEUP. I already trim the LSI2 with factory value stored at 0x1FFF7548, but the frequency is 30kHz not 32Khz. Could be a problem?It doesn't work also with HSE/1024 as source of RF WAKEUP CLOCKWhy I can't u
Hi, I am trying to calculate the current consumption for my BL072z board1.- my formula:16mA in run mode30uA in stop modeT to tx data = 20 secsNumber of txs in a hour = 3600/20 = 180duration of each tx = 3 secondstotal TX time = 3(180)=540 seconds = 0.15 hourstime in sleep mode = 0.85 hoursTotal current consumption = 0.15(16mA) + 0.85(30uA) = 2.43mABattery = 1000mAhCapacity is automatically derated by 15% to account for some self discharge so:Battery = 850mAhbattery life = 850mAh/2.43mA = 349.79 hours = 14.57 days2.- formula from website is the same result3.- ST formula page 9:IDD = ( T1*IDD sleep / T ) + ( T2*IDD run / T )T1 = 20 secondsIDD sleep = 30uAT2 = 3 secondsIDD run = 16mAT = 40 secondsIDD = 1.215mAthe ST formula gives me a value very different, does anyone knows why?thanks
Hello,i'm trying to send data to a server thanks to b-l072z-lrwan1 discovery kit but i can't even start the connexion between them.Here are the parameters that i've set/chosen on the server :here is the device parameter according server point of view : and finally the error :you can find the commissionning.h that i have attached AND the main.c (it's the same main.c as the end node project excepted that i've chenged LORAWAN_DEFAULT_DATA_RATE (DR0 to DR5) and LORAWAN_ADR_STATE (ON to OFF)Here you can also check the debug frames printed when i launch the program in debug mode : 1 means that LoRaMacMibSetRequestConfirm function returns "LORAMAC_STATUS_BUSY"0 means that LoRaMacMibSetRequestConfirm function returns "LORAMAC_STATUS_OK"I don't know why i can't send data to the server whereas all key are the same on both sides.Maybe should i check the the appkey again... any help ?thanks regardsThibaud
Hi, first my node did not get the join response and continuosly sent the join request but “suddenly�? my node started to sent the join request and got the join request accepted but repeated the processi mention “suddenly�? because it started to work just when i moved my gateway, then after a few minutes i moved my node antenna toward my gateway and it worked!I am very confused because yesterday i read in a post that the devices (gateway and node) must not be too close then i moved my gateway away from my node and it works then i disconnected my node and when was started once again just sent the join request, i had doubts about the distance between devices but today i confirmed it is the problem but the solution is very random because sometimes works and sometimes doesnt works, any suggestion?details:i am using the pycom lopy4 as gateway and the bl072z “number guessing�? example from st workshopi have the same SF(7) in the node and gateway(i dont know if this is ok)now i have 1 meter of
Hi. Can anyone tell me if wireless STM32WB microcontrollers supporting Bluetooth 5.0 can talk to Android smartphones like the Samsung Galaxy S7 series? It looks they may only be compatible S8's and beyond. If not, is there a work-around? Thanks.
I have been trying to set up the initial code from cubeMX for my Thread Project.The Steps that i have taken are as follow:1) Set up RCC2) Set up HSEM3) Turn on RTC4) Activate RFHere are where the problems start, since i could compile until here5) Select Thread from WPANAlso from utilities Sequencer and TinyLPM have been checked.When I compile I get this:STM32CubeIDE/workspace_/wpan/Debug/../Core/Src/app_entry.c:185: undefined reference to `UTIL_LPM_Init'Core/Src/app_entry.o: In function `appe_Tl_Init':STM32CubeIDE/workspace_/wpan/Debug/../Core/Src/app_entry.c:205: undefined reference to `UTIL_SEQ_RegTask'Core/Src/app_entry.o: In function `APPE_SysEvtReadyProcessing':STM32CubeIDE/workspace_/wpan/Debug/../Core/Src/app_entry.c:283: undefined reference to `UTIL_LPM_SetOffMode'Core/Src/app_entry.o: In function `shci_notify_asynch_evt':STM32CubeIDE/workspace_/wpan/Debug/../Core/Src/app_entry.c:335: undefined reference to `UTIL_SEQ_SetTask'Core/Src/app_entry.o: In function `shci_cmd_resp_rele
I'm working to perform flash operations while the BLE stack is running and there is an active connection. Once I initiate an erase operation, the connection times out with a supervisor timeout.There seems to be an elaborate sequence of steps necessary to initiate a flash erase per the Cube code for pal_nvm:HSEM acquire FLASHFlash CR unlockSHCI_C2_FLASH_EraseActivity( ERASE_ACTIVITY_ON);Wait for suspend to be clearInitiate the eraseAcknowledge erase (clear erase op)SHCI_C2_FLASH_EraseActivity( ERASE_ACTIVITY_OFF);Flash CR lockHSEM release FLASHWhat is the C2_FLASH_EraseActivity? Is there any explanation of what this means or does? All of the other steps are, for the most part, explained.
We are developing wireless communication via MAC 802.15.4 . We used your sample code of Mac_802_15_4_FFD and Mac_802_15_4_RFD to set up the communication between two STM32WB55 Nucleo boards successfully. But we can't find any code or interface we can use to configure Tx power level. Thanks in advanceWenjian at Ingersoll Rand
Hi, I am having following problem. I am reading all the GPIO pins of portB when I receive an interrupt. The interrupt rate is 625KHz and I am storing this data for 20ms.The problem is I have data losses every 1ms. I think this happens because of the SysTick interrupt. My code is really simple. I only activate one GPIO pin for interrupts and the whole PORTB as an Input. I am not enabling the other perpiherals. Does anyone have an idea how can I solve this problem? I need to store data without data losses. Kind regardsOzan
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.