I don't think doing serial communications in Visual C++ is a nightmare, so long as you stay away from some of the more advanced features like "overlapped I/O". You just open a handle to the port using CreateFile. The name of the port will look like: "\.\COM1". Because this is C++, you need to escape the backslashes, so in your code it will look like "\\.\COM1". (Thanks Microsoft for not using forward slashes like every other O/S on the planet!) Then use ReadFile to read from the device, WriteFile to write to it. If you are an experienced programmer, you may want to create a separate thread to run your serial monitor code in, so that your main dispatch thread doesn't get stuck waiting for stuff to happen on the serial port. If you aren't used to multithreaded programming, then yes, you are in for a nightmare! ![]()