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

nRF52832 not working with nRF24L01+ over ESB

Hi everyone,

There were already a few people asking about similar problem, but none of the suggested solutions worked for me so far.

I am trying to communicate nRF24L01+ module connected to the MBed LPC1768 (as a transmitter) with nRF52832 installed on the PCA10040 board. The test code and library used for the MBed are as mentioned here: nRF24L01 library, with CRC changed to 16 bit, data rate to 2 MBPS and TRANSFER_SIZE to 1. The nRF52 runs example code esb_prx from SDK 14.2.0 (with NRF_ESB_DEFAULT_CONFIG), with only payload_length changed to 1.

Unfortunately, there is not the slightest reaction from nRF52 for the data being sent by nRF24 modules. However, two nRF24s connected to one MBed work just fine with each other, so the device is definitely transmitting. 

What I have tried so far:

  • Changing selective_auto_ack on nRF52 to both true and false;
  • Using CRC of 8 and 16 bits
  • Using 1 MBPS data rate
  • Using legacy nrf_esb_config
  • Using channel 80 and 2

I have also quickly tried using nRF52 as a transmitter and nRF24 as receivers. Nothing of this gave a single indication that one device might be seeing another; moreover, when the nRF52 was transmitting, the communication between nRF24s was uninterrupted, even though they were using the same frequency.

I feel like I'm missing a single but important configuration option that is vital for the devices to communicate; perhaps something in sdk_config or something that MBed's code changes. Please note that I am unable to check if nRF52's ESB works (e.g. with another nRF5x), because I have only one development board.

I would be grateful for any help.

Regards,
micmys

Parents Reply
  • Thank you for the reply, it started working :-) I have no idea why, as I did not try anything I haven't tried before. However, as the resource you provided is very useful, I'll accept it as an answer ;-) 

    And for anyone trying to connect MBed nRF24L01+ example (MBed+nRF24L01+) with nRF52, here are the settings that work for me:

    • config: NRF_ESB_DEFAULT_CONFIG
    • protocol: NRF_ESB_PROTOCOL_ESB
    • selective_auto_ack = 1
    • payload_length = 1
    • tx_payload.length = 1
    • Other setting as default for PRX example

    On the MBed + nRF24L01+ side:

    • Autoacknowledge enabled
    • 16-bit CRC
    • Transfer size: 1
    • Other settings as in the example

    Regards,

    micmys

Children
No Data
Related