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

NRF24L01P data pipe forbidden numbers

Dear friends,

I'm developing a prototype which use two NRF24L01+ and the auto ack and Enhanced ShockBurst only works with symmetrical data pipe address numbers.

Per example, in both devices, RX_ADDR_P0 = 01 00 00 00 01 and TX_ADDR = 01 00 00 00 01 or RX_ADDR_P0 = 03 02 01 02 03 and TX_ADDR = 03 02 01 02 03 works perfectly, but RX_ADDR_P0 = 00 00 00 00 01 and TX_ADDR = 00 00 00 00 01 or RX_ADDR_P0 = 00 00 00 00 00 and TX_ADDR = 00 00 00 00 00 doesn't work the auto ack, with the PRX only receiving one packet and returning MAX_RT from transmitter.

Someone already faced this problem? Are there data pipe address numbers that I cannot use?

Thanks in advance,

Ernesto

  • Hi Ernesto

    The address is used as a sync byte for the radio to find valid packets, and if you have a lot of 0's in the address it will lead to very poor address/packet detection performance.

    You should avoid addresses with very few bit shifts (lots of 0's or 0xFF's), and you should avoid addresses starting with 0x55 or 0xAA, as this is likely to cause the address to be mixed up with the preamble (the preamble is sent before the address, and is either 0x55 or 0xAA).

    If you follow these two rules I would expect you to see much better performance (most likely just adding a single byte extra that is non zero will make a big difference).

    Best regards
    Torbjørn

  • Dear Torbjørn, Thank you very much for the response. This response also clarified other doubts that I had about data pipes. Kind regards, Ernesto

Related