Working with the nRF24L01+ Transceiver

When it comes to wireless communications many options are available. Most applications use some form of zigbee or bluetooth. There are two applications where these technologies are not very suitable. First is in low power, bluetooth is horrible on power, zigbee is ok, and the nordic nRF24L01+ uses maximally about 13mA@3.3v but only when transmitting. The second factor to consider is range. zigbee and the nRF24L01+ both operate in the 2.4GHz band and operate at 0dBm. They will get the same range. Bluetooth is used for personal area networks, thus its range is very short.

A consideration for hobbyists, protyping, etc is cost. Zigbee solutions run about $20. nRF24L01+ solutions can be had for $8 bucks here: http://www.mdfly.com/index.php?main_page=product_info&cPath=8_52&products_id=81&zenid=f8j071m4t39f0tam5s9cq23vc2 

bluetooth will cost you an arm and a leg.

So if you need to implement many wireless devices the choice is easy.

The downside?

The nordic chips do no simply take a byte and transfer it, thus there is a bit more software involved. They use a SPI interface, and offer a hardware interrupt.

Currently implementing these....more to come later.


7 comments

06 Oct 2010

Did you get anywhere with this? I've got a couple of the nRF24L01+ module from sparkfun and am tempted to have a go... :-)

Regards, Mark Leman

06 Oct 2010

Yes, so I wrote a hardware layer framework. It is a bit messy but have a look....http://mbed.org/users/pillsburydoughboy/programs/nrfl2041/latest

I think what I did get write was reading and writing registers...but no luck on tx or rx of data....

06 Oct 2010

Cheers, I'll get stuckin :-)

04 Nov 2010

I'm already happy if I can use some switched and external LED's, so not much help from this side. I have one of these transceivers and would love to get it working. I tried to find some information, and came accross this: http://www.diyembedded.com/tutorials/nrf24l01_0/nrf24l01_tutorial_0.pdf. Might it be helpful?

Regards,

George

14 Nov 2010 . Edited: 15 Nov 2010

I am able to get NRF2401P to get to work with embed. I am using a single mbed micro to talk to two RF modules over the two SPI interfaces. The code is not complete but  it is able to tranmsit/receive packets. Here's the code > http://mbed.org/users/rkris/programs/spi_intf/lhtqgo 

 

 

17 Nov 2010

Which is where i beleive i got as well. The hardware was tested with success with two arduinos. Unfortunately I do not have two mbeds to test with....

12 Jan 2011 . Edited: 12 Jan 2011

I'm toying with the idea of using the mbed as a gateway between TCP/IP and the nRF23L01+.  The basic idea is that the mbed would forward traffic sent to a specific TCP/IP port to one of a number of nRF23L01+ transceivers. That would allow the mbed to act as a TCP/IP gateway  for a set of Arduino boards, for example

A configuration might look something like this:

PC client            mbed                      nRF23L01+
192.168.1.100 <----> 192.168.1.200:1000 <----> arduino#1
192.168.1.100 <----> 192.168.1.200:1001 <----> arduino#2
192.168.1.100 <----> 192.168.1.200:1002 <----> arduino#3
192.168.1.100 <----> 192.168.1.200:1003 <----> arduino#4 
etc...

I'm wondering if there is any interest in such a thing? Of course there are some issues that would have to be addressed, such as the fact that the maximum packet size on the nRF23L01+ is only 32 bytes whereas the TCP MSS is usually > 1Kb.

You need to log in to post a comment