Simple wireless with Nordic nRF24L01+

I have just finished my driver for Nordic nRF24L01+ module. I saw that FEZ is missing a simple wireless solution. This module was once referenced on TinyCLR and in beginners book but the source code was very simple and only for the older version of the module (without the plus). I was using XBee before but found it to be a performance and price overkill for most of things i need. Nordic module is simple, cheap and reliable at the same time. If you are interested in testing it you can find the source code on Codeplex:

http://nrf24l01.codeplex.com

Here is a quick proof of concept. You can find details about this SimpleApp on project site.

Great!

I remember Ramon needed some help with that.
http://www.tinyclr.com/forum/2/2400/#/1/
I hope your code will help him.

Thanks!

Thanks for sharing

You are welcome. I hope somebody will be interested in testing it. Those modules cost only 7$ so i think it’s a fair price for adding wireless to FEZ.

+1 on the effort. Thanks for putting the links and datasheet up with the code. Is mdfly.com the most reputable vendor out of the three you listed? Sparkfun has them listed for a ridiculous $20 :naughty:

ebay would be the other place to look - whoops, looks like you’ve edited your post

@ Brett - yah, helps to read the code first, he had sellers listed there…

In fact i bought my modules on ebay :wink: The guy i bought it from is MDFLY and he has its own online store. I can recommend him as i bought two times already from him and everything was fine (shipping to Poland in 10 days). I listed other vendors just so you can compare offers.

ITead Studio also sells them, they look the same anyway. Currently on sale at $4 each. Ordered mine a week ago, should arrive this week…

http://iteadstudio.com/store/index.php?main_page=product_info&cPath=7&products_id=53

I also saw that offer but what got me wonder is why the ‘+’ at the end occurs only in the title. nRF24L01 without the plus is the older version which is no longer supported. Nordic Semiconductors advises to use nRF24L01+ instead. My library won’t work for those as I use things that were introduced in the plus version like dynamic payload length.

Guess we’ll see when I get them… :slight_smile:

But by the looks of it, the only difference between nRF24L01 and nRF24L01+ is:

[quote]The nRF24L01+ is mechanically, functional and electrical drop in compatible
with the nRF24L01. In addition it offers significant improvements on coexistence
performance with wide band inference sources like WiFi compared
to nRF24L01. It also adds a 250 kbps air-data rate mode offering -94dBm
sensitivity for longer range operation.[/quote]

The nRF2401 lacked dynamic payload length…

Here is a nice gadget someone could use to make a demo application. A remot that has a nRF24L01+ chip on board. Even more interesting if you are able to program ATtiny24 CPU that this remote has. The firmware is available online.

[url]http://www.sparkfun.com/products/8602[/url]

Good to know. I was thinking making something like that myself. It should work with older nRF24L01, right?

Yes it should. I don’t see any nRF24L01+ specific functions in the source code. And event if then you can always reprogram it.

Gralin… How much power does the nordic consume?

Cheers Ian

Gralin - Where did you get the ribbon cables? Also, what do you think the maximum practical length of those could be? Thanks for answering all of our questions. Seems to be a quickly growing thread.

@ IanR

I didn’t measure it but the datasheet says that:
[ulist]
[li]Ultra low power operation and advanced power management[/li]
[li]11.3mA peak TX current at 0dB output power[/li]
[li]13.5mA peak RX current at 2 Mbps air data rate[/li]
[li]900nA in power down mode[/li]
[/ulist]

@ EricH

I made the cables myself because the 2x4 pin block on Nordic is not compatible with the 2x5 pins of UEXT (see the photo on codeplex). After you know how the cable should look like it takes 5 minutes to make. The length depends on how long SPI bus cable can be without any shield. Wouter is the right person to ask :wink:

@ Gralin,
Ok, got my order from module from http://iteadstudio.com and it is in fact a 24L01+…

So it seams that iteadstudio has the best price on those modules. I’m looking forward to your feedback about the driver :slight_smile:

Gralin,

I’m planning to use the nRF24L01+ for some wireless sensors. Is it possible to have around 20 of those sending all to 1 master nRF24L01+ connected to a Panda? I also need some kind of addressing so that I know what sensor send the values, without having to put this in the data(payload) to be send?

I read that the payload size is 32bytes, so question is how do i send bigger payloads.

Also, what happens if 2 (or more) are sending at the same time to the master? Does it have some sort of ack/retry system?

I didn’t ordered them yet. Need to understand first if they suit my needs. Originally I was going for XBee’s but they are not cheap (i can get the RF modules for 2,9€ each versus at least 15€ for a xBee module)

Thanks in advance