We are looking at what is required to support our DivBee module with the Arduino platform. The DivBee is the longest range Zigbee device on the market. It has been pre-certified as single modular, meaning that it can be simply dropped into any device and sold without requiring any further certifications. It has FCC/IC/CE-ETSI (EN-300-328) approvals. It is also the only pre-certified module to have antenna diversity. It's less than 1 square inch in size. It uses the Atmel RF231 RF chip, so it interfaces easily to existing Atmel micros but any micro or CPU having an SPI port can be used.
After using tens of thousands of XBEE modules in our products, we needed a better solution for cost and performance, which is how the DivBee product became to be. Cost is about 1/3rd less than the XBEE at the retail level (and up to less than 1/2 the cost of the XBEE at the same bulk quantity).
We also offer some micro transceivers that have a CPU/RF230 integrated into a package with 6 digital I/Os or 3 analog/3 digital I/O, working from a supply voltage of 2.1v to 16v. These make excellent sensor interfaces or servo drivers.
If anyone has any recommendations on how we should go about trying to support the Arduino platform (shield?), we would be happy to hear from you!
If anyone has any recommendations on how we should go about trying to support the Arduino platform (shield?), we would be happy to hear from you!
One of the advantages of XBees is that they are all the same shape and general size, and all have the same pin spacing and layout. There are a number of other devices that have adopted this same pin spacing and layout, to be compatible with XBee shields.
If your device came with the same footprint/form factor, I think it would be easily adopted by Arduino users who are a bit (or more than a bit) put off by the XBee price.
We have considered making a carrier board that emulates the XBEE modules, but that gets back to the same issues that the XBEE modules have, and that is a proprietary stack, high cost, and horribly slow data transfers. Every XBEE packet has a minimum of 7ms of wasted time in its OS before the next packet can be sent (not to mention having to transfer all of its data via a RS232 port), so the throughput is very poor.
The DivBee module interfaces via a SPI port and 3 control lines. It works with any of the existing Atmel coded stacks for their AT86RF2xx series RF CPUs. We also have support for PIC micros for using these as high speed modems without a Zigbee stack. With a ground range of several miles you don't need repeaters, even for large irrigation controls.
The idea behind the DivBee is that you can use a single micro or CPU to control both the RF and your project. The 4MHz SPI port means that FIFO can be transferred much faster than can be sent over air. No double buffering is required when sending things like audio data at full speed. You could even setup SPI with DMA to completely free up the CPU.
It looks like we need to build just a bridge board that connects MOSI/MISO/SS/SCK and three control lines to the Arduino boards, and then write a DivBee sketch... is that all that is required?
By the way, since these are 802.15.4 compliant devices they will communicate with any other 802.15.4 compliant devices. If you use the special XBEE payload identifier, these devices will communicate directly with XBEE modules as well.