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 try to read the device name of a connected central device from the peripheral once the connection is completeGAP_ConnectionComplete_CB(cc->peer_bdaddr, cc->handle); uint16_t uuid = 0x2a00; resp = aci_gatt_read_using_charac_uuid(cc->handle, 0x0001, 0xffff, UUID_TYPE_16, (uint8_t*)&uuid);but the response is ERR_INVALID_HCI_CMD_PARAMS. Can someone spot my mistake? It seems that if I do the same thing from the BlueNRG GUI the parameters are valid. Of course I cannot confirm that the GUI really uses aci_gatt_read_using_charac_uuid().Update:What also confuses me is that according to UM1865 the aci_gatt_read_using_charc_uuid function should only return 0x00, 0x42 or 0x46 but not 0x12.
Do we need additional tool/GUI for STUSB1700?
Does anyone have any supply of this part?. Or could direct me to where these are in stock to purchase?Thanks in Advance!
The pins with red boxes are supposed to be OUT pins as indicated on the datasheet. (see picture). However, the actual layout looks like the GROUND pins. I am not sure if i am seeing it right, someone pls help! Thank you.
Hello,I am working on windows base system i have to work on linux or DoS base system so we can use the x-cube azure package?
Hey Team, iv had some issues trying to modify the BLE_HID_Peripheral example.Iv modified the report descriptor and can confirm it works on another BLE ic.The only things iv changed outside the report descriptor are just the config_hid function.At hidSetDeviceDiscoverable it returns BLE_STATUS_INVALID_ADV_FLAGS" * @brief The discoverability flags in the advertising data are not coherent * with the discoverability mode set in the advertising configuration" but to my understanding here the hiddevice_init sets that up //################################################ //TEST //############################################### uint8_t Configure_HidPeripheral(void) { uint8_t ret; batteryService_Type battery; devInfService_Type devInf; hidService_Type hid; connParam_Type connParam; /* HID Peripheral Init */ connParam.interval_min = 9; connParam.interval_max = 10; connParam.slave_latency = 0; connParam.timeout_multiplier = 300; /
..
I have a BlueNRG-2 set up alongside another processor with a uart used to communicate between the two. The idea is that the second processor tells the blueNRG what friendly name to use before starting to advertise. Ideally, I want the blueNRG to save the friendly name, so that if it reboots, it loads the one it saved. Only place I can think to save it is to flash. Thing is, when I write to flash, any attempt to use aci_gap_init fails with a flash_write_error and I have to erase the entire flash and re-program to recover it. I'm writing to the 3rd last page of flash, which shouldn't be getting used for anything (I'm aware that the last 2 pages appear to be used for security db and server db stuff) Anyone know how to resolve this (or maybe even if there's a better place I could be saving data to)?
I'm using the module X-NUCLEO-BNRG2A1 and I uploaded some code to give the BLE module an address, services and characteristics.Now, when I disconnect the module from my NUCLEO-F411RE and connect it to Arduino or I simply power it up, I can't find the BLE device in any app.
I'm struggling to get some detailed information on how to determine the correct number for the max_attr_records value of the aci_gatt_add_serv() function.I know that you need 1 for the service itself and then at least 2 for each characteristic, but what else requires an attribute record?Let say I have the following characteristicaci_gatt_add_char(hServiceConfiguration, UUID_TYPE_128, uuid, 6, CHAR_PROP_NOTIFY|CHAR_PROP_READ|CHAR_PROP_WRITE, ATTR_PERMISSION_ENCRY_WRITE, GATT_NOTIFY_READ_REQ_AND
I was reading DT0107 to send multiple packets in same connection interval and increase throughput. On page 7 it says some methods where we need to change connection length. I am using BLUENRG-MS on peripheral side and have Android phone on central side.As per my understanding central changes connection length and peripheral can request central which are preferred values.How can I request central to change connection length? Is there some API/ function available that I can call? Also I didn't find any method on Android side from where we can make this change.I found one API but it can work only from central side and not peripheral. I have Android phone at central side, so it wont work. aci_l2cap_connection_parameter_update_response_IDB05A1
This API didn't work.aci_gap_init(role, 0x00, 0x08, &service_handle, &dev_name_char_handle, &appearance_char_handle); aci_gatt_set_access_permission(service_handle, dev_name_char_handle, 0x1);
For my application I need to change connectable into non-connectable i beacon advertisement. In order to do so, I created a development a new project in which Ibeacon BLE working fine with all MEMNS sensor. If I integrate it goes BLElist.c. Kindly guide me what is the issue. I am changing the configuration setting in Init_BlueNRG_Stack Please let me know why it is showing like this
What's the purpose of R12 and C12 in the circuit? I have come across another circuit which R10 is 10K ohms and R11 is 2.2K ohms without R12 and C12 connection. I'm having some issue when powering up a board design with R10 (10K ohms), R11 (2.2k ohms) without R12 and C12. The problem is STUSB4500 will not power up the board if power from a USB HUB (with external Power Adaptor) and not from a USB PD Supply.
I'm developing a very simple product using BLUENRG-232N. I was wondering, whether this device can function as an SPI master to just read some data from sensors, and send it over BLE ?The documentation is also pretty confusing. It says that there are multiple GPIOs, but then in pin description telling not to connect ? :thinking_face:This might be a very good use case of the internal MCU, for building simple IoT sensors.https://www.st.com/resource/en/datasheet/bluenrg-2n.pdf
Hi,I just got a STEVAL-IDB008v2 boards and I want to test lighting demo example available in STSW-BNRG-Mesh. I have followed the steps in "Getting started with the ST BlueNRG-Mesh embedded firmware". Unfortunately, there is error while building the program using Keil:error: L6050U: The code size of this image (174134 bytes) exceeds the maximum allowed for this version of the linker.Finished: 0 information, 0 warning, 0 error and 1 fatal error messages.Target not created.I got similar error when I tried to use IAR. Any advice how to resolve this issue?Thank you in advance!
I want to use the BNRG-MS2P of this module with an Arduino. More specific with a custom PCB with an atmega328p. Any tutorial, Literature I can use. This is a new field for me
Hi,I have a project that needs BLE connection. Right now I have a custom PCB working with a premade BLE module (SH-HC-08), the PCB has an atmega328p. Now is the time to upgrade with a custom BLE chip for creating my own characteristics.For this, I started with the X-NUCLEO-BNRG2A1 module with the NUCLEO-STM32F411RE.This is a new field for me and I don't know how to start. Are these modules suitable? Can I program the X-NUCLEO-BNRG2A1 with Arduino? I'm really lost and I would need some literature, tutorials, manuals whatever.I have already checked some ST manuals but they start from a high level of knowledge.Thank you.
My device init looks like this: ret = aci_gap_init(GAP_PERIPHERAL_ROLE, 0,0x08, &service_handle, &dev_name_char_handle, &appearance_char_handle); if(ret != BLE_STATUS_SUCCESS) { //PRINTF("GAP_Init failed: 0x%02x\n", ret); return ret; } ret = aci_gap_set_io_capability (IO_CAP_NO_INPUT_NO_OUTPUT); ret = aci_gap_set_authentication_requirement(BONDING,MITM_PROTECTION_REQUIRED,SC_IS_SUPPORTED,KEYPRESS_IS_NOT_SUPPORTED,7,16,USE_FIXED_PIN_FOR_PAIRING,123456,1); if(ret != BLE_STATUS_SUCCESS) { //PRINTF("aci_gap_set_authentication_requirement()--> Failed 0x%02x\r\n", ret); while(1); } /* Add Device Service & Characteristics */ ret = Add_ChatService(); if(ret != BLE_STATUS_SUCCESS) { //PRINTF("Error while adding service: 0x%02x\n", ret); return ret; }But when I use the nrf Connect, or lightBlue android App to test, it just connects without prompting for a PIN. Anyone able to point out what I might be missing?
So I'm new to the stm32 line up and I'm currently trying out the STCUBEMX code generator. After generating the code, I can't seem to find the configurations for the pins I selected. For example, I chose PD5 and PD6 as TX and RX for USART2. But when I check the auto-generated code, it doesn't seem to configure the gpio pins. It does set up USART2, but just not the pins. So does this mean that I'll have to set it up myself? If so, are there any examples I could reference from? Also, I'm not sure if I have to manually configure the pins myself for the auto-generated GPIO pins. For example, in line"107 shows "GPIO_InitStruct.Pin = SDIO1_CMD_Pin;". Do I have to edit SDIO1_CMD_Pin to configure it the pin SDIO1 is at (e.g.GPIO_PIN_??)? And what does HAL_GPIO_INIT() do? Do I call it once for every gpio A,B,C... Or do I have to call it every time I need to initiate a pin so for each PA pin I will have to call HAL_GPIO_INIT() each time?static void MX_USART2_UART_Init(void) { /* USER CODE BEGI
I'm designing a guitar pedal using my F767ZI Nucleo, and I have an input stage current buffer using a TL072 op amp. I'm using the Nucleo's 3.3v as VCC.I would like to know if I can wire the op amp output pin directly to the ADC pin on the Nucleo, or if I need to regulate the current using resistors. I'm not sure how much current the op amp outputs, nor am I sure how much current the Nucleo can tolerate.
Hello, as part of a connected bracelet project intended for the medical surveillance of the wearer and alerted in case of emergency, we would like to know your on-board solutions allowing us a gsm connection in order to send data relating to the health of the wearer and transmission channel. we want an MCU solution but also rf via esim.Other interfaces such as the use of an accelerometer, gps are envisaged.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.