Serial Communications not working at all

I have 2 XIAOs TX to RX, RX to TX and grounds connected and can’t get them to communicate via serial.

SENDING XIAO CODE

void setup() {
Serial.begin(9600);
}

void loop() {
Serial.write(5); // send a byte with the value 5

int bytesSent = Serial.write(“hi”); //send the string “hi” and return the length of the string.
}

RECIEVING XIAO CODE

int incomingByte = 0; // for incoming serial data

void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}

void loop() {
// reply only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();

// say what you got:
Serial.print("I received: ");
Serial.println(incomingByte, DEC);

}
}

Any suggestions?

I think the default Serial port goes via USB.
Have you tried with Serial1 ?

Thank you I’ll give that a try, I thought I had read that serial1 doesn’t work on XIAO.

First of all, I would test with one XIAO: Connect a jumper between Pin 6 (Tx) and Pin 7 (Rx)
Then use the Arduino Serial Monitor to show the action

This simplest test might go something like this:

// Demo of Serial1 pins on Seeed XIAO
//
// davekw7x
// May, 2022
//
void setup() {
  Serial.begin(115200);
  Serial1.begin(115200);
  
  // Wait for both serial ports to be ready
  while (!Serial) ;
  while (!Serial1);
  
  Serial.println("\nXIAO Test of Serial1 compiled on " __DATE__ " at " __TIME__ "\n");
  Serial.println("Connect a jumper between pins 6 and 7 of the XIAO,");
  Serial.println("and type some characters in the Serial Monitor\n\n");
} // End of setup()

void loop() {
  char serial_input;
  char serial_1_input;

  // Read from Serial port (USB), write to Serial1 Tx (XIAO Pin 6)
  if (Serial.available()) {
    serial_input = Serial.read();
    Serial1.print(serial_input);
  }

  // Read from Serial1 Rx (XIAO Pin 7), write to Serial port (USB)
  if (Serial1.available()) {
    serial_1_input = Serial1.read();
    Serial.print(serial_1_input);
  }
} // End of loop

(Tested on my XIAO — works as expected)

Once you can verify that, in spite of what you may have read somewhere, the Serial1 port on XIAO pins 6 and 7 works, you can try with two devices.

With the same software on both devices and Tx-Rx cross connected between them, I might use the Arduino Serial Monitor on one and a terminal emulator on a computer USB port for the other. (I use Tera Term on Windows, minicom on Linux.)

Regards,

Dave

Thanks so much! I will post what I learn Monday.

Tested and is now working flawlessly. THANK YOU! I flashed the same code on two XIAOs and they communicate as well with the wiring shown in the pic my first post.

If this is not working then try something from My Signal Boosters