USB To RS232/TTL PL2303HX Cable Adapter

Nowadays it is typical that small embedded platforms and modules offer TTL level (5V or 3.3V) serial port interfaces in them. The easiest way to interface such port to PC is to use USB to TTL level serial port converter (it is easier than adding external TTL-RS232 converter board and then connect to normal serial port).

As you can see in the picture the device looks like just a simple adapter cable with USB connector on one end, and connectors that plug nicely into any common pin header on circuit board. The pin-out is: Black cable = GND, Green cable = TXD, White cable = RXD and Red cable = VCC (5V). For normal use you need to connect three wires: GND, TX and TX. The VCC wire is optional (if you want you can get 5V from it, directly from USB port so up to 500 mA might be possible).

I plugged the device to my PC. It was detected and drivers were automatically installed to Windows (I tried both Vista and 7). Teraterm terminal program detected it.

But when I tried to use it did not work. I did a loop-back test where I just wired TX and RX wires together. I should have received all the data I sent out, but I received nothing. It seem that the device is somehow broken. I even tried to check the signal on oscilloscope, and I did not see proper serial signal on the wires (just some noise like the pins that are floating – not actively driven high or low).

So I decided to take a look what is inside.This device is so cheap that I could risk not getting my money back on this. The case was pretty easy to open:

Here in this side of the circuit board we have one crystal and several passives. The PL2303 IC must be the other side of the circuit board.

Here is the PL2303 IC. Everything looks OK in this distance. Let’s take a closer looks.

In this more close picture I could see the IC nicely. I saw also that there is unused solder pad on the circuit board marked 3.3V. With a soldering iron I could move the red wire from 5V to 3.3 pad if I want 3.3V out instead of 5V. PL2303 datasheet tells that the maximum output current from 3.3V regulator would be 150 mA.

Take a close look at the pin 1 of the PL2303. Something looks there suspicious. Let’s take a closeup zoom to see what is going on here.

Now you can see. The pin 1 is not soldered to pad on the circuit board, the solder is missing there. The circuit board track shows that this is the same pin that goes to TX output pad on the board. So the problem that data does not flow must be here.

I fixed the circuit board by adding solder to this pin. I found out that the solder did not want to stick to the solder pad below the pin well, so I had to add more solder to make contact. Here is the result, not pretty but works.

Now the communication works well. I also did some research on 3.3V modification in mind. The PL2303 data sheet tells that the IC TX pin can operate at 5V, 3.3V and 3V levels. According my tests in the cable I have the TX pin operates at 3.3V signal level (it is enough for standard 3.3V and 5V logic). The RX pin is 3-5V tolerant. So the adapter would work well no matter if the output circuit operates with 3.3V or 5V. I can safely interface the TX and RX pins to 3.3V and 5V circuits.

USB To RS232/TTL PL2303HX Cable Adapter Module Converter For Arduino adapter cable worked well when the manufacturing error was corrected with soldering iron. It sounds like the manufacturer has some production quality and testing problem (make bad product and does not detect problem on product testing phase before shipping). USB To RS232/TTL PL2303HX Cable Adapter Module Converter For Arduino was very cheap and otherwise built product. If you get a working product, it is a very good deal. In my case it was a little bit annoying that it did not work without some soldering. You cannot beat the price on this cable. Great deal when you get a working unit! Be wary that there could be quality issues in production.