Ultrasonic anemometer reading

$IIMWV,225.0,R,000.0,N,A *38$IIMWV,225.0A

your output looks this way probably because the receiving char array is 40 bytes long and the lines too

There is a bug in your code (you did't copy very well :wink:

your copy

    if (dataStream == '\n') // end of line
    {
      index = 0;
      data[index]  = 0; // string terminator
      processData();
    }

my original

    if (c == '\n') // end of line
    {
      data[idx]  = 0; // string terminator
      processData();
      idx = 0;
    }

do you notice the fundamental difference?