This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640: Required hardware devices for a BLE program running on a PC that shall use TI stack instead of Windows stack

Part Number: CC2640
Other Parts Discussed in Thread: CC2540,

Tool/software:

We are currently developing a test stand that shall contain 24 independent positions for devices under test (DUT). Each device needs to continually transmit its operating information via BLE to the test stand PC. Thus we have to bond with all these devices and sequentially connect with each device to get the data. In our first attempt, we used the Windows 11 in-built BLE functionality, but it is incapable to manage more than 8 devices simultaneously. Even if we only connect one device at a time, having 24 devices bonded and addressing them one after another will inevitably lead to errors where Windows can't find the bonded devices anymore.

So now we are looking for an alternative. We thought about using the TI BLE stack instead. We found the BLE stack here: BLE-STACK Driver or library | TI.com . But we are unsure about which hardware to buy, and if it matches our conditions:

- The device must be controllable by an interface accessible to a (C#) software. It must be possible to send BLE commands at runtime.

- The device must allow at least 24 bonds at a time. It does not need to provide 24 simultaneous BLE connections, but it needs to keep the bonds managed even with privacy mode on, and it must allow for sequentially connecting to these DUTs.

- The device must allow for privacy mode, as the DUTs will have private, constantly-changing BLE addresses.

Is the TI BLE Stack capable of this, and is there a hardware device that fulfils our needs? We think the lines CC2540 or CC2640 may be the way to go, but we still need assistance in what devices to buy.

  • Hello Roland,

    Based on the amount of bonds you require, I would suggest taking a look at the cc26xx family of devices such as the CC26X2R1 which has 32 a max number of bonds.

    Please take a look at the device and BLEstack. You can also leverage the User`s Guide to confirm this, specifically the section about Increasing Number of Bonding Entries. To communicate with the PC you can rely on the UART if this is what you have in mind.

    BR,

    David.

  • Hello David,

    so if I understand the description correctly, this would mean that I have to communicate with the device by addressing the HCI over UART with my PC?

    For example, if I want to programmatically start a scan request, my software would have to send something like "0x01, 0x0C, 0x20, 0x02, 0x01, 0x00" over the serial port?

    Or is there a more comfortable way that does not force me to translate all my commands to HCI?

  • Hello Roland,

    If you could share with me a bit more of your use case I would appreciate it so that I can know what you are trying to implement here. If you want to control the Bluetooth device entirely from the PC then yes, you can use the serial terminal to share commands that will be parsed and executed in the cc26 device (to start scanning for instance). On the other hand, if you have a set process that you know will be running continuously on your device, you can program the cc26 with it (scan every X period - connect - read data from characteristic - transmit to PC through UART, repeat).

    Hope this helps.

    David.