Problems with brand new modules

Hi all,
I have this really strange problem, which I can find no reasonable answer to.

I have just got Xbee-Pro modules, and as far as i can see on the sticker, they are called XBP24-AWI001. I have looked arround on the forums and I think this might be rev.1 modules. am I right??

The problem is that I cannot program them. well, one of the modules has been somewhat programmed, beacuse now the serial port keeps sending garbage to me.

When i start X-CTU using the settings: 9600,none,8,none,1 i cannot query the modules, but when i check the flag ‘enable API’ i can get the serialnumber from the modules…

Nw i would really like to get some firmware onto the modules. the problem is now, that i don’t exactly know which firmware i should use?? I have tried some different firmwares and sometimes the programming starts but it has never ended successfully…

I don’t have a dev. board, i have just connected Din and Dout to my serial port and the CTS to 3,3V and DTR to 0V. I found a topic that posted this as a quick way to enable programming on the modules. I have however also tried connecting the DTR and CTS correctly to the port, but i have had no luck so far.

I keep getting the error ‘lost contact with modem’ no matter what I do.
I have also tried the option to turn of the module, start firmware update and wait for the reset box to appear, turn on the module and release reset… no luck either…

Any good ideas?? I’m quite desperate now!

Okay, i think i have tried almost everything…

I have made a setup similar to the one that can be found here:

When i open X-CTU and try to program the modules, i have to check the box ‘Use API’ to even get a reading from the modules… When i try to load a firmware with default setting onto a module i get following error:

Getting modem type…OK
Programming modem…Detected baud rate difference.
Make sure PC and modem baud rate is set correctly
Incompatable modem selected for programming
Write Parameters…Failed

Am i just trying to download a wrong image onto the module??? and i that is the case which firmware should i use? I know that the firmware depends on the specific module, but i can’t find anywhere what kind of module i really have :S Any help would be appreciated!

Absolutely use the level shifter.

There isn’t really much necessary infomration on the dev board,except the 232 to 3V TTL level shifter, and regulated input voltage at 3.3V. Hopefully you haven’t damaged the module already.

DIN DOUT VCC and GND are the only connections necessary to be able to Read and Write to the radio.

Once you get to the point where you can communicate with the radio, you will also need to connect DTR and RTS (NOT CTS as you mentioned above). This will allow you to upload new firmware to the module if necessary.


Then module in question is a 3V device. In order to connect it to a PC, you need a level shifter.

I know the development boards aren’t cheap, but if you can get one I’d recommend it. It’ll save you a lot of hassle while you’re getting to grips with the modules.

Failing that, Digi do have on their website the schematics for the boards. You can use that as a basis for your own circuit, including the level shifting.

I’ve never dared to try connecting an XBee directly to my own serial port, but I did once try that with a device that generated a 5V logic signal and it worked fine. You say your module responded when you selected API mode, so at least it hasn’t blown up. Still, I would follow mvut’s advice and use a level shifter.

You might find my “Unofficial FAQ” worth a look if you haven’t already checked it out. I think a couple of the topics in there are relevant to your question. It’s at

Sorry, My apologies to all of you! I am using a level shifter, I have no intention of ruining my precius modules :wink:
After all, I’m just a humble student working on a tight budget…

I am using the breakout board from Sparkfun with a built-in 5V to 3.3V supply.

I have connected the Din to my serial port (Dout)
and Dout to the Din on the serial port
Sort of Null-modem’ish, or am I completely mistaken?

I think my real problem is that I am very confused about the DTR and RTS signals… What should they by connected to on my serial port? (again they will be connected through a level shifter :slight_smile:

Thanks again!

I’m not sure if the null pinning is necessary or not. The XBee datalines are DCE in nature, but I guess this really depends on what the Sparkfun board is doing with them.

Does the Sparkfun dev board have a DCE or DTE serial interface? That should give you your answer.

If the Sparkfun board is DCE (like the Digi XBIB), then DTR and RTS would connect to the serial lines of the same name on the comm port site. If Sparkfun is DTE, then DTR would normally drive DCD and DSR, and RTS would normally drive CTS in a standard null configuration.

Hi there

> I am using a level shifter,

Would that be the SparkFun Logic Level Converter, or a RS-232 converter? (No offense intended, but I thought your comment was a bit vague.)


As regards the DTR and RTS connections to the serial port, a quick Google for “rs232 pinout” will give you the pin numbers you need to use.

None taken…

Actually I have been trying some different things:

  1. a simple solution using a MAX232 chip to do the conversion
  2. a Lantronix Xport, since it is also 3.3V logic and supports hardware handshaking

What is the firmware version currently in your modules? That should be enough to determine what modules and what firmware is compatible.

Can you read the modem parameters? Post the HV and VR values so that the the correct firmware versions can be determined.

What error or message do you get if you Test/Query without the “Enable API” box being checked?

Without any checkboxes enabled, i just get a ‘Unable to communicate with modem’ error.

If i turn on ‘Enable API’ i can get following information:
‘Communication with modem…OK’
‘Modem type = Name unknown (ID = 42949672481228492)’
'Modem firmware version = ’

I think that there is no firmware on the modules… I just don’t know how to get it on there.

If i try to read parameters off the module i always get a ‘baud rate diffference detected’ error… Is that a specific sign??

You’ll find that by checking the “Enable API” box, you’ll get that same output whether or not a module is actually on your dev board. The only time this box should be checked is if you have the AP parameter enabled.

If you are still talking about the “XBP24-AWI001” that you mentioned in the first post, let’s try loading new firmware on it.

To do this, go to PC Settings in XCTU and set it for 9600 8N1 hardware flow, make sure the “Enable API” is UNchecked.

Next, go to the Modem Configuration tab, and for Modem Type chose XBP-24, for Function Set chose XBEE PRO 802.15.4, for Version chose 10E6 (if possible, otherwise something in the 1xCx branch). Check the box for “Always Update Firmware”, then hit Write.

Hopefully you’ll be able to write new firmware on this module.

Hope Admin’s instructions get your module going.

On the [QUOTE]
If i turn on ‘Enable API’ i can get following information:
‘Communication with modem…OK’
‘Modem type = Name unknown (ID = 42949672481228492)’
'Modem firmware version = '[QUOTE]
message. This is what I get with a XB-ZB coordinator module when the X-CTU baud rate was wrong (API firmware at 115kb with XCTU set at 9600b). That one took a few minutes to figure out.

Problem ‘kinda’ solved…

I got a new breakout board from sparkfun - one with embedded USB-to-serial interface. Apparently my hardware skills are not that good after all… Anyway, i got the modules programmed now and all is good.
Thanks for the quick responses

I’m glad to hear it. Thanks for the follow up!