XBee not associating

Hi everyone,

I’m having a problem with some XBee units I have and I was hoping someone here might be able to offer a solution for me as I am stumped.

Anyway, the details are this…

I have a little robot using an ATmega2561, a XBee series 2, a couple of stepper motors and an LCD screen. All running on 8 AAA batteries that make up 9.6V.
As the ATmega2561 sends signals at 5V and the XBee is only 3.3V tolerant I have a simple step down circuit that converts the 5V to 3.3V before it reaches the XBee.
I want to be able to send and receive information and commands from this robot wirelessly using a laptop. To do this I have one series 2 XBee on the robot and I have another mounted on a XBee explorer board connected to a laptop, with X-CTU, via USB.
The XBee unit on the robot is configured with the
ZigBee Router/End Device AT firmware
PAN ID: 234
Node Identifier: ROUTER1
and the XBee attached to the laptop is configured with the
ZigBee Coordinator AT firmware
PAN ID: 234
Node Identifier: COORDINATOR

Both units are setup for a baud rate of 9600 and the ATmega2561’s USART is also configured for this rate.

According to the data sheet, the digi knowledgebase and various other things I’ve read online all you have to do to get a network going is set one unit as the coordinator, one unit as an end device, give them proper names, the same network number and turn them on. You don’t even need to specify the network number if the coordinator is going to be the only one in range but I did just to make sure. After doing that the two modules should automatically associate with each other and form a network.
My XBee’s however are not doing this.

Using AT commands typed into the terminal window (ATND and ATAI) in X-CTU I can see that the coordinator can see the router however they will not assoicate with each other and I can’t figure out why.
I have been emailing the support guys at Digi for almost 2 weeks now and nothing they have suggested has solved the problem.
I have specified the destination high and low addresses of each module to match the source destination high and low address of the other module but that didn’t work.
Both modules have the same baud, parity and packetization settings.

To test if the signal is working I am running a simple program on my ATmega2561 that sends a byte every 250ms to the XBee. This signal has a single start bit, 8 bits of data, no parity bit and a single stop big. Using a digital ossciliscope I can see this to be correctly output from the micro’s USART. I can also see the signal being successfully stepped down to 3.3V from 5V and successfully appearing on Pin 3 (Data In) of the XBee module.

If you have read this far I appreciate it and I hope you can shed some light on this problem.

You might want to try going back to basics. Can you get the 2 Xbees talking to each other on their respective digi prototype boards?

If I was you I’d flash new firmware onto them with ‘xbee ZB coordinator AT’ and ‘xbee ZB router AT’ firmwares respectively. I’m assuming you’re not using a gateway (X2, X4, X8, etc.).

Reprogramming can be done with XCTU. Set it to talk to the Xbee at 9600 baud, uncheck ‘enable API’. Then go to XCTU -> modem configuration. select xb24-zb -> ‘xbee ZB coordinator AT’ or ‘xbee ZB router AT’. check ‘always update firmware’. click ‘show defaults’ button. press ‘write’ button.

once you’ve reprogrammed both modules you can then retest.

I don’t yet have two prototype boards. I only bought one originally but I have ordered another and it should be here soon.

Thanks for the reply mate but I have done all that. I have been using X-CTU right from the start.
I have the latest firmware, I check every day, and have tried swapping round which module is coordinator and which is the end device and this requires updating their firmware with the new configuration and they don’t work either way.


First, the fact that your AI reports 0 on both node and that you are able to see each with the Node Discovery indicates that both nodes are associated and formed a network so that is not the issue. The issue is most likely between your Synchronized Serial port on your processor and the A-synchronous serial port on the radio. To verify this, I would recommend performing a range test. If you pass the range test that the issue is going to be with the processor.