Arduino Forum

Using Arduino => Networking, Protocols, and Devices => Topic started by: AlanC on Mar 11, 2013, 01:27 am

Title: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: AlanC on Mar 11, 2013, 01:27 am
Hi,

I am new to this and am trying to use NFRT4L01 units to communicate.

I have built two boards and am using simple ping code to bounce a message between two units. I have found it is unreliable. However I can normally get it to work by placing my finger on the end of the antenna (the antennae is internal to the Printed Circuit Board). It seems to be the transmit that is failing (i.e. placing my finger on unit A causes Unit B to start receiving)

It seems that different combinations of chips work better than others, even though they are all supposed to be the same.

Units fail whether they are 2 cms or 10 metres apart, so I am presuming it is not signal strength.

Is there something I am missing? Would I be better using a units with aerials?



Title: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: AlanC on Mar 11, 2013, 01:39 am
I am new to this game and tried posting this 15 minutes ago, but can't find it. Apologies if it is a duplicate.

I am trying to set up comms between two Arduinos using NRF24L01 chips.

I found some testing code and wired up two units. One sends a message, the other receives it and sends it back.

I have found it is unreliable. However I can normally get it to work by placing my finger on the end of the antenna (they are on the surface of the printed circuit board). It seems to be the transmit that is failing (i.e. placing my finger on unit A causes Unit B to start receiving)

It seems that different combinations of chips work better than others, even though they are all supposed to be the same.

Units fail whether they are 2 cms or 10 metres apart, so I am presuming it is not signal strength.

Am I missing something? Would I be better using a units with aerials?

Title: Re: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: oric_dan on Mar 11, 2013, 03:10 am
Failing = NOT. What you have sounds about right. I just went through this a week ago.
These units have only 1 mW transmit power, and 10m will be about the outer limits in
usable range. And at 2 cm, the receiver is probably being overloaded.

http://arduino.cc/forum/index.php/topic,151145.msg1139300.html#msg1139300

Ways to get better range are: get 50 mW units [eg, XBee Pros], get something with a
1/4 wave whip or 1/2 wave dipole antenna, go to a lower frequency band, such as 433 Mhz.
Title: Re: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: Coding Badly on Mar 11, 2013, 08:30 am

Please do not cross-post.
Title: Re: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: Grumpy_Mike on Mar 11, 2013, 08:48 am
Quote
Units fail whether they are 2 cms or 10 metres apart, so I am presuming it is not signal strength.

Yes it is signal strength.
Title: Re: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: AlanC on Mar 11, 2013, 10:32 pm
Hi, Thanks for the quick response.
The comments suggest that at 2 cms it fails because it is overloaded and it fails at 10 metres because it is too weak. This would suggest that it should work at some distance in between. However at every distance I try it only works if I have my finger on the aerial.

Alan C
Title: Re: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: Grumpy_Mike on Mar 11, 2013, 10:44 pm
Quote
The comments suggest that at 2 cms it fails because it is overloaded and it fails at 10 metres because it is too weak. This would suggest that it should work at some distance in between.

Yes but if it is not the case that the receiver is overloading, then it is a simple case of just not enough signal. Which is what it sounds like to me.
What about your ground levels? Have you tried putting it on a ground plane.
Title: Re: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: Nick_Pyner on Mar 12, 2013, 12:47 am
There has been recent discussion about this around here. It appears that the range can be substantially increased by reducing the data rate. 256k I think.
Title: Re: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: oric_dan on Mar 12, 2013, 02:21 am
Oh, it fails at every distance. That means either: (a) the modules are bad, (b) the Vcc
power is bad, (c) the wiring is incorrect, (d) the signal levels are incorrect, or (d) the
software is incorrect.

First, check (b), better be 3.3V only. Then check (c), wIth 8 wires, it's a good chance
something is miswired. Then check (d), better be 3.3V only. One can only guess at what
hardware and interfaces are being used.

Then verify the pin callouts in the s.w. being used match the wiring, and and one can only
guess what s.w. is being used.

A lot of guessing here, not much information.
Title: Re: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: Docedison on Mar 12, 2013, 07:23 pm
Put a 47 uF and a .1 uF capacitor right on the 3V3 Vcc connections at the radio board. Should fix some of your problems, likely something is oscillating in the receiver... and the effects of your finger change enough of the receiver to cause it to work... It's very possible that that issue is due to no/faulty power supply by-passing.

Bob
Title: Re: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: Grumpy_Mike on Mar 12, 2013, 07:25 pm
Decoupling, why did I not think of that?  ;)
Title: Re: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: KirAsh4 on Mar 12, 2013, 09:27 pm
Note that Nordic Semi does not suggest using the nRF24L01 anymore, instead use the nRF24L01+ ...  Having said that, I did a project two years ago with some nRF24L01+ using stub antennas (http://www.digikey.com/product-detail/en/RN-SMA-S/740-1015-ND/1643293) and I was able to get 30-50+ meter distance between modules (at 512 kbps).  Near clear line of sight.  The modules were attached on people's shoulders with the stub antenna sticking up.  In a group of 20, I didn't have any problems communicating in a single master, multiple slaves setup.
Title: Re: NRF24L01 failing. Placing finger on aerial fixes it!
Post by: tomward on Mar 04, 2014, 03:28 pm
Mr AlanC - did you ever find what was causing this?  I've found the same problem.  With my tests it seems to be much worse when you increase the TX power.  Also some modules seem to be worse than others although all of the 'black PCB' ones I've tested seem to be problematic.  Decoupling doesn't seem to help.

Tom