Can the XBee 900 HP be configured via SPI?

I recently purchased the XBee 900HP. I am trying to interface with the module via an Arduino Nano 33BLE through SPI.

I have confirmed the SPI is working due to the Modem status response received upon RESET:
0x7E 0x00 0x02 0x8A 0x00 0x75. Which means “Modem has Reset”.

However, I have been unable to get a transmit request to transmit data. This is proven by the current being drawn remains unchanged after sending a request. Naturally when transmitting, one would expect more current draw. As well as, my other XBee does not receive the data.


  1. Once SPI Comms has been established, should I be able to immediately send a Transmit Request and perform Transmission or is there more configuring needed?
    If so, could you explain?
  2. What is the format for sending AT Commands over SPI? I either have not found or have misunderstood the User Guide in this Area. Or, could you guide me to a specific area that could explain?
  3. Could you explain Frame ID and what byte should go here? According to the examples it looks like it could be either 0x01 or 0x52 which leads me to believe it is somewhat random or programmer’s choice.

Thank you for your time.

The 900 HP can be configured via SPI as long as your device connecting to the radio is a SPI master device.

All SPI functions are done via the API interface. See|_____0

Once all SPI pins (list in link below) are configured and serial connections are established with MCU, you should be able to immediately start transmitting & receiving data.

You can send AT command to module using 0x08 API frames. I would suggest you check below link from product manual for details and query couple of parameters. This would help us determine if serial SPI communication is working fine:

The frame ID field can be set to any random value except zero. Doing that would disable ACK for unicast transmission and might affect reliability of data delivery.