USB to serial (TTL/RS232) converter comparison

There are many integrated circuit products available for the USB to serial (TTL or RS232) conversion on the market. Serial communication protocols like RS232, RS485, RS422, USART, UART, LIN are still commonly used in industrial and commercial applications where only reasonably low communication speeds are needed. The hardware implementation is simple and low cost, so these protocols are also commonly used by hobbysts for communication with smaller microcontrollers (eg. arduino) or other devices (eg. relay/IO boards).


The most known producers of the USB to serial converters are FTDI, Prolific, Silicon labs, Nanjing QinHeng Electronics, Cypress and Microchip. I have used all of them but the Microchip devices and most worked as they should. If there is some major problems you may either have a hardware issue (eg. faulty or counterferit chip) or software issue (driver or end user software).

I mainly use the RS232 to serial converters of the first three listed producers in the field work. If you are buying serial to RS232 converter (end product) what you should really avoid is the cheapest devices with blob chips or without external MAX3232 or equivalent level shifter (only single chip in the converter). Two such drivers are shown here, one is a counterfeit PL23o3 (the one with the chip – there is a sigle transistor inverter on the other side) and the other is CH341 where chip die is bonded directly to PCB and then covered with black blob:


(Note that USB serial devices have slower response times and are more limited in operation than real serial ports of a computer (attached directly to PCI / PCMCIA bus) so some older software may not work with them. Before USB has taken over there were many AVR and PIC programmers on serial ports, some utilized additinal pins such as AVR Pony Prog and JDM PIC Programmer. These circuits will either not work with USB serial adapters or their preformance will be really dissapointing.)

Also keep in mind that some drivers may have tabelised baudrates, which may be problematic if you desire some exotic custom baudrate(not standard, very high or very low). If that is the case you should test first with oscilloscope to see if the device is actually operating at the set baudrate. For the RS232 link to work the baudrate error must be under 3%, for reliable communication under 1,5%.

So on to the quick review of the chips (not end devices) they offer.

All of the following chips have inbulit 3.3V regulator (which is required for USB part to work), all have Windows certified drivers, also Mac, Linux drivers. Mostly the VID / PID combination can be customised. Even the better ones will occasionaly disconnect / halt or even cause BSOD in challenging conditions (eg. plugging different grounds together when powered on), but under normal conditions all should work just fine.(Note also that i have seen some forum commenters confuse CH340/CP2102/PL2303 and attribute problems one chip had to another chip. So if anyone hasn’t notified you already: don’t trust everything you read on the internet 😉 )

(For easier reading this post is broken into multiple pages)

4 Comments on “USB to serial (TTL/RS232) converter comparison

  1. Thanks for the very good lesson on these devices. I have had mixed results with a few of then and always wondered why.

  2. Have had an issue controlling an old style equipment COM port which uses at least CTS/RTS. All types work once communications established. However, PC COM port and USB-Prolific able to establish communications unlike two different types of USB-CH340 neither of which can establish comms. Checked over several days (with in VBA both .RtsEnable or Handshake.RequestToSend and .None) so a real problem.

  3. Also is worth to mention, that some old software used direct port access (I mean out and in assembler instructions) and this wan’t work with USB converters at all.

    Anyway I make my own converter based on FTDI, GD75232, and TracoPower inverter. It have full 3/5 channels and hold voltage level on lines, when other line is shorted / overloaded.

Leave a Reply

Your email address will not be published. Required fields are marked *