I understand (or am learning, rather) how both RS232 and USB work. What I am really curious about, and can not seem to find much information for, is what kind of disadvantages do USB to RS232 dongles have, if any? I understand driver issues and all of that, I mean is there any significant functionality of RS232 that is lost in the conversion, or can USB to RS232 conversions behave exactly like a native RS232 port?

Additionally, if some dongles are better than others (now with respect to both possible functionality and decent drivers, preferably linux based), do you have any suggestions for a good brand or model?


Driver issues aside the main disadvantage of USB to serial converters ports that I'm aware of is increased latency. Some embedded devices, wireless modems, device programmers and the like often use the flow control lines such as DTR and CTS for non-standard purposes. They may not work if they are timing critical or transitions are required in between a sequence of data. I've encountered several devices like that, mainly older designs from when RS232 was more popular and always implemented as a standard UART.

Technically the USB driver stack also introduces some additional overhead and can cause some issues with old DOS applications. But neither of those is much of an issue with modern PCs and operating systems.

  • \$\begingroup\$ Exactly, You can not use USB-to-Serial Converters for Flashing softwares!! It's only for Communication! \$\endgroup\$ – Swanand Apr 10 '13 at 4:59
  • \$\begingroup\$ @Swanand - I use USB-to-serial to flash firmware, it works perfectly. But I always use FTDI devices. There are plenty of bad ones out there which won't work because they buffer the data or do not obey standards. \$\endgroup\$ – John U Apr 10 '13 at 8:00
  • \$\begingroup\$ I've experienced this increased latency first hand - I tried to transmit two serial bytes back to back but found that the FTDI was dropping bytes. I had to add a 150us delay after transmission to fix it. \$\endgroup\$ – AngryEE Apr 10 '13 at 16:08

Unlike USB to Parallel Port, which are really often usb to ltp printers adaptors only, Usb to Rs232 adaptors are fairly consistent in how they work and how well. Never had an issue with one on a variety of devices, but that's just anecdotal evidence.

That said, the brand of the adaptor itself rarely matters, for the same reason they work so well. It's the IC that the adaptors use that matter. While there are some obscure or in-house made ones, the majority at this point are based on 3 ICs:

  1. Prolific PL2302 (Personally, easiest to use for embedded hacking)
  2. FTDI FT232
  3. Silicon Laboratories CP2101

And the various new revisions of each chip as well. You can find these ics in any given usb to serial adaptor, and there is full drivers for Windows/OSX/Linux. And each is often paired with a Max232 or similar level shifter for rs232 12v logic support, or otherwise has ttl or cmos level outputs (3.3v vs 5v)

So finding a good adaptor requires that you know what signal level you need (12v/5v/3.3v), and pretty much that is it.

  • 1
    \$\begingroup\$ For applications consistent with the design goals of USB, they work well. But drop one into a latency-critical application, and you will notice a performance drop, or even outright failure (if the application cannot wait out the latency) \$\endgroup\$ – Chris Stratton Apr 10 '13 at 14:50
  • \$\begingroup\$ I've found quite a few annoyances with FTDI chips; I'm not sure if others are better. Among other things, if a device sends out some data followed immediately by a long break, FTDI devices will often report the break but discard the data that preceded it. This can be very annoying if a device dies in such fashion as to drop and hold the serial line low, since it means the last data before it does so (which may indicate what's going wrong!) will be lost. \$\endgroup\$ – supercat Apr 10 '13 at 19:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.