Последовательный порт, если про него идет речь, в стандартных 64 байта в полне хватает, по крайней мере лично я, с его переполнением при обычной работе программы (с отрисовкой каких-либо служебных данных, графики, т. е. с попутным выполнением кода на который необходимо затратить некоторое время контроллера) не сталкивался.
Однако, если тупо заваливать командами одну за другой GRBL на Arduino UNO, то через некоторое время UNO не успевает их отрабатывать, и выводит в ответ "ERROR" (при этом станок сходит с ума, начинает чудить, едет куда попало ... и тому подобное), похоже тут и появляются проблемы с буфером.
Стандартный режим отправляем команду --> ждем ответ --> отправляем следующую --> ждем, и так в цикле, почему то не работает (ломал долго голову, вроде алгоритм правильный, код нормальный, и все должно работать, но нет). Выход нашел примитивный - установка паузы delay(X), после каждой оправленной в буфер строки с командами, где X не мене чем 40 мск. Проблема сразу ушла, ошибок не выдает.