Pages: 1 [2] 3 4 ... 17   Go Down
Author Topic: RF24 Library: Driver for nRF24L01(+) 2.4GHz Wireless Transceiver  (Read 103484 times)
0 Members and 1 Guest are viewing this topic.
Topsham, Vermont USA
Offline Offline
Edison Member
*
Karma: 33
Posts: 1940
... in The Woods In Vermont
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Everyone,

OK, I'm OnTheAir  (As the light-up signs used to say)...  I'm running gerg's latest library and after realizing he's running serial@9600, I have data going both ways with PingPair. Yahoo!  Running one UNO and one Seeeduino and plain nRF24L01 boards with built-in PCB antenna...

I get about one timeout in 10 transmissions... No difference between distances of 2cm and 3M  .  These are the smallest radios I've ever used.. In contrast I just unpacked a 204A from my Dad, which is an 18" high vacuum tube that was a display antique when I first saw it in 1950.  Sorry, but I love these contrasts  ( smiley-roll for old-guy stories)..

I'll do more tomorrow and fire up the boards with power amp and LNA and antennas that LOOK like antennas. 

Regards, Terry King
...In The Woods In Vermont
terry@yourduino.com
Logged

Regards, Terry King terry@yourduino.com  - Check great prices, devices and Arduino-related boards at http://YourDuino.com
HOW-TO: http://ArduinoInfo.Info

Dallas, Texas
Offline Offline
Sr. Member
****
Karma: 3
Posts: 267
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Everyone,

OK, I'm OnTheAir  (As the light-up signs used to say)...  I'm running gerg's latest library and after realizing he's running serial@9600, I have data going both ways with PingPair. Yahoo!  Running one UNO and one Seeeduino and plain nRF24L01 boards with built-in PCB antenna...

Always exciting to see bits flying through the air.

I get about one timeout in 10 transmissions... No difference between distances of 2cm and 3M  .  These are the smallest radios I've ever used..

You're not alone in your awe. Its pretty awesome what they fit in that tiny little IC.

I'm assuming the error rate is actually a false positive. There have been a number of driver issues along these lines. I think Maniacbug even mentioned he recently fixed one. I'd have to look to see if that fix is part of the branch you're using.

I hope to play some more this week and see if I can nail down some of the potential issues I've identified.
Logged


Topsham, Vermont USA
Offline Offline
Edison Member
*
Karma: 33
Posts: 1940
... in The Woods In Vermont
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
Quote
I'm assuming the error rate is actually a false positive. There have been a number of driver issues along these lines. I think Maniacbug even mentioned he recently fixed one. I'd have to look to see if that fix is part of the branch you're using.

Looking at the two Serial outputs, a missed transmission seems to always have the PONG not sending a response (Maybe not getting a message).. Seems like any time PONG sends a response, PING gets it..  

BTW it's SO nice to be able to run multiple copies of the IDE and Serial Monitor in the same desktop. Some other older IDE's could not do that and drove me crazy testing communications...

I need to sit down and read all this code!

Regards, Terry King
...In The Woods In Vermont
terry@yourduino.com
« Last Edit: August 02, 2011, 01:09:58 pm by terryking228 » Logged

Regards, Terry King terry@yourduino.com  - Check great prices, devices and Arduino-related boards at http://YourDuino.com
HOW-TO: http://ArduinoInfo.Info

Seattle, WA
Offline Offline
God Member
*****
Karma: 11
Posts: 673
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm assuming the error rate is actually a false positive. There have been a number of driver issues along these lines. I think Maniacbug even mentioned he recently fixed one. I'd have to look to see if that fix is part of the branch you're using.

Right.  You said you're running gerg's branch, which does not yet have the major fix that produced plenty false failures.

That said, failures are a fact of life.  This is documented by Nordic.  It's particularly acute at 8-bit CRC.  At 16-bit CRC, 1MBps data rate, channel 100, units 12 inches apart, I almost never get any failures.
Logged


Topsham, Vermont USA
Offline Offline
Edison Member
*
Karma: 33
Posts: 1940
... in The Woods In Vermont
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

... You said you're running gerg's branch, which does not yet have the major fix that produced plenty false failures.

That said, failures are a fact of life.  This is documented by Nordic.  It's particularly acute at 8-bit CRC.  At 16-bit CRC, 1MBps data rate, channel 100, units 12 inches apart, I almost never get any failures.
Hey Maniac.. do you have a major 'Fix' that " produced plenty false failures."?  Sorry, a bit confused... Does your current release have the fix?

Yes, I understand there will be fails and hope that the automatic retries can be worked out. 

Maniac, send me a shipping address??

Regards, Terry King
...In The Woods In Vermont
terry@yourduino.com
Logged

Regards, Terry King terry@yourduino.com  - Check great prices, devices and Arduino-related boards at http://YourDuino.com
HOW-TO: http://ArduinoInfo.Info

Seattle, WA
Offline Offline
God Member
*****
Karma: 11
Posts: 673
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, I could have worded that better.  I mean it doesn't have the FIX to a BUG which caused false failures.  Pull the latest from git@github.com:maniacbug/RF24.git (preferred) or download the latest from https://github.com/maniacbug/RF24/archives/master .  This branch has now 2 fixes to 2 bad bugs.
Logged


Seattle, WA
Offline Offline
God Member
*****
Karma: 11
Posts: 673
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Did some controlled range tests tonight. Will post the detailed results this weekend.  Here's the highlights:

* Non-plus unit, 2MBps (worst case), 41+ ft line of sight indoors, immediate dropoff with any deviation from LOS.  (41 ft is as far as I can go in my house without turning a corner)
* Plus unit, 250kbps (best case), 46 ft around two corners indoors, 49 ft around one corner.  More importantly, at 250k, packet loss is almost negligible through almost all of that range.
* Both units at 1MBps, plus unit gets about 10% range improvement over non-plus in almost all situations.
Logged


Indonesia
Offline Offline
Newbie
*
Karma: 1
Posts: 49
ayooo,,,DAB!!!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi All,
I am noob on this programming,
I wanna test my nRF24L01+ that I bought from sparkfun : here.
I use this tutorial : here, to connect the radio and arduino.
I use RF24's sketch example : pingpair_test.pde

Problem :
the sender unit output is "+OK FAIL" when I send "K" from serial monitor..what this is mean?
does the receiver unit is not working?or something I missed

this is the serial monitor details:

Quote
Sorry for my english
« Last Edit: August 04, 2011, 04:24:52 am by copet_pitik » Logged

Program Studi Instrumentasi Medis
Politeknik Mekatronika Sanata Dharma
Yogyakarta Indonesia

Seattle, WA
Offline Offline
God Member
*****
Karma: 11
Posts: 673
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I use RF24's sketch example : pingpair_test.pde

Don't use the sketches in the test directory.  Use the examples in 'examples'.  Start with examples/pingpair.
Logged


Dallas, Texas
Offline Offline
Sr. Member
****
Karma: 3
Posts: 267
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Did some controlled range tests tonight. Will post the detailed results this weekend.  Here's the highlights:

* Non-plus unit, 2MBps (worst case), 41+ ft line of sight indoors, immediate dropoff with any deviation from LOS.  (41 ft is as far as I can go in my house without turning a corner)
* Plus unit, 250kbps (best case), 46 ft around two corners indoors, 49 ft around one corner.  More importantly, at 250k, packet loss is almost negligible through almost all of that range.
* Both units at 1MBps, plus unit gets about 10% range improvement over non-plus in almost all situations.

Excellent. Thanks so much for sharing those results! I guess its safe to say 250Kbps data rate provides considerably improved range.
Logged


Seattle, WA
Offline Offline
God Member
*****
Karma: 11
Posts: 673
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Excellent. Thanks so much for sharing those results! I guess its safe to say 250Kbps data rate provides considerably improved range.

Absolutely.  46ft around two corners is impressive.  This covered the majority of possible position pairs in the upstairs of my house, though not all.
Logged


Dallas, Texas
Offline Offline
Sr. Member
****
Karma: 3
Posts: 267
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Excellent. Thanks so much for sharing those results! I guess its safe to say 250Kbps data rate provides considerably improved range.

Absolutely.  46ft around two corners is impressive.  This covered the majority of possible position pairs in the upstairs of my house, though not all.

As some are creating networks in their yard or outdoors, do you have any plans to test longer LOS ranges; such as outside?
Logged


Seattle, WA
Offline Offline
God Member
*****
Karma: 11
Posts: 673
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

As some are creating networks in their yard or outdoors, do you have any plans to test longer LOS ranges; such as outside?

Wasn't planning to.  Range testing is very situation-dependant, so therefore best done by people who have actual scenarios they can test against.  That is, all my indoor tests were in situations where I'd really use it.  As I have no use for outside RF, I'd be the wrong person for that.  Anyone can do a range test, no special equipment is required.  I'll also include the sketch and methods used when I publish the details for the above tests.
Logged


0
Online Online
Shannon Member
****
Karma: 220
Posts: 12709
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

All other things being equal doubling the data rate should drop the range to 70% since the receiver sees twice the noise power...  So 250k ought to give about 3 times the range of 2M (I think...)

I've used these NRF modules with a different microcontroller (Propeller) and they are pretty well-behaved - I've tried the one's with 20dBm PA on as well.  I can get 24bit mono audio at 48000 kSPS through them in 2M mode if packet ACKs are turned off BTW(!)

There are somewhat cheaper Chinese clones of the modules available on eBay - look for the Chinese markings near the PCB aerial.  Since they use the same actual chip and crystal and circuit they basically perform the same AFAICT.

There are also modules called RFM70 available (Hope RF I think), which are different silicon but the same interface.  However they are not exactly the same (no 250kHz mode, +5dBm output, couple of bugs), BUT most notably they have a second register bank that needs setting up in a particular way to get it to work at all (a configuration ROM implemented as RAM) - only needs setting at init time.

I wonder if there's interest in extending support to the RFM70? -  I'm tempted to play with this since I've got the hardware setup in front of me now!
http://www.hoperf.com/rf_fsk/24g/rfm70.htm

[ more background info follows ]

I found some discussion (with links to some details of the bugs) here: http://www.forbot.pl/forum/topics40/c-rfm70-24ghz-vt4261.htm (yes its in Polish but look for the link near "some usefull info from application note")

RFM70 is even cheaper (£2.95 from Farnell here in UK, as opposed to about £6 for the NRF24L01+ or £4 for the NRF clones.)

RFM70 have very poor RF performance (the receive side is basically pants).  Very susceptible to overload and interference compared to NRF.  They do have a switchable LNA however. For low-bandwidth use this may not matter too much since the retransmission protocol can mask a multitude of ills - if you wanted to scatter loads of low-bandwidth cheap wireless nodes about the house, the cheapness would be an important factor.

RFM70 is only available with a 0.05 inch pin spacing note.
Logged

[ I won't respond to messages, use the forum please ]

0
Online Online
Shannon Member
****
Karma: 220
Posts: 12709
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

BTW I've just noticed the library allows channels less than 2 and above 80 to be specified - in other words to transmit outside the 2.4GHz band...
Logged

[ I won't respond to messages, use the forum please ]

Pages: 1 [2] 3 4 ... 17   Go Up
Jump to: