XBee Level Shifting
http://www.faludi.com/bwsn/xbee-level-shifting/
The XBee communication (RX/TX) pins definitely operate off of a 5V signal with the Arduino. We’ve seen this a lot and done this a lot, and it certainly keeps things simple. That said, there’s nothing wrong with adding a level-shifting circuit to deliver 3.3 V signals to the XBee and 5 V signals to a microcontroller. Definitely a good idea for commercial applications where you will need to keep the module stable across its entire temperature range, etc.
Level shifting can be accomplished with:
- a resistor-based voltage divider: This will work but will also slow down signal rise and fall times significantly. For most cases this won’t be a problem, but it might affect the integrity of fast signals over long wires.
- a Zener circuit (with a resistor for level-shift): This is better but the part isn’t one most people have lying around, and it’s not stocked say, at Radio Shack
- a diode circuit: The two in the schematic below use easily available parts and the diodes can be any common silicon rectifier type