Спасибо за подсказку. Почти так и сделал, только буфер последовательного порта > 128 байт не получается применить - не работает. Но даже с буфером 126 байт скорость вывода получилась практически теоретически достижимая. На 115200 - около 7 сек. На 256000 (оказывается ардуинка и такую скорость поддерживает!!!) - около 4 сек. Эксперименты с выводом картинки завершил 
	PHP код:
	
#include <S65Display.h>
S65Display lcd;
byte volatile data[126];  //массив входных данных
int n=0, nbuf=126; // индекс массива, размер буфера
byte x=1, y=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 = 0; i < nbuf; i++) data[i] = Serial.read();  // прочитать данные из порта в массив 
       for (int i = 0; i < nbuf/3; i++) {
           lcd.drawPixel(x ,y ,RGB(data[n],data[n+1],data[n+2])); // вывод пикселя на экран
           x++; // увеличиваем значение X
           n = n + 3;
           if (n > nbuf-1) n = 0;
           if (x > 176) {
             x = 1;
             y++; // увеличиваем значение Y
             } 
           }
         }
}