WATCH ON-DEMAND | STM32 Summit 2026
Ask questions and find answers on connectivity ICs, focusing on protocols and I2C challenges on STM32 Nucleo boards and BlueNRG products.
Most recent activity
I have a few X-Nucleo-IDB05A1 boards, and when I test them on the X-Cube64 board, some work and some don't. So I checked it, and like the attached picture file, the Trace Code and Bulk ID are different.Trace code XN915011 is fine,11540270 doesn't work at all.What's the matter?
I am having STEVAL-IDB011V1 board. I am developing the battery profile for that i have refer the ADC_Battery_sensor and BLE_sensorDemo example but the code is stuck in below loop. Please let me know what is the issue in firmware. Is the issue is in ADC initialization. Please find the attached firmware link./** * @brief Disable the inversion of the ADC data output bits (1's complement) * when a differential input is connected to the ADC * @rmtoll CONF BIT_INVERT_DIFF LL_ADC_InvertOutputBitDiffModeDisable * @param ADCx ADC instance * @retval None */__STATIC_INLINE void LL_ADC_InvertOutputBitDiffModeDisable(ADC_TypeDef *ADCx){ CLEAR_BIT(ADCx->CONF, ADC_CONF_BIT_INVERT_DIFF);}@Sebastien DENOUAL @Salvo @Salvatore DI SALVO @BlueNRG-LP Hands-On: Expanding Bluetooth @Sebastien DENOUAL https://drive.google.com/file/d/1Ijkz83Vn9KHylf9Kwu9mUnPLL7aWp-jZ/view?
I'm not sure if the failure is in tx or rx.The full generated project is attachedtested on dual nucleo-f401RE+S2868A1 boardstest protocol: reset both boards, click few times on blue button of a board, and see it just blink twice on the other board.I have no clue where to find the problem, I just see the example is failing fast, and when pushing a button the app think it does send radio frame.(it goes to: SM_STATE_SEND_DATA, SM_STATE_WAIT_FOR_TX_DONE and back to SM_STATE_START_RX )stm32cubeide 1.8.0SUB2G lib+example: 4.2.0
SCH_RegTask( CFG_IdleTask_HciAsynchEvt, TL_BLE_HCI_UserEvtProc );SCH_RegTask( CFG_IdleTask_TlEvt, TL_BLE_R_EvtProc );SCH_RegTask( CFG_IdleTask_Button, LB_App_Button_Trigger_Received );SCH_RegTask( CFG_IdleTask_ConnDev1, LBR_AppConnReq1 ); SCH_RegTask( CFG_IdleTask_SearchService, LBR_Client_Update_Service );
I'm struggling with an issue regarding the number of GATT services, characteristics and descriptors in BlueNRG by STM. I have currently set 6 services and 8 characteristics, minimizing the number of attributes for each service inside maximum_attr_records variable as input of GATT function aci_gatt_add_serv().Everything works fine until I add the seventh service or the nineth characteristic: the GAP does not initialize and the communication is stopped.I imagined that is something connected to the number of attributes/services/characteristics used in my application that require all the GATT stack memory, but it seems weird.Is there a way to increase this maximum value using the BlueNRG protocol?BlueNRG-2, STM32CUBEIDE 1.7.0, X-Cube-Ble 3.2.2
Hello community,I configured the uart dma in my project based on the project example USART_TxRx_DMA_Init, and stuck in frame errors, one of the errors is the end of the string seems to be swapped.Sometimes there is no problem the end of the string is \r\n (0x0D 0x0A) and sometime its 0x0D 0xA0. This is because the dma ends before uart has finished, and another string is sent.I modified the example project so that it continuously sends with few ms delay between each, and no error.How to prevent dma from overwriting previous string data without delay ? (using another IT ?)I got the same issue with the example project and STEVAL-IDB011, you can see in above image, the spike is the dma IT.
First off, my apologies if I am asking this in the wrong location, any advice on where to post questions like this in the future is welcome.TLDR: How does one go about developing project code from the examples provided by ST I.E. setting up a project with the correct includes, initialization of the BLE protocol, and successfully communicating between two BlueNRG devboards? Short of that, is there any recommended examples or tutorials which may help a newbie to this device get up to speed and be able to code a relatively basic project?Full description:I am working with ST's BlueNRG-LP evaluation board (STEVAL-IDEB011V1) for a college project and I along with my other teammates are a little outside our depth with working with this particular board. Our project involves a basic transmission of data between three devices in a smart garden watering system application. A moisture sensor collects data on the moisture content of the soil and transmits it to a controller which will automate wat
i am not able to connect to hardware on above mention software also get the error as shown in image .i have also followed the UM2058 for steps but after following the step i am not able to connect to hardware.@Sebastien DENOUAL @Salvo @Salvatore DI SALVO @Sebastien DENOUAL
I'm using the BlueNRG-LP DK SW package to work on a STEVAL-IDB011V1 dev kit. I'm testing the HAL power management drivers.The problem I'm having is using HAL_PWR_MNGR_Request() to enter deepstop mode (which is called POWER_SAVE_LEVEL_STOP_WITH_TIMER in the drivers) causes my power consumption to increase after exiting deepstop.I am running very simple test code that uses an RTC to enter IDLE mode for a few seconds, then DEEPSTOP for a few seconds, then repeats indefinitely. My current draw in IDLE mode before entering DEEPSTOP is about 1.3 mA. However, after entering DEEPSTOP once, my current draw in IDLE increases to almost 2.4 mA. Attached is a trace of my current draw that demonstrates this.It seems like some register is being configured in the HAL_PWR_MNGR_Request() function that's increasing my current draw after I leave DEEPSTOP, but I'm struggling to figure out what that is or how to reset it.Any advice would be appreciated.
..
Hi @Sebastien DENOUAL I have example code BLE sensor demo in that they have 3 sensor value and one free fall characteristics. One is acceleration , temp, press, and free fall. The acceleration sensor value is Conntiniously updating over the app one we enable the notifications is enable. But the temp and press value is read only they are not updating over app one we enable the notifications. I wanted to update temp and pressure value Continuesly once we enable the notifications. How I can do that in example code. What change I have to make in BLE sensor demo example. @Sebastien DENOUAL @Salvo @Salvatore DI SALVO
Hello, I'm trying to program a STEVAL-IDB011V1 board for a broadcast role with extended advertising and Coded PHY. But something is wrong in my GAP set configuration because when I run my program I got this status from aci_gap_set_advertising_configuration() function:Error in aci_gap_set_advertising_configuration() 0x82This status (0x82) mean: Invalid parameters passsed at Host layer. I don't know what I'm doing wrong. This are my GAP configurations:// Init GAP://////////////////aci_gap_init(GAP_BROADCASTER_ROLE, 0x00, 0x08, PUBLIC_ADDR, &service_handle, &dev_name_char_handle, &appearance_char_handle);// Gap adv configuration///////////////////////////////////////status = aci_gap_set_advertising_configuration(1,GAP_MODE_BROADCAST,0,(333*1000/625),(333*1000/625),ADV_CH_ALL,PUBLIC_ADDR,NULL,ADV_NO_WHITE_LIST_USE,127,LE_CODED_PHY,0,LE_CODED_PHY,1,0);// Enable adv/////////////////////Bluetooth_GapAdv_create (1, BCPC_extendedAdvParams_dynamicMsgs);aci_gap_set_advertising_data(1,
Hi,I'd like to confirm the register-address details of this STUSB4710(4700). I found the post related to the register-address below and looked over the document. However, kinda struggling to understand it fully.1: Does STUSB_BLOCKBaseAddress mean the device address in the datasheet?2: How do I calculate the actual DAC value on VSEL_POD? I'm assuming that the resolution would be 78mV( 20v divided by 8bit)I might be able to supervise the output voltage in another way, but it would really be helpful if the register in the STUSB4710 works.<Reference post>https://community.st.com/s/question/0D50X0000BTdHBFSQ3/stusb47004710-i2c-register-detailsBest Regards,Kazuki Kitajima
I am a student, and am using ST BLE Sensor app with STM32F103RB and X-NUCLEO-BNRG2A1. I am looking to adapt the sample application to use as a demonstration in class, but I can't seem to find where, in the code, the Nucleo board takes input from the Android application. I found where the 'simulated environmental data' is sent to the application, and adapted that to work with my project, however, essentially, I need a simple pushbutton on the Android app to trigger something on my STM32F103RB, but I can't seem to find where that would be done. I thought I could maybe use the "reset" button on the SensorFusion tab of the Android app, but I'm not sure if that button is actually sending data to the microcontroller or not.I am obviously very new to all of this, and have only learned very basic constructs of the microcontroller in class (nothing about the X-NUCLEO-BNRG2A1, or Bluetooth in general) -- I am purely doing this to make a cool design project! Any help would be appreciated.
I am developing a new product using BLUENRG-355AC and need some help regarding the antenna matching circuit. I am planning to use an external 2.4GHz antenna connected to a SMA connector on the board. The BLUENRG-LP series has two evaluation boards STEVAL-IDB011V1 and STEVAL-IDB011V2. Initially I had thought of replicating the antenna matching network from these evaluation board designs, but then both of these boards have quite a different antenna matching circuitry. So I am confused as to which one is more reliable. On the other hand, I am also open to design an antenna matching network on my own but for that I'll require some guidance from the experts on this forum as I am not a very experienced in RF hardware design. Could the experts in the forum kindly point me to some references which I can use to design the antenna matching network properly? I have had a look online but the information is so scattered that I am finding it difficult to make sense out of it. If someone could let me
I have STEVAL-IDB011V1 board i want to send raw data or externa sensor data over BLE i have modified BLE sensor Demo example the firmware link is attached with this. I getting error like Failed to read from characteristics properly.@Sebastien DENOUAL @Salvo @Salvatore DI SALVO @Bluetooth® LE Application Development’ @BlueNRG-LP Hands-On: Expanding Bluetooth @Salvatore DI SALVO @sthttps://drive.google.com/file/d/1eW1U4etTRc4LxzT4VK90WwzSKMZ7jJxI/view?usp=sharing
Hello,for one of our customers in the sector of process automation, we are evaluating different BLE modules including your BlueNRG-M2SP and BlueNRG-M2SAFor our evaluation, there are two requirements we must know, to verify their capability to be certified and used it in explosive environments (ATEX):Internal (onboard/on chip) total capacity (C) and inductivity (L). This can be either a list or partial BOM of all capacitors and inductors included in the module, or its schematicsIs this module washable after its assembly on the target PCB, to be prepared/cleaned for a final coating or potting?I hope you can provide me with this information.Best regardsAchim
I designed a PCB with an STM32L476rc and a BlueNRG-2N, the buenrg is conected with usart3 and i want to read the bluenrg version and send it to usart2 to show it with docklight please can someone give me a hand in the source code ,
Hello everyone, I am designing a custom board (STM32L476 MCU paired with BLE connectivity, among other components) and after search decided to use BlueNRG-2N module along with Antenova A5839 Antenna.Tried to follow AN4819, despite the tight PCB space constraints. However,I get quite poor performance (~2 BLE devices found in 10s scan), especially when compared with X-NUCLEO-BNRG2A1 (which is equipped with BlueNRG-M2SP module, ~10 BLE devices found in 10s scan) , while running the same SW. Respective pics of board and schematic attached below. Any idea to improve the PCB design ?Thank you in advance
I have three devices. D1 is Master of D2 and Slave of D3. D1 is Master and Slave at the same time. D1 must receive a packet from D3 at the anchor point, and must send a packet to D2 at another anchor point. Because of clock drift, I would expect these two anchor points to collide at some point. The collision should result in a disconnection (right?). By using a combination of aci_hal_end_of_radio_activity_event and aci_hal_get_anchor_point I can actually see that the anchor points drift and collide, but the connection stays on.Does the stack do something internally to move the anchor point? (I know this is possible by using the connection parameters request procedure)Thanks
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.