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
hello everyone, I am currently working on a board that I designed based on the double-layer reference design of MB1874-LP. The board is almost identical to the reference design.After finishing the layout of the board, I uploaded the draft code I wrote in STM32CubeIDE to the board. I used the SUBGHZ_PHY middleware that I saw in the sample codes of STM32WLE. The code I wrote inside the "SubghzApp_Init()" function is as follows:When I run the code in Debug mode, I encounter a "target not found" error and lose connection to the debugger when I reach the Radio.Rx() function. I also encounter the same problem when trying to start in transmit mode. I wonder what the problem could be caused by.
Hi, I have STM32WB55RG Board and I have tried the BLE Mesh Demo. I was wondering, it is possible to set the Net and App-Key with static value? If it is possible, then how to do it?I tried on 'BLE_MeshPRFNode' project.Thanks!
Hello,The objective of the project is to develop a BLE custom server profile and I need some clarifications.The maximum number of characters AD_TYPE_COMPLETE_LOCAL_NAME_LENGTH for the complete name for advertisement is restricted to 11. Is there any way that the developer can change the number to support more than 11 characters?The maximum number of characteristics for a given service is restricted to 5. I browsed through some of the community posts and got to know that I can add more characteristics with the help of 'aci_gatt_add_char()' function. But while doing this the function is returning the error code 0x48(attaching the debug photo). What is the meaning of this error code?When the services get initialized, there is a parameter 'Max_Attribute_Records' which is sent as an argument for the service. Is there any way that the developer can change this number so that the above mentioned point number 2 can be achieved?The project has also requirement to add RTOS middleware. When I ena
Hi,I have a board which has a STM32WB55RGV6 MCU and i have a problem. When i connected my board to Power supply, it consumes just 13 mA. But then suddenly, it increased 94 mA. I measured resistance between GND and VDD_MCU pins. I was 53 ohm. I understand that the problem is in there. But i dont understand everythings are working properly. I use SPI1, I2C, SPI2, Analog pins, USB, GPIO pins. There is no problem about them. Even if it is in sleep, it consume 82 mA. There is a problem but where is it. How can i solve it?Thanks for your interest
Hi!I've some doubts about security features of stm32WB.After reading the documentation, forums, etc; I can find that stm32WB implements all 4 security levels of Security Mode 1, which includes the ECDHE P-256 cryptography.I've some questions about that: If I enable pairing with no fixed PIN selected, Display Only I/O Capability and MITM protection requierd bit enabled, could I asume that after pairing process with the device, the communication will be encrypted? If so, which encryption would be established, AES-CMAC, ECDHE P-256, both or none? I've already been able to program the stm32wb to advertise data, print PIN from terminal and pairing my phone to the stm32WB, but I would like to know if that is all, or if I need more steps to encrypt communications. Thank you in advance!!
Hello all,We are developing a product that connects to a mobile application through BLE. Sometimes, not all the time, the product does not connect to the smartphone the first time, it retries to connect until it gets there. As a consequence, the connection is sometimes quite long, which is not acceptable. By using a BLE connection app on the smartphone (LightBlue), we can see that some connection does not succeed:In your opinion, what is the reason for this? I tried to switch from clock LSE to HSE but it doesn’t change anything. Could we have conflicting timing (advertising/connection)?It seems that it is the physical layer that refuses the connection. Is there something to change in the configuration of the BLE stack? We have used the Heart rate example provided by ST to write our code.Sincerely,Audrey
Hello,Is there any way to catch ACI event dedicated to read NOTIFY characteristic?I tought about ACI_ATT_READ_RESP_EVENT event, but I'm not sure if it is correct if I use with notify Characeristic.Could you confirm me that is a good way to achieve what I need?Michał Dunajski
Hi I am planning to use the BlueNrg module in my project , until I found out that I have to pay for the Qualification fee for using BlueTooth. Not sure if I dont display the logo I dont have to purchase it, or do I have to purchase it even if the logo isnt displayed? Below is the link I was giving.https://www.bluetooth.com/develop-with-bluetooth/qualification-listing/qualification-listing-fees/Best RegardsScott
Hello,I have a board with stm32wb55 used as end device, I've tried to enter standby mode after connecting to zigbee network.I found out that if HSE is selected as RF wakeup clockPeriphClkInitStruct.RFWakeUpClockSelection = RCC_RFWKPCLKSOURCE_HSE_DIV1024; than MCU would enter standby mode.But if LSE is selected as RF wakeup clockPeriphClkInitStruct.RFWakeUpClockSelection = RCC_RFWKPCLKSOURCE_LSE;than MCU would not enter standby mode correctly.But I need to use LSE as RF wakeup clock.I think it is because RF activity is not disabled before standby mode enabled.Is there any function could be called to disable RF activities with Zigbee?
Hi friend,I want to extend the HS_STARTUP_TIME for BlueNRG-1. What is the maximum value of HS_STARTUP_TIME for BlueNRG-1? I saw the datasheet AN4494 it says that "XTAL_startup = XTAL_startup_measured*1.2*1.1*1.3 = 1.716*XTAL_startup_measured". So 1953uS--> HS_STARTUP_TIME = 1074. But I use BlueNRG-1 IFR tool calculate 1953uS--> HS_STARTUP_TIME = 800 (0x320). Which is correct? Can anyone guide me? Thank you in advance.Best wishesTed Wu
I am using the STM32WB5MMG. Once per minute the chip wakes up and performs a measurement, then connects to another device to transfer the data. After transfer is complete, the chip disconnects (using aci_gap_terminate) then waits for 100 ms, then stops advertsising using aci_gap_set_non_discoverable. This works roughly 4/5 times, but sometimes this will return the COMMAND_DISALLOWED status code (0x0C).Under what circumstances does the controller return this command? How can I ensure that this does not happen?
Adding the TX power as standard on a GAP command.Is it part of some standard (SIG) of just an ST specific implementation? Also please refer to my ticket: https://community.st.com/t5/wireless-mcu/advertisement-start-without-automatically-adding-a-tx-power-type/td-p/576777P.S.Please see below snippet from the document an5270.@re_it
Good morning.I have an application where I want to have a Zigbee stack and a BLE stack both loaded on the STM32WB55. Is this possible? I would like my application firmware to be able to communicate with either stack exclusively depending on certain situations. Thank you.Steve
Hi, Hi all!My first post here and very excited! We just switched to ST Ble module in stm32wb55. Now I am trying to remove AD_TYPE 0x0A from advertisement, it takes us 3 bytes we need.Similar to this issue : https://community.st.com/t5/wireless-mcu/problem-trying-to-remove-tx-power-level-ad-type-from-advertising/m-p/177575#M7011 I am using 1.16 full.bin stack, as the peripheral.Issue: some hci commands are disabled in the _full.bin. I can't use other bin. Can I achieve it without a different stack? Thanks a lot for all the helpers!
Hello,i need to know if you recommend to use the BALFLB-WL-08D3 at 433MHzI design my PCB with the STM32WL54CC, and it will operate between 433MHz and 435MHz. i want to know if the BALFLB-WL-08D3 is suitable for my application or if is better to design RF line with passive components.Thank you,Sincerely.
What are the option byte settings set to when they ship from the factory for the NUCLEO-WL55JC1?While trying to get the LoRaWAN_SBSFU_1_Slot_DualCore application running somehow I've managed to mess up the boot options. I want to restore them to the factory defaults.The following is what they are set to now. OPTION BYTES BANK: 0 Read Out Protection: RDP : 0xAA (Level 0, no protection) BOR Level: BOR_LEV : 0x0 (BOR Level 0 reset level threshold is around 1.7 V) User Configuration: nBOOT0 : 0x1 (nBOOT0=1) nBOOT1 : 0x1 () nSWBOOT0 : 0x1 (BOOT0 taken from PH3/BOOT0 pin) SRAM_RST : 0x1 (SRAM1 and SRAM2 are not erased when a system reset occurs) SRAM2_PE : 0x1 (SRAM2 parity check disable) nRST_STOP : 0x1 (No reset generated when entering the Stop mode) nRST_STDBY : 0x1 (No reset generated when entering the Standby mode) nRST_SHDW : 0x1 (No reset generated when entering the Shutdown mode) WWDG_SW : 0x1 (Software window watchdog) IWGD_STDBY : 0x1 (Independe
I was able to flash the board successfully many times but it suddenly stopped working when I changed something in the write protection settings. I think it was "WRP1B_END" which is currently 0x0807f80, but I don't remember the default value, maybe someone can tell what it is?I am using STM32CubeProgrammer v2.14.0, MXCube 6.9.0 and STM32CubeIDE 1.13.0, which all seem to be up to date.For example, when I try flashing the firmware via STM32Programmer (using newest formware from github master), I get this: 14:17:21:361 : Reading data... 14:17:21:362 : r ap 0 @0x1FFF75E0 0x00000004 bytes Data 0xFFFF0140 14:17:21:362 : Old Firmware delete ... 14:17:21:362 : PROGRAMMING OPTION BYTES AREA ... 14:17:21:363 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified. 14:17:21:363 : Warning: Option Byte: nboot0, value: 0x1, was not modified. 14:17:21:363 : Warning: Option Byte: nboot1, value: 0x1, was not modified. 14:17:21:363 : Warning: Option Bytes are unchanged, Data won't be
Hello,I have to create a pcb for stm32wle5 for Lora 433 mhz ( 2 layers, hp) But in references I didn't find any balun for this frequency. Only for 490+ mhz.What balun can I use for 2 layer 433 mhz?With regards
Hi, I'm implementing a LoRa network (not LoRaWAN) using NUCLEO-WL55JC1 boards in a Master-Slave topology. I've scattered 7 end nodes, i.e., slaves, throughout 150 hectares and achieved successful data transmission. Each of these slaves and their related circuitry is placed inside small steel cabinets specially made for them, in which only a small hole was left for the antenna to pass through. The cabinets are attached to lampposts at about 4 meters high.As for the master, it will be located inside a room and permanently powered by a computer. However, it would be convenient if the antenna could be placed on the building roof, so I can achieve line of sight with some of the slaves and avoid many obstacles for the others. This way, I can transmit with less power and minimize the chance of any unsuccessful transmission. I have already installed a high-gain antenna on the roof that can be connected from inside, but I realized that the antenna that comes with the NUCLEO-WL55JC1 is glued in
Hi everyone, I am beginner of stm32. I was using arduino with other lora devices but they consume a lot of power. I was programming lora (ebyte) with HAL_UART. So it was really easy.Since I want to learn to program stm32 and I need really really low power consumption, I decided to use STM32WL55JC1 or STM32WLE5JC. I want to communicate 5(or more) end node devices to gateway and gateway will send the datas to api.So can I use P-NUCLEO-LRWAN2 as gateway and code it with AT command to achieve what I want easily?If I can't can I use ping-pong example for 5 NUCLEO-WL55JC1 devices as a ping and 1 NUCLEO-WL55JC1 device as a pong ? Pong will be connected the ethernet and it will post ping's datas to my server. Any example code? Any suggestions and help would be greatly appreciated as I am a beginner. Thank you.
Dear Community,I have exhausted all possibilities to find the reason to successfully configure Option Bytes on STM32WL55.With the process I am using CubeProgrammer v2.13 and I can say thatfor STM32WLE5 the programming of OB was successful every-time!The things that I have checked and tested for STM32WL55:- tried on different 15 devices (same model)- lowered the MSI to 4000000Hz (erratum workaround)- used unlock-chip in the CubeProg- tried different ST-Link frequencies- have upgraded ST-Link (V2J40M27)The only OB that I can program is the BOR Level.1. Do you have any idea or advice what should I do?13:06:48 : STM32CubeProgrammer API v2.13.0 | Linux-64Bits 13:07:07 : Start STLinkUpgrade...13:07:21 : UR connection mode is defined with the HWrst reset mode13:07:21 : ST-LINK SN : 0670FF48555075518704364613:07:21 : ST-LINK FW : V2J40M2713:07:21 : Board : NUCLEO-F401RE13:07:21 : Voltage : 0,01V13:07:21 : SWD freq : 4000 KHz13:07:21 : Connect mode: Under Reset13:07:21 : Reset mode : Hardw
Greetings,This is surprising because it should be a simple task. We've read from the die temperature sensor on other STM32 MCUs without issue. In this case, we are using the STM32WB55MMG module. We can read a calibrated value for the 3.3V VDDA input using the VREFINT sensor. We measure a value corresponding to 3.28V which seems reasonable. The calculation for the temperature sensor, though, isn't reasonable. # temp: c 0x3ae1 (15073) cadj 0x35ce (13774) dc -194 (-19.4C) vdda_mv 3283 # cal1 v 0x40a0 (16544) dc 300 cal2 v 0x5680 (22144) dc 1300 ts_mv 3000 # c/100c 350 a 0x3e8 (1000) b 0xfffff52e (-2770) c 0x15e0 (5600) d 0x12c (300) We are reading 12 bit samples left shifted into the MSB and averaging over 128 readings from the ADC. The 'c' is the sampled value from the temperature sensor at room temperature, about 24C right now. cadj is adjusted for the difference between the 3.0 value for the temperature sensor cal values and the 3.28V
I am doing a LoRaWAN project on the STM32WLE and so I want to power it down in Stop2 mode to lower the power consumption.Using the following code, this works fine : UTILS_ENTER_CRITICAL_SECTION(); // mask interrupts if (applicationEventBuffer.isEmpty() && loraWanEventBuffer.isEmpty()) { // If no events are pending in any of the eventBuffers... HAL_SuspendTick(); // stop Systick HAL_PWREx_EnterSTOP2Mode(PWR_STOPENTRY_WFI); // go into Sleep - STOP2 HAL_ResumeTick(); // re-enable Systick } // UTILS_EXIT_CRITICAL_SECTION(); // re-enable interruptsHowever, when some of my other code uses UTILS_ENTER_CRITICAL_SECTION(); to make things thread safe between the main thread and the interrupt-handlers, the device does not stay into Stop2 but wakes up immediately..Commenting out the UTILS_ENTER_CRITICAL_SECTION(); UTILS_EXIT_CRITICAL_SECTION(); it works as it should, but then the code is not thread safe anymore... Here's what those macro's are doing (utiliti
I'm using STM32WB55CGU6 (UFQFPN-48) for a design and trying to connect with the ST link. But seems like it is not connecting in any way. Can anyone tell me how can I connect this MCU and upload the firmware to this MCU? Why it is not responding?
We are probably need a support from the ST team with the implementation of the LORA (STM32WLE5JCI6) supporting all four frequency ranges.ST has provided two reference designs, one for LB, one for HB. We have combined them together and made it not on the perfect way. I’m attaching the document with implemented schematics. I have added additional RF switches(U39, U40, U41 and U42) on the RFO, these RF switches requiring DC blocking capacitor(C208, C209, C210 and C211), but these caps(as per my understanding) are blocking DC insertion from the VR_PA and therefore the output power is reduced. The alternative is to use true DC RF switch - I was able to find only one true DC RF switch(PE42020), but this one need 11V to operate. We need an advise in how to implement the 4 bands design and what components to use. Will appreciate your support,
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.