This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

streaming data over BLE (nRF8001) high throughput / bandwidth solution

I want to stream data continuously from a sensor to a host, using BLE.

Using the nRF8001, I have defined a GATT server, with notification. From an Android phone, I open the pipe, and start receiving the information.

However, with this method, the nRF8001 goes really slow, and I am losing data...

  1. what is the recommended profile to do data streaming on real time over BLE?

I have found some information here: stackoverflow.com/.../bluetooth-low-energy-ble-protocols-other-than-gatt

Perhaps the solution involves using another thing, different from GATT.

  1. Can you provide me a sample project for that?

  2. Would the bandwidth increase if I define the GATT server in the Android phone and, from the nRF8001 I just "write without notification"?

Parents
  • By continous stream of data, I mean around 100Kbits/sec.

    I have read the documentation of BT 4.0 and, apparently, the limit is higher than that... but in forums people say that it also depends on the particular implementation of the stack of each manufacturer.

    Given my bandwidth requirements... what BLE mode should I use? or... I am forced to switch to bluetooth classic?

    Is there any reference design?

    Thanks for your reply, Marc.

Reply
  • By continous stream of data, I mean around 100Kbits/sec.

    I have read the documentation of BT 4.0 and, apparently, the limit is higher than that... but in forums people say that it also depends on the particular implementation of the stack of each manufacturer.

    Given my bandwidth requirements... what BLE mode should I use? or... I am forced to switch to bluetooth classic?

    Is there any reference design?

    Thanks for your reply, Marc.

Children
  • Hi,

    100Kbits of data/sec from the master to the nRF51822 (slave) should be possible with the nRF51822 when using a 8.75 to 10ms connection interval. 100Kbits of data/sec from the nRF51822(slave) to the master should be possible with the nRF51822 when using a 8.75 to 10ms connection interval.

    The nRF8001 has about 20bytes per connection interval at 7.5ms from nRF8001 to master and has about 60 to 80 bytes per connection interval from master to slave.

    You should examine the nRF51822 for this application. The bandwidth however is a combination of both the master and the slave so you may get lower or higher bandwidth based on your master. So you would need to test this with the specific master that you plan to use.

Related