Xbee Series 1 vs. Series 2 vs. Digi’s new names for things

Just some musings on some things I worked out:

Maxstream, now Digi, makes two versions of the Xbee radio modules.  Series 1 are 1mW or 60mW modules (depending on regular or Pro) with 100m or 1600m range.  Series 2 are 2mW or 50mW (120m/1600m).  However, their software is quite different.

Series 1 modules are peer-to-peer, they join a PAN and ship the data around, all the firmware is the same.  Series 2 modules are coordinator based mesh networking– one of the modules is the PAN coordinator, with different firmware.

Anyway — I had originally bought two Series 2 routers and one Series 2 coordinator.   For some reason, the coordinator died.  I finally got around to creating an interface to let me reflash the firmware on them, and now have working 2mW radios.  The trick is that you actually need a lot more serial protocol than is frequently presented — I got Sparkfun’s FT232RL breakout board, which includes the DTR and RTS pins needed to interface to it.  I also picked up their xbee breakout board.  A little soldering, and all is well.

I’m running the X-CTU software in parallels on my mac, and for some reason the standard guard times of 1000ms just weren’t working, I brought it up to 1200ms and it was able to talk to the radios just fine.  Reflashed the firmware (and a bit easier configuration to boot) and all is well.

Second bit of things is the configuration for a point-to-point config:

  • Choose your own PAN (you never know when someone will be messing with an xbee in your neighborhood)
  • For something like a controller, set Packetization timeout to 0 — otherwise you’ll end up with a random timeout between when you send your bytes and when they get sent.  This isn’t a problem if you’re always sending data, but if you’re doing something realtime you’ll want Packet to 0.
  • By default, the Series 1 radios broadcast, Series 2 Routers send to the Coordinator, and the Coordinator broadcasts.
  • Unless you really need broadcast messages, just have each radio send the packet to the other radio, using the 64-bit serial number printed on the bottom of the xbee.  You can set the radio to have a “common name” if you need to programatically change which radio it’s talking to (or replace a radio module without reprogramming all of them), but with only two end points, I think it’s just easier to use the 64-bit number.

2 comments

  1. bearsinthesea Oct 15

    thanks for the advice on the 64 bit number, i’ll try that now.

  2. bearsinthesea Oct 15

    omg, thank you so much, ive been reading and working on this for hours. Take the SH and SL (serial numbers, look in your x-ctu output), and used them for the DH and DL.

    I could not get the coodinator/NI name resolution to work.

    keywords: arduino xbee DL DH peer to peer point to point address

Leave a reply