ZylSerialPort.NET is a thread based, event driven, asynchronous serial port .NET component. Use ZylSerialPort.NET component to easily communicate with external devices on serial port connection, such as modems, bar code readers, GSM modules and others.
ZylSerialPort.NET is written 100% in C# using .Net framework and API calls. You can use it also with USB, infrared and Bluetooth devices, because these devices have a driver that redirects the input from the USB, infrared or Bluetooth port to a virtual serial port (you can check it in System/Device Manager/Ports). If your USB device is not provided with such a driver, then use a USB Controller whose vendor provides a Virtual Serial Port Driver, such as FTDI or use a USB/RS-232 adapter.