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 am using demo board "NUCLEO-WL55JC1" to run SubGHz_Phy_PingPong example. if I did not change anything, I can see the message, the default usart RX and TX is PA3 and PA2.123s023:Rx start125s023:OnRxTimeout125s025:Master Tx start125s216:OnTxDone125s219:Rx start127s219:OnRxTimeout127s221:Master Tx start127s413:OnTxDone127s416:Rx start129s416:OnRxTimeout129s417:Master Tx start now I want to configurate PB7 and PB6 to see the message, how do I do ? Could you give me some advice , please?
In the app I'm developing, I'll wind up with 50-100 files on my device's uSD card that need to be available to users on my company network. The device sits inside a sealed pressure housing and I'd really like to do this without a hard wired connection between my device and the company network. The users are not necessarily very tech savvy so the process needs to be simple. Currently, users interact with the device with simple commands sent from a terminal server running on a laptop using a RS232 to Bluetooth adapter. The Bluetooth signal gets through the pressure housing to a 2nd Bluetooth adapter inside the housing no problem. Is there a way to execute code on my device so that when the "FileTransfer" (or whatever) command is received users can browse and transfer files on the uSD card? It would be fine to reboot the device after receiving the command so it boots up looking like a hard drive. I'm not stuck with Bluetooth. WiFi or similar technology would be fine. I'm not very familiar
Hi , Default values of the _Min_Heap_Size and _Min_Stack_Size is setting according to What? I changed these variables from 0x200 , 0x400 to 0x00 and 0x00 resprectively ,end then no problem,no error .I guess that Static and dynamic variables in RAM are in the RAM Base Addr + (_Min_Heap_Size or _Min_Stack_Size ) . Why are they 512 byte and 1K byte as default? Best regards,Enes.
I am using TIM1 in the STM32WB55. I used CubeIDE and HAL to set everything up. Based on a button push I would like to update the counter period to a value in an array. I prefer not to htim1.Init.Period = period[flag]; HAL_TIM_Base_Init(&htim1);as it seems silly to go through all the macros to re-init just for a register. Can someone tell me what is the syntax to just update the register itself? ThanksSteve
Hello. I programming STM32WB55 nucleo device and trying to setup printf for debugging. I have no luck so far setting it up. I have tried replacing _write in syscals.c with __attribute__((weak)) int _write(int file, char *ptr, int len){ int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) { ITM_SendChar( *ptr++ ); } return len;} But with no luck yet. The error returned: Undefined reference to "ITM_SendChar" I believe the wb55 does not support ITM right? Is there any other way to achieve printf to console in cubeIDE?
How to modify the broadcast frequency of Beacon after it starts broadcasting, I follow the order:aci_gap_set_discoverable() -> Aci_gap_update_adv_data (), but does not work, else(base on BLE_HeartRate):aci_gap_set_non_discoverable () ->aci_gap_set_discoverable() -> aci_gap_update_adv_data(), will enter HardFault in the first step aci_gap_set_non_discoverable ()
Hi, Within the framework of a project I have to develop bluetooth beacons in order to determine the positioning of an object in interior. For that we wish to use an STM32WB in order to be used as beacons and that this one emits permanently and transmits information (in particular its position). That's all it has to do.At the moment I use the provided BLE_Beacon and BLE_p2pServer, but I can't identify, or understand which function can help me.Could someone help me to understand?
Hi, I'm using STM32WB55x series mcu, I wanna know how I should configure/change the relevant priority for the TIM2?In the old days we use this:void NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; NVIC_InitStructure.NVIC_IRQChannelSubPriority=1; NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; NVIC_Init(&NVIC_InitStructure); }I don't know what we should do now given it's the day and age of HAL and CubeMX.What should I do? If there's a register manipulating solution, it would be better.
Using an STM32WB55, timer16 for switch debounce. It is set for 100ms. I was looking in the HAL library for the timer and I see start / stop functions, etc. but how do I reset my timer after I come into the ISR? I am sure the counter will roll over by the time I get into the ISR and I would like to reset it for the next pushbutton but see no calls how to do it. Seems very bleak to think I would have to do an INIT again.ThanksSteve
I am trying to exchange data (str data) between two STM32 throughout Lora connectivity. Both STM32 has a lora module and the connection between them is working fine. Based on two functions:T_eError_eErrorType eDataPlane_eReceiveData_Cmd (uint32_t in_uiTimeout, uint8_t* out_pucData, uint8_t inout_pucLength, T_stSx1276_eRxPacketStatus out_pstRxPacketStatus)T_eError_eErrorType eDataPlane_eSendData_Cmd (uint8_t* in_pucData, uint8_t in_ucLength)I am trying to send and receive messages instantly. I discovered a huge problem: for example I am trying to send a data which has a duration equal to 300ms while the timeout of receiving the data is fixed to 3000 ms. It may, in one rare case, be a loss of such a data, when the data arrives at the time of 2800 ms of the timeout of the receiver. Such a problem is similar to the exchange of data in the UART interface when using the blocking mode (HAL_UART_Receive (&huart1, UART1_rxBuffer, 12, 5000);). My question is how to garantee receiving the dat
Hi,I am a bit confused on the lora STM32WL sequence protocol system, I want my device to sleep and wakeup according to the periodic values I want. I have made my own sleep function (stop 2 mode & radio sleep) with wake up triggered using RTC (in seconds) and push button. Where can I put my function (PLB_SleepMode) into the sequencer utility lora end node STM32WL ?Thank youHere my code for custom sleep and wake up system:void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *RtcHandle) { //Clear wake up flag __HAL_PWR_CLEAR_FLAG( PWR_FLAG_WU ); } void PLB_RtcWakeUpTimeSetting( RTC_HandleTypeDef *RtcHandle, unsigned int seconds ) { //Set wake up time /* Disable all used wakeup source */ HAL_RTCEx_DeactivateWakeUpTimer( RtcHandle ); __HAL_RCC_WAKEUPSTOP_CLK_CONFIG( RCC_STOP_WAKEUPCLOCK_MSI ); HAL_RTCEx_SetWakeUpTimer_IT( RtcHandle, seconds - 1, RTC_WAKEUPCLOCK_CK_SPRE_16BITS ); } RTC_HandleTypeDef *PLB_RtcPowerSavingConfig( void ) { //Set RTC Clock, Timer
Hi,I'm hoping that someone can help me implement a Channel Activity Detection (CAD) check on a TX channel before transmitting a message, as to implement a kind of CSMA version of LoRa. Basically I would like to know where CAD is carried out in the LoRa stack so that I can use it in my own bespoke case. Thank you,Odhran
..
A new version 2.7.1 is released. Fixed sniffer issues :Remove extra FCS bytes in frames.Stop then start capture with no frame raised an error.Enjoy !
I tried to run BLE Blood pressure example on my STM32WB board.I was able to connect to BLE and see the screen as attached. But the example stated that value updates every 4 secs. What am I doing wrong here? Do I need to make any changes in program? I have used example code provided in repository without any changes. P.S. I want to implement read characteristics.
I am moving our BLE development from Zephyr 2.5.0 to 2.6.0. The st_ble_sensor sample included in the Zephyr 2.5.0 tree compiles and runs successfully with the nucleo_wb55rg eval board, but does not work when I attempt the sam from the Zephyr 2.6.0 tree. In this case the board advertises correctly, and is seen by ST BLE Sensor iPhone app, but an attempt to connect results in a forever-spinning Connecting icon.
Development board: L072CZ-LRWAN boardDevelopment Environment: KEIL (Free License)HelloWe are currently developing LoRaWAN's end device.Before connecting JP9 1-2 to control TCXO,I tried to check if the output is coming from PA12, but only the voltage of mV is detected.No matter how much you look at the circuit diagram, the only connection to PA12 is SB13 that is disconnected from JP12(PIN1).I gave all the settings of GPIO to HIGH, but I checked that all except PA12, PA11 PB13.I'd appreciate it if you could tell me what I did wrong!Below is the code.void MX_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, LED_G_Pin|LED_B_Pin|LED_R2_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOA, TCXO_VCC_Pin|LED_R1_Pin, GPIO_PIN_RESET);&n
개발 보드 : L072CZ-LRWAN 보드개발 환경 : KEIL(무료 �?��?�센스) + I-CUBE-LRWAN V2.0.0안녕하세요.RoLa개발�?� 시작한 초보 개발�?입니다.현재 UM2073 문서를 참고하여 개발�?� 진행중입니다.개발중�? low-power모드 설정하는 부분�? �?금한게 있습니다.코드�? void UTIL_LPM_EnterLowPower( void ){ UTIL_LPM_ENTER_CRITICAL_SECTION_ELP( ); if( StopModeDisable != UTIL_LPM_NO_BIT_SET ) { /** * At least one user disallows Stop Mode * SLEEP mode is required */ UTIL_PowerDriver.EnterSleepMode( ); UTIL_PowerDriver.ExitSleepMode( ); } else { if( OffModeDisable != UTIL_LPM_NO_BIT_SET ) { /** * At least one user disallows Off Mode * STOP mode is required */ UTIL_PowerDriver.EnterStopMode( ); // UTIL_PowerDriver.ExitStopMode( ); } else { /**
HelloI noticed a strange behavior on CUBEMX when creating new project with STM32WLE5J8I MCU.When i activate a LORAWAN application and i build the project, ther's many erros of compilation but when i go to the "project manager" and "Generate files" option and when i activate " Generate Peripheral initialisation as a pair of .c/.h files per peripheral" and i build again, errors disappear!!!!! i don't found the relation but it's strange as behavior and it make me not confident about cubeMX with STM32WL Serie.My doubt was confirmed when i tried to import from example the LORAWAN End Node example to CUBEIDE. When i build directly, i have 0 error 0 warning everything OK and i can see on the serial communication the differents key and the communication with a gateway was successfully made!!! BUT when i open .ioc file of the project and want to change for example the periode of transmission of the message or change the HW configuration and i build again, i obtain 1124 errors!!!!! strange NO ?T
Hi,Is there an example or note that guides to implement CHAR_PROP_INDICATE?
Hi, I want to implement BLE read property. I found Blood pressure example but not able to execute and understand it properly. Thanks.
Hello! On the board STM32WB55RGV6 there is the connector CN13, where is written STLINK (reserved). Can I use these pins to program another board?
Hi!I am using a STM32WB for a bluetooth very low cost application. Right now i have ported in my board with STM32WB50CGU the example P2P server and the Android application ST BLE Sensor connect and communicate with it. I am using the LSE clock (32.768kHz).Now, according with datasheet of the STM32WB50CG, paragraph 3.10, point 3, the LSI2 can be used by the RF subsystem, so, in order to reduce the cost of the board, i tryed it.I can see the advertising with the mobile app (it appears in the research), but unfortunately i cannot connect and exchange data with the board. I attach the cube clock configuration. Am i doing something wrong? How can i solve this problem?Thank you in advanceBest regardsLorenzo
Hello everyone,I have one more question about a project I generated with STM32CubeMX for an STM32WB55 microcontroller. The code generation included all necessaries libraries and source code to communicate with an external master device (such as a laptop), and all seems to work perfectly on this side (I mean, communication between my laptop and the STM32WB is OK).When I try to receive a frame sent by the laptop or a terminal, (in the "userBufferRX" ) it seems to be limited tu 64 bytes only. In the RX buffer, I see only 64 bytes and the end of my frame seems to loopback at the beginning of the buffer. I need to receive frames up to 200 bytes. So, here is my question : Is there any configuration to extend this size or is it herd-limited ? How can I set this ?Thank you for your help, and have a nice weekend to all.Patrick
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.