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

nRF52832 notify every 20ms at 50 meters

Hi,

My setup :

  • nRF52832
  • Soft Device S132 v5
  • SDK14.2

My use case involve me to send data to to a central device at 50 meters. I need to send only a small data : one int16_t. I have a timer set up to do a SAADC conversion then send data (sd_ble_gatts_hvx) every 20ms.

It's working great on close range. But as soon as I am further than 5 meters I got a NRF_ERROR_RESOURCES.

Since it's not really a problem if I miss few data, my first try was to ignore it :

/* It's not a problem if we loose few data */
if(retval == NRF_ERROR_RESOURCES){
  retval = NRF_SUCCESS;
}

return retval;

It work great meaning that it does crash the board now and it keep sending data but at a very low speed and multiple packet at a time it looks like on the nRF Connect app log.

So I know that this error means that the queue is full. But why is it related to the distance from the central since it's a notification so we do not expect an acknowledgment or anything!?

Also when I go to ~25 meters (outside) not only I have very slow notification update on my central, but I got disconnect (Timeout).

What are the optimizations I can do to increase my range and keep my transmission speed constant?

Thanks

Parents
  • You need to specify precisely whose nRF52832 design you are using. Your comments suggest a hardware deficiency and not a software problem.

    50 meters outside would definitely be the limit of performance for +4dBm BLE and that assumes your device was designed correctly and is being utilized properly. 

  • Thanks for your answer. I'm using a custom board. Multiple source (example) says that the nRF52832 could go up to 155 meters so there should be some optimization to do ? Decreasing the data size transferred every time for example ?

    How the hardware could be the issue ? How can I check my dBm ? I'm using a nRF52832-QFAA-R.

    EDIT :

    About the long range demo it is said : "while quadrupling the range is achieved by lowering the bitrate to increase the sensitivity of the receiver [...] Hardware requirements: Two nRF52832 Development Kits" 

    I'm not asking for a long range but "only" 50 meters here. Can I do similar thing?

  • Saying custom board means almost anything.  The quality of the modules and boards out there varies wildly. Some might only carry a link a few meters.  

    The nRF52832 does not support BLE long range.  You can get this from the spec.  So only standard BLE range applies.

    I would assume your custom board does not produce the correct EIRP to actually communicate 50 meters.

    You should start first by measuring the RSSI to a device (ie, smartphone) and comparing it to the RSSI on the DK at the same distance.  This should be done for several orientations as the antennae are never isotropic.

    You will likely find out your custom board has RF design issues.  You will need to go through with the vendor to resolve them.

  • What are the acceptable RSSI ?

    Actually I did a quick test inside my house so this is not the same environment but the results are very similar for both DK and my custom board.

    From -50dBm when I'm close to -75dBm when I'm at ~5 meters for both board.

Reply Children
Related