Main Menu

search

You are here

nRF24 improving performance

[last updated: 2019-09-24]
return to nRF24 home page
-----

Major tips/findings:

  • Reduce data rate to 250kHz. Use command:
    radio.setDataRate(250KBPS);
    may have helped, but test results weren't repeatable
    addendum: later I wasn't able to get any xm or rcv at 250
  • Use smaller packets:
    tried it and indeed seemed to help, however AFAIK packets can't be smaller than the size of message you're sending, else you lose data.
    I don't know what "Dynamic Packet Size" is or whether that might help...
  • Increase re-tries:
    However default in my modules seems to be 15, which is the maximum, so no help there.
    Also, making this max will decrease resolution of effects of other changes, making testing fuzzy
  • Increase nRF24 power setting:
    Per preamble (that part of the program that reads and prints out module settings), mine are set at HIGH.
    Tried to set to MAX, which data sheet says is available, using: radio.setPALevel(RF24_PA_MAX);
    however even though it compiled, it didn't change anything per preamble.
  • Put caps across 3.3 supply rails (1uf & .01uf in parallel). Lo. Reliability improved dramatically. Whereas before it might take 50-100 re-sends to get a message through, now it takes less than 10 usually. Happy camper.
  • Use a separate 3.3v supply for the modules, rather than taking it off the Arduino, which can only provide 50ma, much less than reported 250ma needed by the module in transmit mode. See: Power Adapter Module: or 3.3v regulator
  • Install an LC low-pass filter in series with the power supply before it feeds into the module. Have not tested.
  • Use a scanner program to find which channels in your area are most clear and least busy with other traffic. Have not tested.
  • Add shielding to the module: Wrap it first in shrink/plastic wrap, then in aluminum foil, then ground the aluminum foil. Have not tested.

.

.

.

eof