Leggere Byte da Seriale

SAlve ragazzi,
ho provato un po in giro, ma ciò che ho trovato non è molto di aiuto.
In pratica da C# invio 4 byte alla seriale di arduino in questo modo:

int val=Convert.ToInt16(valore);
			byte[] bar = BitConverter.GetBytes(val);
			foreach (byte array in bar) 
			{
				Seriale.Write (Convert.ToString(array));						
			}

mentre su Arduino ho scritto quanto segue:

byte val;
 
void setup() 
{
  
  Serial.begin(9600);
}

 
void loop () 
 {
  if ( Serial.available())
    {val = Serial.readBytes();
   Serial.print(val);
   Serial.println();
   //delay (50);
 }
  }

Il problema è che sul monitor vengono visualizzati i singoli valori di ogni byte, ossia:
se mando 100 0 0 0 sul monitor mi ritrovo con 1 0 0 0 0 0 .

QUalche suggerimento?

Ciao e grazie

Ho appena risposto ad un quesito identico:
http://forum.arduino.cc/index.php?topic=281663.msg1977663#msg1977663