Simple wireless with Nordic nRF24L01+

Those modules can be had for roughly half that on EBay…

Yeah, Hongkong and eBay…great combination ??? The price I mentioned is from a reliable source.

And probably faster delivery than 2-4 weeks :wink:

Yes this is possible. You need to assign one address to Panda and all sensors will be sending data to that particular address. Receiver side (Panda) can have up to 6 parallel data pipes (addresses), although only one packet can be received at a time.

The only extra info you get is from which data pipe the packet came from. This way if you are using 6 data pipes and each sensor is sending data to different one (to 1 of 6 addresses), the data pipe number is identifies the sender. Other than that you need to add info to the payload. One extra thing that is not implemented in the driver is that the receiver can add custom data to the ACK packet before it is send back to sender. This way a bi-directinal communication can be performed. Right now sender and receiver need to switch roles in order to communicate both way.

This is up to you how you split your data. If you are simulating a serial protocol you can send packets of 32 bytes and have the receiver worry about the packet detection. You can also create a simple frame that will have a sequence id and end-of-frame notification. Those are just plain suggestions.

Yes, both ack and retry are used. In the code level if you send some data and it will not be received, a proper failed-to-send event will be triggered. More about the ack/retry system can be found in the datasheet:

[quote]In Enhanced ShockBurst™ it is possible to configure parameters such as the maximum number of retransmits
and the delay from one transmission to the next retransmission. All automatic handling is done without
the involvement of the MCU.[/quote]

The price of XBee was the main reason for me to use the nRF24L01+ module instead in my project. Although XBee are way more powerfull, if simple wireless is needed, those module will do just fine.

Gralin,

thanks for your extended reply. I will order 2 of them today to start playing with.

Many thanks and greetings

That’s great, i would appreciate any feedback on the driver. It’s a first release so do expect bugs :wink:

Hi,

I have been out of the Micro.NET stuff for a while :slight_smile: some time ago I tried your code and it worked great, but now I’m trying again and it doesn’t seem to work anymore, I tried 4 different Nordic modules and on a Panda and Domino and 2 different PC’s

I have recently updated to the October update! maybe that’s the problem?

Cheers,

Ramon

Interesting, I will look into it and let you know.

I did i quick test and using the latest SDK the sample app still works. I modified it only to use two boards as i didn’t have more at the time on my desk. I used a Mini and Domino. Please make some more tests to narrow your issue and give me some feedback so i can help.

Why the price in [url]http://www.sparkfun.com/products/691[/url] is higher than in [url]http://iteadstudio.com/store/index.php?main_page=product_info&cPath=7&products_id=53[/url].
What is the difference? I don’t know how to choose it?
Dear Gralin, your driver can use in any nRF24L01+ module?
Thanks.

Does your wireless sensor nodes are all connected with dominos or Pandas? or only sensor + wireless module? Only the base station is panda or NETMF device?

What is your sampling rate for the sensors? My applications need to sampling the accelerometer using 200 Hz to 500 Hz sampling rate and then wireless send back to base station. Does this nRF24L01+ suit for my application?

I used the Imote2 Wireless sensor node in my project before,but the Imote2 is stop and it is so expensive.
I am finding other solutions, I am considering using NETMF device + wireless module as a wireless sensor node. But I am considering what’s NETMF device and wireless module I can use?
FEZ Spider seems so expensive as wireless sensor node maybe can be a base station?

That’s a lot of questions to anwser but I’ll try…

Yes you can buy any module that uses the nRF24L01+ chip. I would recommend buying the second one you mentioned because it will be easier for you to connect it to a FEZ using the UEXT connecor and a IDC ribbon cable (though you have to make a custom one, as described on codeplex).

If you want to use only sensor + wireless module you should consider using an XBee. Those modules can transmit analog/digital values without the need of using any extra CPU. If however you want to buy cheap nRF24L01+ modules or your sensors are more complicated than simple analog/digital than you need a FEZ to read your sensor and send its value.

The bottleneck is the wireless driver not the sensor sampling rate. I doubt you are able to send 200 readings per second. NETMF with its overhead is not suitable for that. FEZ and nRF24L01+ are quite afordable so i recommend you take them for a spin so that you know what everyone here is so excited about;)

[quote]But I am considering what’s NETMF device and wireless module I can use?
FEZ Spider seems so expensive as wireless sensor node maybe can be a base station?[/quote]

You can use any FEZ for wireless transmission. Both for end device and for base station.

Gralin,

the pins on the NRF24L01+ are they 2.54mm spaced ?

Greetings,
Eric

@ Eric yes, here is the list of features:

[ulist]Built in nRF24L01+ transceiver IC
Data rate up to 2Mbps
1.9-3.6V Power Input
Built in antenna
Low Supply Current
Auto Acknowledge
Auto Re-transmit
Multiceiver-6 Data Pipes
5V tolerant input
2x4 2.54mm header
Mini Size[/ulist]

Thanks Gralin

Dear Gralin:

Thank you for your reply.
I will buy some modules to test.
Very useful for me, thanks.

Gralin,

I’m about to order them, but i still have 1 question left.
Did you do any range test? Did you tried to put a transmitter at one end of the house, and a receiver at the opposite end of the house?

This was a test performed by SparkFun a few years ago on the older 2401 chip

http://www.sparkfun.com/tutorials/48

The above article made me buy a module pair :slight_smile:

I have used the 24L01 indoor with several noise sources and upto to ~30meters (I have not tried beyond)

If you want more range get the ones with the PA and external antenna.

Those chips have quite afordable price in my opinion so it’s not really a risk to buy and test them. I bought 10 even though i don’t have any project for them yet :wink: As Rajesh said you can buy modules with external antena connector or with power apmplifier. I bought those:

[url]http://www.mdfly.com/index.php?main_page=product_info&cPath=8_52&products_id=81[/url]

The only range test i did was indoors in a 3 level office. One device was on the top floor and i was wandering with the second one to see were it looses connection. There was no problem on first floor but when i got to the ground floor i had twist my wrist all the time to get the optimal position of the antena. Maybe the fact that there are three WiFi access points in between or that the device was powered from a battery made some difference. I would love the hear from you guys what results you achieved.

Ok,

i’ve got 5 of these on my desk :wink:

What i’ve done so far:

Panda <—> Panda : Works perfect
Arduino <—> Arduino : Works perfect

Arduino —> Panda: No luck so far.
I tried 2 libraries for the arduino: http://maniacbug.github.com/RF24/index.html and Arduino Playground - Nrf24L01

Will try more today to get one of those 2 libraries working. The most interesting is the 1st library as that has the possibility to create a network acting like XBee.