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

NRF51822 Data Logging - Buffering ADC measurements

I have been looking at the NRF51822 for data logging sensor measurements from the ADC. Currently, I have run into some limitations with iOS and can only get approximately 12 samples per second transmitted reliably from the NRF51822 (real-time). Unfortunately, I would like to get 1000 samples per second or better. My understanding is that I will have to buffer the samples, then transmit the buffered data to the iOS device. It doesn't have to be real-time. I would just like to sample for 1 or 2 seconds; store that data; then transmit to iOS device. Do you have sample code? I appreciate any advice.

Parents
  • I am also trying to send data to the cellphone (from the nRF8001, in my case) and the actual data rate is way below the theoric limit... what is going on here?

    Where are the bottlenecks? For sure, one is on the Apple side, that does not allow to modify the connection intervals and parameters... On the Nordic side... Is it the implementation of the BLE stack of Nordic?

    • Apple allows you to change parameters, as long as you stay within their recommendations, as linked to in my other answer.
    • With the nRF51822/S110, the maximum throughput is given in the S110 SoftDevice Specification. It's basically up to 128 kbps for notification/write without responses.
    • With the nRF8001, the throughput is less, since it can send only one packet and receive two-three packets for each connection event. With iOS, this becomes 0.67 kbps notifying and 1.3-2 kbps when read.

    However, this doesn't seem quite related to the original poster's question, so if you need further information, I suggest you post a separate question. :-)

Reply
    • Apple allows you to change parameters, as long as you stay within their recommendations, as linked to in my other answer.
    • With the nRF51822/S110, the maximum throughput is given in the S110 SoftDevice Specification. It's basically up to 128 kbps for notification/write without responses.
    • With the nRF8001, the throughput is less, since it can send only one packet and receive two-three packets for each connection event. With iOS, this becomes 0.67 kbps notifying and 1.3-2 kbps when read.

    However, this doesn't seem quite related to the original poster's question, so if you need further information, I suggest you post a separate question. :-)

Children
No Data
Related