Home/Support/Support Forum/XBee 3 cellular CAT1 available IO when in micropython mode

XBee 3 cellular CAT1 available IO when in micropython mode

0 votes
Hi - I'm new to XBee's and trying to figure out which pins of the XBee 3 CAT1 module are available as IO when in micropython mode. I'm planning to use the XBee in micropython mode without a host microcontroller.

Pin 1 Vcc
Pin 2 Dout - This can be used in micropython mode for serial comms with stdin/stdout, but must be available on a connector for field application code updates.
Pin 3 - This can be used in micropython mode for serial comms with stdin/stdout, but must be available on a connector for field application code updates.
Pin 4 - Can be used as IO or secondary UART Rx or IO.
Pin 5 - reset
Pin 6 - Will use RSSI output.
Pin 7 - Can use as IO, but need to run it to a connector for field XBee firmware updates.
Pin 8 - Need to have it on a connector for field XBee firmware updates.
Pin 9 - DTR, should be used with primary UART.
Pin 10 - GND
Pin 11 - Can be used as IO or secondary UART Tx.
Pin 12 - Can be used as IO, but recommended to use as CTS with primary UART.
Pin 13 - Can be used as On/Sleep or IO.
Pin 14 - Vref is unused. Leave disconnected.
Pin 15 - Can be used as Associate output or IO.
Pin 16 - Can be used as IO, but recommended to use as RTS with primary UART.
pin 17 - Analog input or IO
pin 18 - Analog input or IO
pin 19 - Analog input or IO
pin 20 - Analog input or IO

In my application, I need one UART for communicating with connected devices. Should I use the primary or secondary UART? If I use the secondary UART, does that mean all pins associated with the primary UART are unavailable due to my need to support field micropython code updates? If I use the primary UART, I believe it will make development more difficult. I'd have to update code, disconnect the serial tool and then connect to my product each time a make a change.

Can I use pin 7 as IO as long as I add a switch that can allow XBee firmware field upgrades?

If I use the Associate output, I only see 5 pins that I'm sure I can use as IO. I'm trying to find a few more by understanding their requirements better. Can anyone help?

Is it a bad idea to try to use the module without a host microcontroller?
asked Mar 11 in XBee3 Cellular by mwebster New to the Community (1 point)

Please log in or register to answer this question.

1 Answer

0 votes
 
Best answer
When using the secondary UART in MicroPython, the primary UART (DIN/DOUT/RTS/CTS) pins still function as normal. The secondary UART is totally separate from the primary XBee UART. Note that pins 17 and 18 can be configured as the flow control pins for the secondary UART, and it's best practice to use hardware flow control with UARTs.

Pin 7 can be used as a GPIO, but as you say, make sure to add a switch or something similar that would allow you to use pins 7 and 8 for USB access to the cellular modem in case it's needed for updates. (USB access also requires enabling USB Direct mode on the XBee.) In that case, pin 7 would only have to be used as USB D+ function during the update, and can be changed back to GPIO after.

Note that if it's possible to unsocket the XBee for updates instead of doing them in-place, you could skip adding circuitry for USB. Also, USB access is not needed for _every_ XBee 3 Cellular firmware update - only if the cellular modem needs to be updated, which happens infrequently.

If you don't require RSSI PWM output or the association LED indicator, pins 4 and 15 can be used as IO. Likewise, if you don't need pin sleep control, pin 13 can be used as IO.

I hope this helps.
answered Mar 12 by tckr Veteran of the Digi Community (329 points)
selected Mar 13 by mwebster
That helps. Thanks for your help.
...