Hi Gerg and Everyone…
I am very interested in this. I have put up a beginning How-To for these modules here:
Comments, corrections, additions appreciated…
First let me say I very much appreciate the quality of your wiki docs. Your pages were one of the reasons I decided to further explore my sprinkler project; whereby the relay board is central.
Gerg, you said:
And if you’re also interested in the Mirf library, expect a minor update in the near future.
Lastly, if you have P-variant hardware, I would very much love to hear about range testing when operating in 2Mbs, 1Mbs, and 250kbs bandwidth modes.
What do you mean by “P-Variant hardware” ?? I have some of the boards that have a nRF24L01’s plus a power Amp for 100mW and receiver preamp. Here:
are these what you mean??
There exists the NRF24L01 and NRF24L01P (aka NRF24L01+, and even NRF24L01P+) chips. The P-variant is the next generation. It provides for a 250Kbs data rate, better receiver sensitivity, and a couple of other features. The p-variant is fully backward compatible. IMOHO, given the extremely modest price difference (typically a $1.50 or less), the P deprecates its predecessor (non-p variant). Ive read many an account whereby simply migrating from the non-p to the p-variant provides for superior range. Add in the fact the p-variant alone allows for the 250-Kbps mode which also enables much improve sensitivity, its claimed the range improvement is profound. As I’ve not confirmed any of this and I’m second/third hand parroting, take it for what it is.
Maniacbug has some really nice scripts and his latest stuff even has some testing/validation stuff drive via python scripts. So do check out his source repository.
I forget where I found the mirf tree. IIRC, it was google code, github, or gitorious. The bug fix is the use of 16-bit CRC rather than 8-bit CRC. Its a literal 1-byte change in a file. Keep in mind though Maniacbug’s library is much higher level and feature rich. Unless your at a space premium, I do recommend his library over that of Mirf.
I’m just starting to fire these up… Any suggestions on best first-up software sketch / testing appreciated…
I do have an RF background… most was higher power (Broadcast)…
Wouldn’t happen to include a background in antenna design would it? We’ve had some discussion on proper pcb trace antenna orientation for best reception/transmission. My own results have proved to be borderline confusing to indeterminate. Some of which conflict with Maniacbug’s observations, which makes it all the more futile. Some definitive insight would be wonderful; especially if it saves me from reading some long/dry white papers.
Where is the best place to download your fork?? And where’s best Mirf??
My fork is available on github. But I did just get confirmation back from Maniacbug that he’s merged it to a branch in his tree. So unless you like the bleeding edge, its probably best to clone his tree. From a testing perspective alone, in that his environment is must better suited than my own, I do recommend following his tree unless you’re willing to stumble some from my own.
For something entirely different, I did manage some testing this weekend. I set up two modules. One as a dedicated transmitter and the other as a dedicated scanner (my version). My results were extremely surprising. In 2Mbs mode, I was able to scan 9-Mhz of bandwidth. In 1Mbs mode, I scanned 5-6-Mhz of bandwidth. And in 250Kbs mode, I scanned 2-3-Mhz of bandwidth. This is especially surprising given the datasheet basically claims 1+Mhz+some minor bleed, 1-Mhz+some minor bleed, and <1Mhz+some minor bleed. But then again, I’ve not really spent that much time reviewing documented the “bleed” from each operating mode. The short of it is, this test does wonders to suggest recommended channel spacing. Whereby, based on my testing, the channel spacing should be 9Mhz, 6Mhz, and 3Mhz, respectively. Whereas previous discussions centered on 2Mhz, 1Mhz, and 1Mhz.
EDIT: Added mirf library comment.
EDIT: Revised observed and document (that I read) RF performance.