Thanks for the reply. I understand what you guys try to say. I tried Chr() in my code, it works well.

My issue here is the speed. When I used putty to receive data, it can take 8x more data than using VB SerialPort.ReadChar(), with Chr(dec), or Convert.ToChar(dec), those two are about same speed. I originally thought the decimal to char conversion slows down the data transmission. Then I realized MySerialPort.ReadByte() runs about same speed as well.

So maybe batch processing i.e. reading from a buffer would improve more? Any suggestions?

Thanks for your help, I really appreciate.