Use BT5 for Many-to-one Application?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
user_4107581
Level 1
Level 1
First like given

Hey,

I’m new on the forum, but would like your opinion on one my of design decisions...

We are build a short-range (2-3m) sensor networ, where we want 12-16 nodes to stream data to one master.

each node will generate about 10Kbit/s of data, and we need uS time stamps on the data.

so:

can BT5 handle that many nodes?

and can BT5 help us syncing the RTC’s within 100uS?

or are we better off with a properitary protocol?

BR,

Henrik

0 Likes
1 Solution
DoBa_1705086
Level 3
Level 3
First like received First like given

Henrik,

First let me qualify my response, while I have quite a bit of experience developing Bluetooth Low Energy firmware for IoT applications, I have limited experience with the Cypress BT PRoC chips.

Your application might work, depending on the BT radio library capabilities that you are using, particularly on the "master" end of the connections.   BT libraries for embedded systems are often limited in the number of simultaneous connections that they can maintain.  This is primarily a RAM memory limitation.  With 16 nodes at 10Kbits/s of data, you are within the overall bandwidth limitations of BLE, and this should be easy to handle on the "slave"/sensor end of your application.

One option to consider, since you already plan to send timestamps with the data values is to have each sensor node buffer up an array of N data points and use longer connection intervals so that each node transfers larger blocks of data (*N), less often (/N).  This will make more efficient use of the radio and available bandwidth because less time is spent on overhead.

You did not say whether you need to stream this data continuously, or for just a limited amount of time.  If not continuous, you might buffer very large blocks of data in each slave node, and connect to the slaves sequentially.

Doug

View solution in original post

1 Reply
DoBa_1705086
Level 3
Level 3
First like received First like given

Henrik,

First let me qualify my response, while I have quite a bit of experience developing Bluetooth Low Energy firmware for IoT applications, I have limited experience with the Cypress BT PRoC chips.

Your application might work, depending on the BT radio library capabilities that you are using, particularly on the "master" end of the connections.   BT libraries for embedded systems are often limited in the number of simultaneous connections that they can maintain.  This is primarily a RAM memory limitation.  With 16 nodes at 10Kbits/s of data, you are within the overall bandwidth limitations of BLE, and this should be easy to handle on the "slave"/sensor end of your application.

One option to consider, since you already plan to send timestamps with the data values is to have each sensor node buffer up an array of N data points and use longer connection intervals so that each node transfers larger blocks of data (*N), less often (/N).  This will make more efficient use of the radio and available bandwidth because less time is spent on overhead.

You did not say whether you need to stream this data continuously, or for just a limited amount of time.  If not continuous, you might buffer very large blocks of data in each slave node, and connect to the slaves sequentially.

Doug