В общем категория вопросов уровня "сам спросил - сам ответил".
Нашёл код, отвечающий за отправку данных на ардуину:
public void serialWrite(char c){
//writes the entire string at once.
comPort.setComPortTimeouts(SerialPort.TIMEOUT_SCANNER, 0, 0);
try{Thread.sleep(5);} catch(Exception e){}
PrintWriter pout = new PrintWriter(comPort.getOutputStream());pout.write(c);
pout.flush();
}
удалил его и написал вот так:
public void serialWrite(char c){
byte[] b = {(byte)c};
comPort.writeBytes(b, b.length);
}
Не знаю насколько правильно, но работает как надо. Гуру, скажите, насколько такое решение верно.