Signal problems with long-range Nordic nRF24L01+PA+LNA 2.4GHz RF module

Hi,

I'm using an extended range nRF24L01+ module and antenna, like this one:

http://www.elecrow.com/images/s/201405/13993684620.jpg

I've made a small battery-powered transmitter using an Arduino and the module. I'm getting some weird results which are baffling me a little and I wondered if anyone could shed any light. Symptoms are as follows.

My TX circuit can send data a distance of 30m or so, which is all I need, BUT it only works when I hold it in certain ways. After some experimentation, I found the following two positions were most reliable at making it work:

a) Holding the antenna between finger and thumb about halfway to 2/3 from the tip to the elbow.

b) Lightly pressing my thumb over the nRF24L01+ chip, near the module's header.

Without doing this or something similar, data fails to transmit even when the two modules are right next to each other.

I had the circuit wrapped in a ziploc bag while I was trying this, so I know I was making no electrical contact between the circuit and my body, but I must have somehow been affecting the way the radio waves propagated.

I'd be very interested to know what's making it behave like this, and what I can do to maintain the range when it's enclosed in a plastic box and I can't touch it to make it transmit properly!

[edit] Changed title to make it more descriptive

Did you try and switch out modules ? Just to be sure you don't have a faulty one... it's my biggest fear when I test new gear and I am pretty sure everything is hooked up and programmed just right and... it doesn't work. Happened to me with a display, in the end the display turned out to be out of order.

Cheers,

Jack

Agree.. The radiochip may have be badly soldered onto the board. I have never experienced such problems with theese kind of modules..

Thanks for the responses, but yes I'm sure the module is ok, I've seen this effect in more than one module. Also the fact that how I grasp the antenna affects the signal says there's something more subtle at work. I know that getting the best out of RF signals is a black art, so I'm assuming the presence of my hand is disturbing the RF emissions in some way, or adding capacitance or shielding to a part of the circuit that needs it. But without a better understanding I'm going to struggle to fix it.

I think I've solved my problem. Reducing the transmission rate to 250k as opposed to the default of 1M now gives me solid communications up to 30m, at which point I run out of garden to test it in!

I also noticed that removing the aerial altogether allowed transmission at ranges up to 10m or so.

Here's my guess at what was happening:

The module is susceptible to overloading if the signal is too strong. This prevents reliable transmission and looks very similar to a weak signal. Operating at a lower transmission speed makes it less susceptible to overloading.

Grasping the transmitter at the points I mentioned wasn't improving the signal like I thought, it was degrading it to the point that it was no longer overloading the receiver. Bringing the data rate down means the module no longer overloading, and range is greater than I was experiencing before because I no longer have to impede the signal to transmit successfully.

[UPDATE: Having done some more tests I'm not sure what I said here is accurate, I'll do some more tests and come back]

After some more testing it seems I wasn't far off in my assessment before, but another factor that's hugely influential on signal strength, more so than data rate, is the orientation of the antenna in relation to the ground plane of the TX circuit. If I find out anything useful I'll post back. I'm fairly certain at least that overloading the receiver is as much a danger as a weak signal with these modules.

Hi there,

I’m having those modules delivered to me soon and been investigating potential issues I might encounter with them.

Will be watching this thread. Thank you for posting the progress of your tests!

Nikos

Glad you found it useful. Further to what I wrote above, I found reducing the transmit power with the setPALevel command improved things greatly. Overloading the receiver seems to be very disruptive for these modules.

Library reference: http://maniacbug.github.io/RF24/classRF24.html

Why reduce the PA power? The PA's purpose is to increase the distance. The bigger power on PA should mean bigger range. Please tell me where i am wrong.

paulrd: I also noticed that removing the aerial altogether allowed transmission at ranges up to 10m or so.

You should never operate a transmitter without an antenna attached.

We've spent weeks getting these to work well. These modules are very sensitive to line noise. Be sure to use a 3.3v regulator between the arduino and the transceiver. Also, be sure to use a capacitor across GRD and VCC of the NRF24. These two extras eliminated line noise and added 200+ feet (LOS) to our range. We found that the best libraries and docs are at http://mysensors.org/.

Dear paulrd,

I bought same product but when i want to try rf24 examples, didnt obtain succesfull result. I searched a lot, somebody were saying that we have to connect a capacitor between gnd and 3.3 V pin. I tried but didn work. This transmitting and receiving circuits are very sensitive to the signals. So if the power has noise, it doesnt work well. My arduino were clone 3.5 $ arduino. Yours was working 30m but mine :) not working. I tried to do a circuit with LM7805 to get 3.3V power supply. It worked! . After, i realized that power source is very imortant. I ordered 3.3V LM1117 or AMS1117 3.3V regulator from aliexpress and waiting it to measure the max range of nrlf2041 with my best. Using different 5-15V power source and connecting LM1117 and soldering a 10V 470 uF capacitor to its output will be great. Also if you put a 1000uF 35V capacitor between your power source's gnd and vcc will be good. Because some chinese adapters has small capacitor after the transformers output after rectifier diodes.

Thanks for topic, it will be useful for the people who struggles with this problem.

I have to finger touch the module to get it work too.

If MCU (Arduino) is too close to antenna (at PA Max) it can cause errors. This is evident when communications are fine with LOW PA Power but fails at HIGH Power. Shielding can cure this . The MISO line needs to be pulled high (I use 3K ohms to 3.3Vdc). Flaky breadboard connections can cause errors. Short center pin on antenna can cause problems.

It takes considerable time for a receiver to recover from a signal overload condition. Think charging a capacitor and the charge must be dissipated before the receiver can function again.

Paul

Guys, you are 3 years too late for this party. :)

...R

Robin2: Guys, you are 3 years too late for this party. :)

...R

Rats! Trapped again!

Paul