Спасибо за подсказку. Почти так и сделал, только буфер последовательного порта > 128 байт не получается применить - не работает. Но даже с буфером 126 байт скорость вывода получилась практически теоретически достижимая. На 115200 - около 7 сек. На 256000 (оказывается ардуинка и такую скорость поддерживает!!!) - около 4 сек. Эксперименты с выводом картинки завершил

PHP код:
#include <S65Display.h>

S65Display lcd;

byte volatile data[126];  //массив входных данных
int n=0nbuf=126// индекс массива, размер буфера
byte x=1y=1// текущие координаты

void setup(){  
  
//init LCD
  
lcd.init(4); //spi-clk = Fcpu/4
  //clear screen
  
lcd.clear(RGB(0,0,0));
  
Serial.begin(256000);
}

void loop(){
 if (
Serial.available() == nbuf) {
       for (
int i 0nbufi++) data[i] = Serial.read();  // прочитать данные из порта в массив 
       
for (int i 0nbuf/3i++) {
           
lcd.drawPixel(,,RGB(data[n],data[n+1],data[n+2])); // вывод пикселя на экран
           
x++; // увеличиваем значение X
           
3;
           if (
nbuf-10;
           if (
176) {
             
1;
             
y++; // увеличиваем значение Y
             

           }
         }