XBee to Arduino, weird output

Hello everyone!

I am having a bit of trouble getting my XBee Pro S3B to work outside of XCTU and with my Teensy 4.0. Everything looks good (from what I can tell) in XCTU, and I am able to use the console to send messages between the 2 XBee radios. However, when I unplug the explorer board from the computer to wire it up with the Teensy, I get this in the serial monitor:

15:13:08.687 -> F-Update App
15:13:08.687 -> T-Timeout
15:13:08.687 -> V-BL Ver.
15:13:08.724 -> A-App Ver.
15:13:08.724 -> R-Reset
15:13:08.724 -> B-Bypass
15:13:08.758 -> F-Update App
15:13:08.758 -> T-Timeout
15:13:08.758 -> V-BL Ver.
15:13:08.790 -> A-App Ver.
15:13:08.790 -> R-Reset
15:13:12.637 -> Sending Message
15:13:12.637 -> Hello 
15:13:12.675 -> B-Bypass
15:13:12.675 -> F-Update App
15:13:12.675 -> T-Timeout
15:13:12.709 -> V-BL Ver.
15:13:12.709 -> A-App Ver.
15:13:12.709 -> R-Reset
15:13:12.744 -> B-Bypass
15:13:12.744 -> F-Update App
15:13:12.744 -> T-Timeout
15:13:12.791 -> V-BL Ver.
15:13:12.791 -> A-App Ver.
15:13:12.791 -> R-Reset

Here is my code for the Teensy:

unsigned long previousMillis = 0; // Stores the last time a message was sent
const long interval = 4000;       // Interval at which to send messages (milliseconds)

void setup() {
  // Begin serial communication with the XBee at 9600 baud
  Serial4.begin(9600);
  Serial.begin(9600);
  delay(2000);
}

void loop() {
  unsigned long currentMillis = millis(); // Get the current time

  // Check if a second has passed; if so, send data to the XBee
  if (currentMillis - previousMillis >= interval) {
    // Save the last time you sent the data
    previousMillis = currentMillis;
    Serial.println("Sending Message");

    // Send data to the XBee
    Serial4.println("Hello  Xbee!");
  }

  // Continuously check if data is available to read from the XBee
  if (Serial4.available() > 0) {
    // Read the incoming data:
    String incomingData = Serial4.readStringUntil('\n');

    // Display the incoming data to the Serial Monitor
    // Serial.print("Received: ");
    Serial.println(incomingData);
  }
}

Any idea as to why I am getting the weird output in the serial monitor. Keep in mind that any messages I send from the other XBee (still connected to XCTU) do not show up in the console and the Hello XBee string does not show up in the XCTU console as well.

Here are the configuration details in XCTU:
Router:

Coordinator:

Any help would be greatly appreciated, I am sure I am doing something wrong.

You are seeing the bootloader menu
https://xbee-sdk-doc.readthedocs.io/en/1.6.0/doc/tips_tricks/#101-getting-back-into-the-bootloader

Have a read of the 275 page user manual.

You may have a programmable module.
Did you choose this particular module, or was it given to you for use in a project?

Thank you! I was wondering what I was seeing there.

I do have the programmable module, would having this make using it a little more tricky?
The specific module is the XBP9B-DMSTB002.

Probably.

If this is a student project then it's possible that you have been given the wrong hardware.
Talk to your supervisor.

Not a student project. Any advice to get them working with Arduino?

Read the 275 page user manual.

There is a an official Digi help forum , but it is pretty much useless for these kind of problems. Digi makes little effort to support the hobby/student market and they assume that all customers have EE/SE degrees and have the time to read hundreds of pages of documentation.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.