I've thought about the race condition... I'll look into it, especialy since I'm using a few local variables in the program.
As for the Bytes At Serial Port, by trail & error, I found I had to put that vi before the Read Serial Port vi or the Read vi would not work. Without using the Bytes At Serial Port vi, the readout would look like pure ASCII and did not make any sense. Assuming it *was* ascii, I converted several data points to decimal and it made no sense. By using Bytes At Serial Port, the gibberish ascii looking stuff became decimal and the data was correct. I grab 5 bytes because that gives me 3 digits right of the decimal point.
Richard