SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By stevech
#39203
I may be biased... I usually want to spend my time on the application objective. It is possible with the Xbee/XBeePro, to add code to their microprocessor. I don't recommend it unless you are doing a very, very cost-sensitive product. There's a long learning curve and the cooperative OS must keep up with the timing demands of the MAC. So a separate microprocessor for the non-trivial application is what I'd recommend. I just did a project like this, where the XBeePro's were plugged into a $40 baseboard from Coridium on which there is an ARM7. (For many needs, a much cheaper/simpler processor would suffice). My rapid-application was a 1,000 lines of code running on the ARM, and the XBee was just a transparent modem, however, the ARM changed the PAN network node destination MAC address to send messages to either the coordinator (addr 0) or a specific node, or a do a broadcast - I had 12 such devices running, battery powered, for a complicated proof of concept test, using 250Kbps (or net 80-120Kbps after overhead).

I've done this same kind of thing, to a lesser extent, with Xbee-equivalents from SiLabs, ZMD, Jennic and plan to try Meshnetics (Atmel chips). The nice thing about 802.15.4 with or without the ZigBee stack, is the IEEE standard MAC/PHY, unlike all proprietary prior low power bi-directional chips. (I leave Bluetooth out, due to cost and PC/PDA-centric protocol stacks on one side of the link).

Other people may want to rediscover how certain MAC and PHY layer communications work. For this, I think you are better off buying a development kit from TI, Ember, or FreeScale (XBee series 1 are based on FreeScale). As a practitioner in wireless for years, it's best to hit the books on MAC and PHY rather than tinker and code.
By linuxguy
#39205
Each has it's own strengths and weaknesses for a given application. What are you trying to do with wireless?

8-Dale
By mzoran
#39207
I completely agree with that, just that it isn't 100% clear to me that using turnkey solutions is a time saver in the long run. Instead of rediscovering MAC and PNY( something generic, relatively well understood and changes slowly ) you need to rediscover how to interface with the modules and various quirks of the module( something that changes very rapidly ). Often these quirks are undocumented. The module is a black box. Black boxes are hard to work with.

I think turnkey solutions are mostly used in cases where a company or an individual doesn't have either the knowledge or the inclination to acquire that knowledge about something( For example you want to quickly RF enable an existing project yet don't want to recruit an RF engineer .) I've taken apart many commercial products yet very infrequently do I find a turnkey solution.

For example, I've been trying to get the old bluetooth DIP module to work with a serial camera using a PIC as glue logic for a robot project for awhile. Yes, I got something sort of working very quickly, but as I try to polish it it has become more and more frustrating. Crashes/Hangs on the PC side in various Bluetooth stacks, unpredicable delays in the transmission, cost of encoding data to avoid escape sequences, unexplained failures of RTS/CTS hardware based flow control, unexplained loss of data, and a quirky command set. BlueRadios is a small company so that may be part of the problem. Maybe the Phillips/NXP modules are better. I don't know.

The 250kbps of the XBee is a bogus number. That might be the RF speed, but the external UART can do a max of ~115kbps( port speed ). Then you have to consider how often flow control is engaged and lastly the encoding and decoding cost. What end to end data rate are you actually getting? You also have to consider that while the module "pretends" to be full duplex, the underlying system is only half duplex which can lead to traps if you are not careful. What you don't know about really can hurt you.

In the past I've used the Linxtechnologies HP3 modules and the Semtec XE1205 modules. Both of them have direct access to the FSK modulator/demodulator. The XE1205 modules allow full access to the frequency in 500Hz increments and even the frequency deviation and baseband bandwidth. Both have a out of band mechanisms for control so that module configuration doesn't get mixed in with the data allowing for complete freedom in data encoding. I learned alot about how to implement frequency hopping spread spectrum on these modules which is something I haven't been able to find a whole lot of information about on the web. I'm putting an order in today for the nordic modules from SparkFun as they allow similar control but at a lower cost with RF datarates upto 1Mbps. Software is something I have alot of knowedge about yet don't have the equiptment to assemble or debug the analog components of modern high frequency RF equiptment which can easily exceed thousands to as much as hundreds of thousands of dollars( oscilloscope that can view GHz signals).