How do I receive more that 64 bytes with Arduino
Instead of blocking the loop for 500&nbsp;ms, you should be actively
reading the data as it comes. Otherwise the internal buffer of the
Serial object will overflow after only 64&nbsp;bytes are received.

Here is an example that copies the incoming bytes into a larger buffer
(256&nbsp;bytes) and, upon receiving an end-of-line character, echoes
back the whole line.

void loop() {
    static char buffer[256];
    static size_t pos;              // position of next write

    while (Serial.available() &amp;&amp; pos &lt; sizeof buffer - 1) {

        // Read incoming byte.
        char c = Serial.read();
        buffer[pos++] = c;

        // Echo received message.
        if (c == '\n') {            // \n means "end of message"
            buffer[pos] = '\0';     // terminate the buffer
            Serial.print(buffer);   // send echo
            pos = 0;                // reset to start of buffer
        }
    }
}