Xbee 3 cellular compatible with competitor "xbee form factor" socket?

I want to upgrade an existing product from a competitor LTE CAT1 module supplier that advertises an “xbee form factor” pinout. Just swap out the competitor’s module and plug in the Xbee 3.

New system firmware of course but from what I can see the hard part can all be done in the module in microPython using DRM, just have to change the control state machine using new AT commands and provide sensor data over the serial connection.

The connectors and spacings are the same, but this so-called “xbee form factor” socket uses 4V power on pin 1, shorts pins 4,11,15 to ground, applies 3.3V Vref power to pin 13, and uses pin 20 as a power-on button.

It has all the serial connections (DIN, DOUT, CTS, RTS) in the right locations and correct polarity. ON/#SLEEP is implemented, also DTR and #RESET. So in theory I can do a hardware sleep request using pin 9 and monitor sleep status with pin 13. Pretty important because the XBEE uses almost twice the power of the competitor when active. The existing system just powers off the module when not in use, but that leaves it blind to the network most of the time. No polling, pushed OTA updates, control etc. No easy mechanism for passive OTA system firmware updates either. They can update the modem OTA but not the system.

USB connections exist to pins 6,7,8 but if I leave the USB update connector disconnected there is no conflict.

I won’t be able to use the Associated LED output and will have to disable it or remove pin 15 to avoid shorting the LED driver to ground.

The system already has connections for two SMA dual-band antennae. I am assuming Verizon or AT&T supplied sims will work.

Any other non-obvious issues with this plan?


If you are going to use Micro Python and need UART access, you will need to make sure you add or use the Micro Python UART interface instead of Pins 2 and 3 as these are the REPL interface.

Digi Support

I’m not seeing a separate serial interface for MicroPython in the documentation. Surely if I create some Python code in the file system that runs on startup (not using REPL) there must be a way to use the DIN/DOUT pins.

The rest of the interface seems to work, I just have to disable the Associated led output.

Yes, These issues can be overcome by setting a profile prior to XBEE being inserted into your board.
ATP2 0 (which is default)
ATD5 0
ATP0 0
ATD4 0 (which is default)

VBUS from USB (+5V) cannot be connected to pin 6 for XBC-V1-UT-xxx products.
However, VBUS/5V can be connected for XB3-C-A1-UT-xxx and XB3-C-A2-UT-xxx products without harm to the product. Although it is not used or needed to operate the USB Direct mode it will not hurt the device even if the VBUS is powered while the XBEE is not powered.

Pin14 - Vref is not connected on devices listed above, so voltage on this pin will not hurt the device.

Note that XBEE DIO will be running at 3.3V, not the Vref voltage. If you are running a 1.8V DIO, this will need to be adjusted to run at 3.3v or at least 3.0 to 3.6v range.

1 Like

Luckily my system runs at 3.3V anyway.

I tried this and it is working at least up to the point of being able to update the firmware and set the APN.

Still getting an Association Indicator of 25, connection refused, but this is probably related to the SIM card and contract setup. Not the connections.


It is in the Pin out as well as in the documentation for the Micro Python.