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
Hi,I'm currently working on a new design using the BlueNRG-132. The Bluetooth chip is wired to our main processor using UART, and I want to use the UART bootloader to flash the BlueNRG-132.I implemented a basic tool to send and receive commands over the UART bootloader. It works fine for every command (bootloader activation, get version, read memory, erase memory, readout (un)protect,...) BUT I'm not able to use the write command properly.I used the specs defined in AN4872, and I'm able to write successfully the first 256 bytes of the memory, but as soon as I want to write a higher address, the process fails when I send the next data payload (NACK received).I tried with 256 bytes length payload, 128 bytes length, 64 bytes length,... and always get the same result: Everything works fine between 0x10040000 and 0x100400FF but I'm unable to write starting at address >= 0x10040100.Example:* Erase memory* Write first 256 bytes:-> Send command ; get ACK => OK-> Send address (0x100
Is there a checksum bug in the BlueNRG-2 Bootloader for the "number of bytes to read" field for the Read Memory Command? Checksums seem to computed properly for all other data transfers except for this one. Length always seems to be 0xFF and checksum should be the same but is always 0. What is the correct checksum computation logic for this field?
Posted on June 04, 2018 at 11:21Hi,my iPhone doesn't connect to the SPWF04 in mini ap mode.I see a DHCP reply of the module, so the iPhone is partially connected, but I never get the wifi symbol on my iPhone. Also in my iOS wifi settings, it shows me always that it tries to connect to the network and I never get a hook beside the SSID name.With the SPWF01 module I don't have this problem.Does anybody else have this problem?BR,Flow
Hello, I bought a STEVAL-FKI868V1 but I have a problem with the st registrationi saw this video: https://www.youtube.com/watch?v=JD6UE7ekRxE&t=7sand follow the steps but when I drag the .bin file to the drive and start the register I can't found my RCZ, that is number 2, it only appears 1 and 3.Thanks for your responses
Please list the steps needed to configure the SPIRIT1 to generate an un-modulated signal.
I installed a software "BlueNRG GUI". but it is asked me to update the F/W.I got a message "Old firmware detected on the motherboard. Update motherboard Firmware (under Tools menu)."Please show me how to upgrade it
I am writing a firmware to send and receive data to/from hyper terminal using Nucleo-32 board. But my device manager reads COM31 (Virtual communication) as ST-Link. Is there a way in which I can disconnect my ST-link
Hi,I'm using a STEVAL-IDB006V1 and a STEVAL-IDB006V1M as evaluation board. They both mount a BlueNRG-MS.It seems that the first one could work only as a slave and not as a master, even though it should be both. The return code for aci_gap_start_general_discovery_proc() is "command disabled" .So I made a simple change to the New chat example in order to work with it only as a slave. The "M" version doesn't have problem so it does the master.Still, the advertisement of the slave it not seen from the master. It didn't even fing other devices with other names, like a BLE bracelet or other things present in the room (which it should see and not start the connection procedure to).I neither can see any of the two devices from my smartphone, even if I start the aci_gap_set_discoverable() with different advertisement cycles from the GUI. I tried all combinations of all commands, and also using the "ACI utility" tab, but even though there is no error code turning back, nothing is scanned (as mas
According to the description of CCA_PERIOD[ ] on page 41 of the ref manual (DocID 022758 Rev 10) , Tcca is the time between two successive CS samplings but the CSMA flow chart on page 40 indicates that CS sampling is done continuously for Tcca duration. I guess the flow chart is wrong. We urgently need to get SPSGRF-868 working for a European customer. Also please confirm that the Tbit is (1 / 34.7 kHz) = 28.818 micro-secs.
Hello,I couldn't find a better category for this.I'm using the USBLC6-2 for USB protection in a product that could potentially have a 20 V USB line (USB-PD). Like this:However, the VDD line would be clamped by this IC, is it acceptable to drop the VDD line like this and separately clamp it:The internal diagram for the protection IC is as follows: The pin on the left is the I/O pin. The USB data line is not clamped to the power rail, it seems to clamp through the zener but I'm concerned that there is some black box functionality in this device.
Hi,In my application I put the BlueNRG-1 unit into deepsleep with NO_Timer activated and it can only be awoken by IO12. When the unit is awaken by IO12 I check the wakesource and I confirm it was IO12 that has awaken the chip. Right after this I need to do a BLE scan by using the following instruction result = aci_gap_start_general_discovery_proc(625, 625, PUBLIC_ADDR, 0x01);The result code returned is 0x46 which indicates /** * @brief The requested operation cannot be performed by the Host in the current status. */ #define BLE_STATUS_NOT_ALLOWED ((tBleStatus)(0x46))I am not sure why it is not allowed ?The strange this is that this only happens when the unit has been awaken from DeepSleep. If I run the system normal I don't get this errorANDWhen my program runs the first time I do a scan as indicated above and it works 100% and then I go into a Deepsleep awaiting to be awoken by IO12.What am I missing?What do I need to do when I have been awoken from sleep?Please help as I have sitti
Hi,I have two devices, both working on BlueNRG-2 chips as Network Processors.Just to extend their functionality by handling larger characteristics I added exchange MTU procedure.The procedure is started after connection established between the devices.Unfortunatelly, using exchange MTU spoiled my communication.Some time spent on investigation provided following observations.I see that incorrect characteristics handle is returned in the event function (aci_gatt_disc_read_char_by_uuid_resp_event) as the result of discovery the characteristics by its UUID (aci_gatt_disc_char_by_uuid ).In the event function I receive Attribute_Handle=0x0000 instead of the correct one.If I work without that exchange procedure, all is fine - correct value of characteristics handle is returned.In the event function there is also Attribute Data that is the same for both cases and contains UUID as well as correct handle.It looks like a bug in ST Bluetooth Stask [?].Am I missing something?Regards,Piotr
Hi,in the SPIRIT1 SDK (STSW-CONNECT009), ST provides the wireless m-Bus stack as a library. Is it possible to get the source code of the stack?
I am new to this, I am trying to connect two WM-Bus modules STEVAL-FKI868V2. I am facing some difficulties to do this communication. Can anyone help me with a sample code? or something to start with ?PS: I have tried to use the S2-LP DK, but I want a full code based on the chosen board.Thanks for your help
..
In document UM2409 section 2.4 there is a bullet"1. Download the STM32F103RB-STKNX package and extract it in your file system."But I cant find any place to download this.
Hi,By default, according to Bluetooth LE standard, BlueNRG-2 uses 3 advertising channels. Is it possible to limit this type of communication to be performed only on one channel?I would like to capture messages by BLE Sniffer. This is very simple device so it can listen only on one channel at the time. Now I miss some CONNECT messages and consecutive data exchange.I suspect that the sniffer is listening on another channel when connection is established. Hence, I would like to limit this communication to one channel.Regards,Piotr
Hello,We want to implement a Water meter using STM32 + S2-LP or STM32 + Spirit1. We want to use Wireless M-bus protocol and we want to know if the stack is available for 433MHz? If not is there any alternative you could suggest? Forgot to mention that Low Power is important! Thank you,
I try to make multi-connection using BLE lib from BlueNRG-1_2 DK 3.0.0.I cannot connect a second slave device to control after connecting to the first device.The aci_gap_start_general_discovery_proc() failed:0x82Discovery procedure are possible to start if first connection is closed.Multi-connection works fine with lib from BlueNRG-1_2 DK 2.5.0 .
Hello,In the datasheet of the s2-lp it is written a frequency range supports by the S2-lp as crystal but nothing is specified for a tcxo, it is the same range ? 24-26 Mhz and 48 - 52 Mhz ? Thanks in advance
Hello everyone,We are using the SPBTLE-1S in order to impelement an SPP protocol. We are using both the Chat and Security example project. Everything works fine except pairing request.When we try to connect to device after a reboot, there's a pairing request and we must re-input the pin code. Is there any way to remember the last device connected (or a list) and skip the pairing request?Any suggestions?
Hi guys,Trying to debug this issue. When I try to set a 128 bit service uuid in my advertising packet, I get 0x42 (invalid param) back from the BLE stack. Here's my call:aci_gap_set_discoverable(ADV_IND, 0, 0, STATIC_RANDOM_ADDR, NO_WHITE_LIST_USE, 8, localName, 17, servUuid, 0, 0);servUuid is an array where the first byte is AD_TYPE_128_BIT_SERV_UUID. This should be a valid advertisement packet. The uuid I am providing is a valid UUID that has already been added to the db. If I set servUuid to NULL and the length to 0, the call works as expected.Any idea?-Nick
Hi everyone,I would like to design my own PCB with BlueNRG. It will be simple board with BlueNRG and H3LIS331DL sensor, very similar to STEVAL-BCN002V1. Schematic of this PCB is clear for me, but I don't have any expieriences of developing RF antennas. Datasheet of antenna's chip is very poor. Can someone give some solutions or design rules?P.S. Where is it possible to buy STEVAL-BCN002V1?Thanks a lotPaweł
When requesting a scan with duplicates filtered like this:aci_gap_start_general_discovery_proc(ScanInterval, ScanWindow, PUBLIC_ADDR, true);I would like to not receive duplicates during that scan. But when that scan expires (after what is it, 10 or 11 seconds?), or after that scan is explicitly stopped, and then later, or even immediately after receiving the GAP procedure complete for the general scan, when a new scan is started with the same command:aci_gap_start_general_discovery_proc(ScanInterval, ScanWindow, PUBLIC_ADDR, true);This new scan should not be using the database of duplicate addresses from the last scan, after all, it is a new scan, so until an address is seen on this scan, it should not be a duplicate. But this is just my way of thinking, because the duplicate address database is preserved in between separate scans.So how can the duplicate address database be flushed in between scans (or even during on ongoing scan)?Thanks,
Hi,when the modules boot I get a string for the FW revision like "140128-caf4b79-SPWF01S". Where can I get the corresponding FW rev like "3.5"?Where can I find the differences between these revisions? Thanks,Robert
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.