XBee Adapter v1.1 - DIO6 problem and fix

XBee projects like the adapter, xBee tutorials, tweetawatt/wattcher, etc. from Adafruit

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
o12
 
Posts: 1
Joined: Tue Jul 13, 2010 3:46 pm

XBee Adapter v1.1 - DIO6 problem and fix

Post by o12 »

I've just solved a problem that's been vexing me for some time and thought I'd share; maybe this information will spare somebody a considerable amount of frustration :-) What follows is mostly a description of the problem; if you're only interested in the fix skip to the end.

I've got two XBees, the regular 802.15.4 1mW ones. They're on v1.1 XBee Adapters. The transmitter is part of a controller and the receiver is attached to 8 solid-state relays. They communicate via I/O line passing, i.e. an Arduino in the controller reads the inputs from a joystick and some buttons, decides which relays need to be off or on, and sets the digital inputs (DI 0-7) on the transmitter XBee, which then automatically sets the corresponding digital outputs (DO 0-7) on the receiver XBee to match. Neat.

I've got some buffer chips on either end to translate between 3.3V and 5V. And I soldered some male header on the right side of each adapter to give easy access to XBee pins 11-20. I'm connecting to the 8 DIO pins via this header.

So DIO 0-5 and DIO 7 work splendidly, but DIO6 doesn't do anything (I'm just using LEDs to test at this point). I spent a whole lot of time twiddling various XBee settings, but the problem always remained the same. I attached the receiver to the computer with the USB FTDI cable and tried setting DO6 high and low manually, using AT commands. The XBee responded with an 'OK' each time, but the test LED wouldn't light. I tried different XBees, different boards (all v1.1 Adapters), etc. but still didn't get anywhere.

Once I upgraded my testing equipment and abilities a bit, I got a clearer picture of the problem. DIO6 is set for 'Digital Output - Low'. When I power up the XBee however, DO6 is at 1.54V. It should be 0V of course. When I open up a terminal connection (it's attached to the computer via USB), DO6 drops to 0V. Setting it high has an effect, but it only goes to 1.17V -- not 3.3V as expected. Close the terminal connection and it goes back to 1.54V. All my XBees/Adapters exhibit this behavior.

Take them off the Adapter though, and DO6 works just fine! It must be something to do with the 74AHC125N buffer chip on the Adapter? Since DIO6 can also be RTS it is connected to it. But so is DIO7/CTS, and it doesn't have this problem. Hmm..

Anyway, by this point I was quite exasperated with the thing, so I just up and cut pin 9 off the 74AHC125N, severing it from XBee pin 16 (DIO6/RTS). Felt good. And now it works brilliantly.
That was for the receiver. I ended up doing the same thing on the transmitter, but connecting a 5V signal to the RTS pin on the end (where you'd plug in the USB cable) also worked.

So if you want to use DO6, make sure it's not connected to the buffer chip! Same goes for DI6 unless you're using the provided RTS pin on the end of the Adapter.

User avatar
andrewa
 
Posts: 145
Joined: Mon Oct 19, 2009 9:53 pm

Re: XBee Adapter v1.1 - DIO6 problem and fix

Post by andrewa »

WHOA!

This sounds like similar to the problem I have.

Should the XBee Adapter v1.1 then have a jumper, or not connect that pin at all? Seems like a bug.

DI0 through DI4 work fine (5 of the 8 possible lines); I noticed that in using DI5, the green LED on the XBee Adapter lights up as well.

Any thoughts/comments from the Adafruit folks on this?

User avatar
andrewa
 
Posts: 145
Joined: Mon Oct 19, 2009 9:53 pm

Re: XBee Adapter v1.1 - DIO6 problem and fix

Post by andrewa »

From the XBee adapter schematic, cutting pin 8 seems better, since you disconnect the gate entirely; but this goes to DI07.

Locked
Please be positive and constructive with your questions and comments.

Return to “XBee products (discontinued)”