Cheap wifi via nRF24L01+ radios!

Hi all,

Haven’t been around for a while (I’ve been busy), but thought I’d drop by to announce a new product which is designed to allow Arduino (and Arduino-ish) devices wifi-style access to the Internet via inexpensive nRF24L01+ modules.

It’s called “Radio For X:duino”, or RFX for short. It works by wirelessly linking your Arduinos to a gateway “hub” connected to your LAN, and the gateway brokering separate Internet sessions for all the connected Arduinos.

So you can have your Arduinos acting as web servers, POSTing data to xively (or whatever they’re called this week), sending you emails or SMS or tweets etc. (all the sorts of things you’d be using a wifi shield for), all via nRF24L01+ radio modules.

A single gateway hub can connect up to 255 devices at a time.

Also developed a shield to make working with nRF24L01+ simpler for Arduino projects. Even simpler (and cheaper again) is a minimalist 328p dev board kit (designed with all through-hole parts for easy construction) that has on-board nRF24L01+ 8-pin headers already connected to the appropriate pins.

The shield and the dev board kits were developed for my own convenience working with RFX, but as hardware, there is nothing RFX specific about them – they should work with any nRF24L01+ software.

Anyway, drop by the website (just officially launched today) and let me know what you think. It’s at http://embeddedcoolness.com

I’ll try get some photos into this thread soon so you can see the shield and dev board layouts.

That's a nice project, however, it's unclear to me what you get for the $59.95 gateway. Looks like you get the daughter board and SD card, but no rPi or RF module. Correct? Or do you get a low-power RF module?

Also, what does "Free" actually mean in Radio Free X:duino? When you see the word Free in a project, you normally don't think in terms of licensing. So, I'm confused ????

Also, what sort of range are you touting for the standard [not high power] nRF2401 modules? In my case, I only got about 10m range, which is too small for general use, AFAIAC. Maybe other people get better range, but I live in a place where I pick up 30 routers continually, and there must be 1000 routers within a 4 block radius.

oric_dan:
That's a nice project, however, it's unclear to me what you get for the $59.95 gateway. Looks like you get the daughter board and SD card, but no rPi or RF module. Correct? Or do you get a low-power RF module?

Correct. The $59.95 gets the daughterboard + SD Card. The high-power RF module, the RPi, and the perspex case are optional add-ons (set-up that way because someone might already have the RF module and/or a RPi, and don't want the nice case sob).

oric_dan:
Also, what does "Free" actually mean in Radio Free X:duino? When you see the word Free in a project, you normally don't think in terms of licensing. So, I'm confused ????

Well, even "free" GPL software has a license, and they still call that free. In reality, the only truly free software is public domain. But sorry if the name is confusing, but yes, it is licensed (fairly liberal though, the only real limitation is you can't distribute the library source code, but you are free to distribute the executables without any restriction.).

oric_dan:
Also, what sort of range are you touting for the standard [not high power] nRF2401 modules? In my case, I only got about 10m range, which is too small for general use, AFAIAC. Maybe other people get better range, but I live in a place where I pick 30 routers continually, and there must be 1000 routers within a 4 block radius.

Well, I can't really advertise a range, because (as you are obviously aware) particular situations will dictate what is achievable. In my house, I find that the gateway hub can communicate with a low-power module situated in any room in the house, but I have got the gateway hub in a fairly good central location. Also, the interior walls are timber/plasterboard rather than brick. For communication with projects outside the house (e.g., my swimming pool monitor/controller) the low-power modules are not an option, however, but a high-power module works very well connecting back to the hub.

One thing that's nice about the low-power nRF24l01+ modules is that their effective range is increased significantly when they communicate to a high-power module, as opposed to communicating with another low-power module. So that's why I only offer the high-power module for the gateway hub... it would be false economy in my eyes to put a low-power module there, since it would be reducing the effective range of all the Arduinos that wanted to connect through it.

And thanks for stopping by to have a look. You may very well have been the site's first visitor! (googlebots don't count.)

pico:

oric_dan:
Also, what does "Free" actually mean in Radio Free X:duino? When you see the word Free in a project, you normally don't think in terms of licensing. So, I'm confused ????

Well, even "free" GPL software has a license, and they still call that free. In reality, the only truly free software is public domain. But sorry if the name is confusing, but yes, it is licensed (fairly liberal though, the only real limitation is you can't distribute the source code, but you are free to distribute the executables without any restriction.).

Ok, but I think that's still a fairly woozy use of the term Free in the project "title".

oric_dan:
One thing that's nice about the low-power nRF24l01+ modules is that their effective range is increased significantly when they communicate to a high-power module, as opposed to communicating with another low-power module. So that's why I only offer the high-power module for the gateway hub... it would be false economy in my eyes to put a low-power module there, since it would be reducing the effective range of all the Arduinos that wanted to connect through it.

And thanks for stopping by to have a look. You may very well have been the site's first visitor! (googlebots don't count.)

That's interesting that the range is overall better if the central hub is a high-powered module. I'll have to check that here, as I have both kinds of nRF2401 modules. So, all in all, good luck, :-).

pico:
Anyway, drop by the website (just officially launched today) and let me know what you think.

There is nothing cool about the colour of the text..........

Nick: I've darkened the default text setting for greater contrast, so please have a look now, and tell me if things are more readable (reading on a phone perchance?)

Graphic design and layout really not being my strong suit, I've tried not to double-guess the choices of the theme designer too much. But if it's hard to read, that needs a fix.

Dan: On reflection, I agree the "Free" in the project title could lead to some confusion, so the project title is now simply "Radio For X:duino".

Thanks for the feedback, both of you. (It's no use asking for people's opinions unless you are open to their suggestions!)

OK, ;-). For that matter, it could even be simply RF X:duino, as in RF = Radio Frequency, or RFX:duino for short. I like the last one, as it rolls right off the tongue, LOL. Good luck.

Also, I hadn’t noticed the website colors being very off-putting, myself, so ???

nrf24L01 isn't really new. Just say'n.

fairwindsii:
nrf24L01 isn't really new. Just say'n.

Yes, the nRF24L01+ as hardware has been available for some time. But you couldn't use them to connect to TCP/IP streams until now.

That's what's new here.

But ultimately, the hardware itself isn't what's important. It's the functionality you get for the bucks you pay. This is aimed at being a much more cost effective alternative to traditional wifi shields for wireless Internet connectivity.

And cost was the main driver of the original development -- to make wireless Internet connectivity affordable for all your Arduino projects.

The nRF24L01+ was chosen because it was both capable and cheap. It really needed to be both those things. Whether it was particularly new hardware or not didn't really figure.

This is good stuff... :slight_smile:

Glad to see that you have "enhanced" the s/w to drive a low cost radio h/w in a useful way...

If the codes are "open source", I do not mind to help to beta test them out as I have 4 variant of these radios...
regular+, nRF+PA+LNA, Inhaos and Inhaos+ version...

I did it using an Electric Imp to "bridge" the Internet/server side web server to the arduino side..

Hi Stanley,

Thanks for your comment. I’ve seen some of your blogs, you do some interesting stuff! (I think I remember reading about the “Inhaos” variants there.)

The electric imps look interesting but strike me as a bit pricey, so I hadn’t investigated too deeply (I saw them on Sparkfun for ~$30 just for the basic radio – unless you can get them cheaper?)

For the RFX project, my price-point goal was an Uno-class nRF24L01+ equipped dev board, with radio module, deployed for all up < $20. (To be clear, by “all up”, I mean the total cost of the dev board and the radio!) An arbitrary number, perhaps, but for me, I realised that was the price point I’d be happy to just make all my projects wireless Internet/ethernet enabled, without having to think too hard about it.

For my own needs, my solution was something that has ended up with the (somewhat unweildy) name “RFX 328/nRF24L01+/Proto board”. (LOL – might have to work on that from a marketing perspective.)

Photo below. It features two sets of headers, the standard Arduino shield form factor, as well as a parallel set of that are breadboard layout compatible. It also has provision for a 10uH inductor on the analog input power supply section, which makes it significantly less noisy than the standard Arduinos for analog input reading (don’t know why they left the inductor off the Arduino ref designs, it’s specified in the Atmel data sheet.) It has provision for two 8-pin headers for the nRF24L01+; one header connects to the hardware SPI pins, and the other to an alternative set of pins for SW SPI bit bashing (in case you want to use the HW SPI pins for something else apart from the nRF24L01+ in your project.)

A small prototyping area, giving bit of flexibilty for how to connect power, some simple sensors/actuators, etc.

All through-hole components, so no advanced soldering skills or equipment required.

No USB support, so the programming is via ICSP or serial/USB adaptor. I like my USBasp as an ICSP programmer.

It’s about as small as it can get while being able to do the standard Arduino “shield” header layout. You can even configure it as a shield itself – I’ve actually written a sketch that turns one of these into a cheap Xbee-style replacement device, which simply connects to the serial pins on master board, and turns the serial port IO into a wireless stream connected to the RFX hub for simple point to point connection, a la an Xbee in non-API mode. (I’ve tentatively called it an RFX:bee, but I’ll probably have to change that too, so the nice folks at Digi don’t get annoyed.) Still cheaper than an Xbee module by itself! And you get the shield, and access to the software source if you want to hack into it, which you don’t get with an Xbee module (the shield is an extra cost, and the firmware source for the Xbees you can’t get access to at all, AFAICT).

But cheapest of all is just having the radio directly on the dev board itself, of course.

pico:
Nick: I've darkened the default text setting for greater contrast, so please have a look now, and tell me if things are more readable (reading on a phone perchance?)

Graphic design and layout really not being my strong suit, I've tried not to double-guess the choices of the theme designer too much. But if it's hard to read, that needs a fix.

Ahhh... that's better