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

nRF24L01+ increasing range using MultiCeiver and ShockBurst …

With ShockBurst activated the PRX receives some of the packets at 7 to 8 meters, and the PTX only receives the ACK at 4 to 5 meters….

The explanation for this is that the PTX can sent up to 16 times the same packet, eventually one of the 16 packets will arrive in the PRX.. Meanwhile the PRX only send the ACK once, and thus reducing the probability of the PTX to receive this one ACK packet!

Can the PRX be configure to do ShockBurst, by blinding sending up to 16 or less the same ACK?

Best Regards … Renato

  • @Renato: Could you please update your question with the information above, instead of creating an answer? It's easier to read the code/register configuration with the code tag. Have you made sure you received the correct packet payload on PRX ?

    Could you check if PRX actually sending ACK after it receives packet (by tracing VDD_PA pin voltage).

    To be honest I'm not expert with the nRF24L01+, could you explain LNA pin you showed in the firgure ?

  • the LNA in the image is the VDD_PA you mentioned ...

  • @Renato: Thanks for clarifying the LNA line.

    Looking at the image trace, I can see that PRX's interval of sending ACK was different (larger) from the sending interval of the TX from PTX.

    Secondly, I can see that PRX has an interrupt (and sending smth) even before the first packet from PTX!

    This made me suspect that PRX maybe answering to smth else, not the PTX.

    Could you try to change the PRX address, and capture a longer trace that show both packet that is ACKed and packet with MAX_RT returned ? Also please make sure you have a nRF24L01+ not nRF24L01, I saw that in the link on aliexpress the seller state it's nRF24L01.

  • Finally... I have it working 100%.... and range is not an issue anymore !...

    Yes.. the ACK in the image had 0 bytes, and my EN_DPL has not activated... to solve this it is necessary to always charge the W_ACK_PAYLOAD with the 32bytes. (it shouldn't be necessary to always preload the ACK_PAYLOAD if the DPL was not activated)...

    But this was not my problem because I have tested that before, and no positive result...

    The problem was in my PTX ... It was an HARDWARE PROBLEM.... The modules from China had the same chip reference NRF24L01+ 1242AF, (the reference mentioned production date 2012 week 42) so I changed and tested with another chip NRF24L01+ 1408AF and this one worked 100% ....

    The 1242AF modules did not receive the ACK packet... Are there fake chips on the market that do not support the Enhanced Shockburst?

  • @Renato: It's great that you found the issue.

    The nRF24L01+ chip with trace code 1242AF and 1331AF are known to be counterfeit products.

    They are not original Nordic's products. Be careful when buying chip/module from un-official distributor.

Related