// BufferedOutput_at_115200.ino #include "BufferedOutput.h" createBufferedOutput(output, 66, DROP_UNTIL_EMPTY); // modes are DROP_UNTIL_EMPTY, DROP_IF_FULL or BLOCK_IF_FULL const uint32_t BAUD_RATE = 115200; unsigned long loopCounter = 0; unsigned long startTime = 0; void setup() { Serial.begin(BAUD_RATE); for (int i = 10; i > 0; i--) { Serial.print(' '); Serial.print(i); delay(500); } Serial.println(); Serial.print("BAUD_RATE = "); Serial.println(BAUD_RATE); output.connect(Serial); // <<<<< connect the buffered output to Serial } void loop() { output.nextByteOut(); // <<<<<<<<<< need to call this each loop to release next byte from buffer if (loopCounter == 0) { startTime = millis(); } loopCounter = loopCounter + 1; // or loopCounter++; i.e. add one each loop output.println(" a very looooooooooooog msg with looooooooooooots of data"); // <<< use output instead of Serial output.print("Loop:"); output.print(loopCounter); output.print(" mS:"); output.println(millis()- startTime); // rest of loop delay(1); // assume the rest of your sketch code takes 1mS to execute }