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

sending above 8 hz reboots arduino uno with readbearlab shield v1.1

Hi,

I'm using an arduino uno with a readbearlab shield with v1.1 to send sensor data to a android phone. Using a timer interrupt I try to send data every 0.1 sec (10hz) to the phone.

This works for about 90 packets and then the arduino crashes and reboots

Can anyone tell me why? Can this be improved by using more pipes? I currently use only one...

Can anyone also tell me where data-credits are used for. Why I have credits 2 on the start and they sometimes increase?

Thanks!

  • I found the cause of the problem, at frequencies above 8HZ the memory usage increases and when the arduino runs out of sram, it reboots.

    Does anyone have an idea what is causing the increased memory usage at higher frequencies?

  • Adding more Pipes will not improve your performance.

    Data credits: These are the buffers that are available to the application. When you call the ACI Send Data or Ack /Nack functions, 1 Data Credit gets used and the application should decrement the credit available to it by 1. When the data being sent is sent successfully, you will get the Data Credit back in the ACI Data Credit Event. This event also acts as the radio level acknowledgement for the data/ack that was sent.

    If a data could not be sent by ACI Send Data a Pipe Error Event is sent.

    If you are sending data every 0.1s you should have a connection interval that is smaller than 0.1s (perhaps about 87.5ms or lower ) so you get the data out as quickly as possible.

    There is a bandwidth test example in the Arduino BLE SDK to test this.

Related