Inviare caratteri da pc ad Arduino tramite seriale

Ciao a tutti, è da un po' di tempo che sto cercando di comandare arduino da seriale. Per adesso riesco a comandarlo inviando un solo carattere, il problema sorge quando voglio inviare più di un carattere, per esempio on oppure off. Ho letto alcuni post qui sul forum ed in rete ma non ho capito molto. Ho capito che con Serial.read() posso leggere un solo byte alla volta e quando invio più di un carattere sto inviando più di un byte quindi dovrei creare un buffer che mi contenga tutti questi byte, uno per uno per poi concatenarli. Dovrei anche usare un carattere finale per fare capire ad arduino quando finisce la stringa. Ho anche letto che esistono altre funzioni per esempio Serial.ReadString(), stream.readBytesUntil(...), Serial.parseInt(...) ed altre.
I problemi sorgono quando devo creare questo buffer e quando devo confrontare quello che ho ricevuto con un testo scelto da me. Qualcuno può aiutarmi?
Grazie

Daniele

Qui un esempio di Gammon, in inglese, usando le stringhe (array di char terminati da null ovvero '\0' ) e non String class la quale da molti problemi.
http://www.gammon.com.au/serial

In generale con le stringhe si utilizzano i vari comandi di libreria standard strXXX():
Esempio strcmp confronta 2 stringhe.
http://www.nongnu.org/avr-libc/user-manual/group__avr__string.html