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