I reread that for loop, agree if within 100microseconds nothing will arrive it will skip the whole function as &&serial.available() will not be true. I added that 100 microsecond delay for that purpose. Was thinking of checking size of serial available but size will vary at different times one time will be 3 the other times 50 depending what i am expecting to arrive. Making delay longer will fill serial 64byte buffer and new data will not arrive. Any suggestions? By the way 100 microseconds were calculated as per 115200bps. 115200/8bits=14400bytes per second. 14400/1000’000microseconds=69.4microsecond gap or window between characters. So wait time of 70microseconds shouldnt be enough?