How can I program the XBee on a tight budget?

I have already bought many Programmable XBee S2B modules with the intention using the S08 MCU instead of an external processor for I2C and SPI processing.

No offense but I’d like to not buy the $399 dev package since I don’t need most of it. I don’t need any more XBee modules. and I don’t need more than one programming station. I also have no budget left to complete the prototype.

So… I successfully entered the bootloader menu but the CodeWarrior IDe produces .abs.s19 files, not .ebl files. After looking at the X-BIB schematic it looks like I really do need a programmer that accesses pin-8 on the XBee to not only debug but just to flash abs.s19 files.

So two real questions that might benefit others with a tight initial budget:

  1. Can I skip the XBIB-U-DEV board and just connect the four pins from the P&E’s USB BDM MULTILINK according to your schematic?
    I have no need for your development board since I have the hardware debugging alrady setup and just need the ability to flash and preferably debug in CW. This would readuce my need to just buying the USB BDM MULTILINK debugger for $100.

  2. Instead of that $100 debugger, would you think it’s possible to use another S08 debugger such as this $25 debugger on eBay?

These two items would reduce the entry to XBee programming to about $70 instead of $399 which I think would make a huge difference for people with more time budget than money budget.

Mattias Fornander

1 Like

Well, I lost a day trying to program normal XBee Pro S2B’s and not the programmable version. The naming is really confusing with Pro meaning PROfessional and not PROgrammable. Mouser even has it wrong in their catalog, listing the S2B Pro parts under a “Programmable” heading: which is why I got the wrong parts.

Please smack the team that are responsible for your naming scheme. I already smacked Mouser.

Hello MattiasF,

I am really sorry about the confussion, I don’t know how many times this confussion with “XBee PRO” and “Programmable XBee PRO” has taken place…

Regarding your questions, with the programmable version you would have seen a different bootloader which accepts the CW files and no programmer is needed… after you flash it the first time (flash is protected in older versions).

And yes, you don’t need to stick with P&E debugger, but the SDK is made to work with that… you can use USBDM, but it’s not integrated in the SDK and you will have to modify the connection and launch configurations in CodeWarrior (yes… I could give you some advice, but don’t expect me to do it for you, I haven’t touched a Programmable XBee in months :-P).

The main problem is the bootloader, P&E debugger is configured by the XBee SDK to avoid erasing the bootloader and Virtual EEPROM flash partitions, so you can make remote firmware updates and other stuff. With USBDM you would need to modify the linker files or launch tasks to get the same functionality (if it’s even possible). But I think that you could deploy an application without bootloader with USBDM, and for the final application flash a bare bootloader (no special “magic” needed for doing this with USBDM) and then upload the application built with the official SDK through the serial port.

Finally, bear in mind that USBDM is open source and in their homepage they give some other manufacturers that use their design.

Best regards,

1 Like

Wonderful answer, thank you Spastor.


Got any further on this front by any chance ?

without debugger how can i upload or load code in programmable Xbee module?

without debugger can i upload code in programmable XBEE module?

I am looking for a cheaper HSC08 programmer to work with programmable Xbee. It is Technological Art’s USBDMLT. Will this work?
It is based on’s usbdm files.

Hi Mattias,
What did you do at the end?
Did you buy the USB BDM MULTILINK debugger?

My reply is more suitable for the original poster but as your comment was recent, i thought i’d share a method for folks who have more time than money at their disposal or just want to study these modules before making the decision of getting the dev-board and a debugger.

All the programmable modules I’ve received have had the bootloader already active on the module. This means you can actually use the old X-CTU and make an XMODEM transfer of the .bin file for the S08 application using serial connection.

Taking this method further, you can enable OTA firmware upgrade feature of the module and all new versions you can just upgrade over the network.

Granted this is only suitable for playing around or for the DIY/Home/educational purposes. You will not have the possibilities to debug the application making you fly blind. But if you are careful and want to accomplish something really simple, you can get quite far without the debugger/programmer interface.

I think this is the tightest-budget-method available for playing with these great radios…