You are here: Home News Items New XBee tools!
Document Actions

New XBee tools!

Now you can use the Make Controller to upgrade the firmware on your XBee modules and configure them easily using X-CTU.

The Make Controller can now mimic an XBee dev board and upload new firmware to your XBee modules and allow you to configure it using X-CTU (an application by Digi, the XBee module creators)!

This not only means that you can do more with the XBee modules you already have, but it means you don't need to buy the separate development kit that Digi usually sells with their XBee modules.

Check the new XBee X-CTU how-to for details.

xctu.png
The X-CTU interface

 

The Back Story

This is the result of several days of frustrating reverse engineering effort.  The XBee dev kit board uses an FTDI chip to do USB serial emulation, but on our trusty Make Controller Kit, we just have the onboard SAM7X USB interface. 

When we first wrote some firmware to simply do bi-directional USB to serial communication between the XBee module, we were able to read and write configuration options using X-CTU, but uploading wouldn't work.  We thought it had to be something to do with some handshaking between the module and Make Controller, but after much investigation it turned out that the handshaking lines had very little to do with the success of a firmware upload.

Upon further investigation, we saw that the upload process looks roughly like:

  1. Read some AT commands back from the module
  2. Upload the new program
  3. Set the default settings via AT command for the new program

The one sneaky thing that we noticed is that the program switches from the standard 9600 baud for the AT commands to a snappier 38400 baud rate for the firmware upload.  Once the upload is complete, it switches back to 9600 baud for the 3rd step.  Tricky!

Once we included this, along with a serial break command between steps 1 and 2, we were able to coax the module into accepting the more recent firmware, meaning we no longer need our XBee dev board...now the Make Controller can serve as a much more full-featured version!