nRF24L01+ module on Arduino shield

Hi,

I made some Arduino shields for nRF24L01+ modules and I have interesting problem:

If I have modules directly connected to the shield (pinhead on module to socket on shield) , there is high packet loss (about 20-30%) when sending data to another nRF module. But, if I touch the module antenna by my hand OR modules are connected to this shield by wires (cca 10cm), all works ok.

I use these nRF modules:

Any idea what can cause this problem?

Hi, it would be good to give details about the shield that you made.

Those pcb antannes must be carefully calculated.
Perhaps the manufacturer just copied the antenna layout.

Some of the 2.4GHz chips adjust themself to the antenna. I don't know if the Nordic Semiconductor nRF24L01+ can do that, but I assume it does.

Sparkfun decided against a pcb antanna, and use a chip antenna on the board: SparkFun Transceiver Breakout - nRF24L01+ - WRL-00691 - SparkFun Electronics

On Ebay, you will also find many boards with normal antennas.

Some people complain that those modules can only do about 30cm. Some boards have additions like LNA and claim they can reach 1000m. That pcb antanna could be good, if it was very carefully designed. But it seems that is not the case.

So what you have makes perfectly sense. If you want to do it right, buy a board with a normal antenna.

What library are you using?