# Which sensor nodes should I use?

I was asked to deploy a wireless sensor network and due to some requirements I already decided to use Zigbee/802.15.4 as my networking protocol. Also, I will be measuring air quality and taking some low-res pictures with a camera.

But when it comes to the sensor nodes I'm not sure which one should I use. I already have Crossbow TelosB nodes and although they have humidity, temperature and pressure integrated sensors I think adding more sensors could be more difficult than doing so with an Arduino, since lately we can find lots of tutorials out there as well as tested configurations.

Being complexity my main criteria, which sensor nodes would you use?

Thanks, p312z

-

Your primary criteria appear to be the following:

• Reasonably high throughput (for sending camera capture data)
• 802.15.4/Zigbee specification
• Flexibility in various aspects, including interfacing with sensors and/or Arduino

Based on those criteria, the Xbee Series 1 (802.15.4) and Xbee Series 2 (ZigBee) would be strong candidates for your project.

These modules are available in pin-to-pin-compatible high- and low-transmission-power variants (i.e., longer range and shorter range, but also higher power consumption and lower power consumption). They have an on-board MCU and thus allow direct interfacing with sensors via I/O pins, or alternatively UART interfacing with an external microcontroller.

Depending on what your project cost goals are, you may want to keep in mind that Xbee modules cost $20-$35 depending on which model. They are fairly large in size, with a 20-pin 2.0mm-header form; this form does have the advantage of allowing you to adapt your PCB/design without further modification in case you decide to do a future replacement with similar form-factor modules (e.g., RN-XV for 802.11 Wi-fi, or Bluetooth Bee for BT communicaition).

If you choose to use these modules, they are extensively documented across project pages and forums in the Arduino and other similar communities, however, a good starting point would be Rob Faludi's book. If you are using Arduino's variant of C, or Java, as your development medium, there are the popular (xbee-arduino)[http://code.google.com/p/xbee-api/] and (xbee-api)[http://code.google.com/p/xbee-arduino/] libraries created by Andrew Rapp.

You mentioned air quality data and camera image data as examples of payloads you will be transmitting. Here are corresponding examples for air quality data transmission and camera image data transmission using Xbee modules: (1) Air quality data and (2) Camera image data

Note that the Xbee units do have some disadvantages; here are some alternative suggestions for your project based on each disadvantage:

• Large size/Cost: If Xbee unit dimensions or per-unit price are too large, you may want to consider a smaller-scale SMD alternative, e.g., the Atmel Zigbit or TI's CC2530

• Large power consumption: If the Xbee units' current draw (ranging by scenario from 50 mA to 250 mA) is too high, then although you stated that 802.15.4/Zigbee is your chosen protocol, you may want to consider newer, more power-efficient alternatives such as Bluetooth LE, for example the BLE112

-
Thank you very much for your well explained reply. I already considered Bluetooth 4.0 in its LE mode, but Bluetooth is still a very complex protocol with a large number of primitives. Also, I think Xbee+Arduino is far more documented but thank you for your suggestion ;-) Also, do you think the energy consumption difference is that big? –  p312z Aug 24 '12 at 15:16
@p312z: I didn't understand your question regarding energy consumption. And yes, I believe Xbee is better documented for Arduino interfacing than any other wireless option. –  boardbite Aug 24 '12 at 19:37