affordable RF hacking

I’ve done a lot of Arduino projects but have never worked with RF before. I’m just starting to learn and am trying to figure out what kinds of parts to get.

Most of what’s been written recently seems to focus on the XBee/ZigBee world. This looks both fantastically powerful and basically unaffordable – I want to make a network of several dozen units, so at $20/module we are far beyond this home-hobbyist’s hacking budget. Additionally, a lot of the XBee’s features go beyond what I need – I’m not looking for AES security, wireless firmware updates, mesh networking, etc. I just need units in close proximity to exchange extremely simple messages with a central base station.

But – I also see a lot of less-expensive and less-full-featured RF units on the market. On Sparkfun alone, there are the WRL-1053x RF transmitters & receivers, the RF-24G tranceiver, the ATMEGA128RFA1 breakout, and a handfull of other mysterious parts. It looks like these might be more up my alley – less expensive and less full featured. The ATMEGA128RFA1 is especially interesting, since it’s so inexpensive ($6 each on Mouser) and has an AVR built in.

Only problem is they look radically harder to learn! Whole lengthy books have been written to get folks started on XBee (I’m thinking of OReilly’s “Wireless Sensor Networks” and Faludi’s “Making Things Talk”) but for these cheaper lower-level chips I haven’t found much beyond the manufacturer’s documentation and datasheet.

So I’m looking for guidance from anyone who’s more experienced with RF and/or these products. Do these less expensive chips work ok? How hard are they to learn? Are there good educational resources out there for them? Are there other affordable solutions to this problem?

Any thoughts or feedback would be helpful. Thanks in advance!

=Tim=

you can find nRF24L01+ based boards, similar to the sparkfun WRL-00691 on ebay for under $3 including s/h from china. They run on 3.3v and have TTL 5v logic tolerant data lines.I’ve never used one and wouldn’t expect any vendor support like you get here. You can read the chip datasheet for info and try and glean tips from the forum here from people using the local version. But they are there and communicate via SPI with a uController of your choice, for what it’s worth.

That’s useful. I see a few Arduino libraries have been written for the nRF24L01+, so trying to get those running with a few Sparkfun breakouts might be a good place to start. Then I could eventually work up to building a custom nRF24L01+ circuit with a cheaper microcontroller and a direct connection to my application.

Have folks had good experiences with the nRF24L01+? It seems popular.

Depending on if you need 1 way or 2way traffic, affordability and simplicity would be the cheep 315mhz and 433mhz radios. if you need to push a button and have a led across the room light up, a cheep tx and a tiny85 is perfect. and there are libraries for the attiny85 chips. so there a few cheep solutions. Look in to virtual wire. same hard ware can look for the random key fobs.

Those cheap Chinese nRF24L01+ modules are quite easy to use. I have a couple interfaced to PICs on small PCBs.

another low cost option is JeeNode radios, with an Arduino library for AVRs

Not sold by SFE yet, but see this (not an SFE competitor)

http://jeelabs.com/products/jeenode

and

http://talk.jeelabs.net/topic/854

and with apologies to SFE: http://shop.moderndevice.com/products/jeenode-kit

Available are many variants: AVR+radio, radio module alone, AVR+radio+USB, AVR+radio+RS232/serial, etc.

I’ve been working with these radio+Arduino/AVR (915MHz verson) for some weeks now, using both Arduino for development, and experimenting using ZBasic.net. These use the HopeRF modules which employ the radio chip from SiLabs (also sold to Microchip for them to rebrand). Kind of complicated to program, but the Arduino library and JeeNode can help. (The XBees cost more because of all the built-in firmware functions that you don’t have to reinvent).

The range of these is good, esp. if you configure it for a lower data rate (say, 9600bps) and bandwidth (lower = longer range).