XIAO - Serial buffer limited to 64 bytes

Hello!

I have many Arduinos acting as transceivers (ESPs, Nanos, etc). They can all receive and transmit data at 433MHz through a module connected on SoftwareSerial pins.
Everything works fine on those. But the device with the XIAO fails to receive more than 64 bytes of data.
My project has thousands of lines of code but the relevant could be simplified (and be reproduced) as follows :

void loop() {
  while (rfModule.available()) {
    Serial.write(rfModule.read());
  }
}

where

SoftwareSerial rfModule(7, 6);

at baudrate 9600, for both software and hardware serials.

Below is what I read on the serial monitor on the XIAO when the XIAO is receiving SHORT data

<1OSKbXcOwsNeEiSJIikqrdNoMB1nnAD2NYJ9l5vAHrU=>

Below is what I read on the serial monitor on the XIAO when the XIAO is receiving LONGER data

<kweITGBlQfhqHSsZ1+BGO6DfwSlStRgrX2ZQKSkQsY5f+wTMj18TGldDcZPojK

as you can see, it is truncated.

(logs on transmitter shows data was fully sent, uncorrupted, and successfully received uncorrupted and full size on other devices such as an ESP8266, so the problem must be the XIAO).

chars < and > are delimiters for the encrypted data.

As far as I know, on any other device, method .read() will read one byte at a time and remove it from the buffer (whether hard/soft serial). I have no clue why this does not work on the XIAO.

Help would be appreciated.

Hello, happy to help you, can you tell me which XIAO you are using?

Hi. Sorry. This is the XIAO SAMD21 « cortex m0 » something.

any updates?
I guess it’s 64 bytes because it’s an extension on the arduino libraries (where serial buffer is capped on 64bytes)?