Introduction: 99p Fix for PL2303HX USB Serial Converter Using FT232L
Having just found that none of my USB serial converters work with Windows 10 I looked for a good fix. There are forums suggesting software solutions but I was worried that these would involve downloading material from sites I was not confident I could trust – and might only be a temporary solution. The FTDI chip has always been reliable and is well supported by Windows so this looked the way to go. So the project here connects a 99p FTDI board to replace the functionality provided by the PL2303HX.
Note the problem has arisen because a Chinese company produced a PL2303HX clone and this was used on a vast number of USB serial converters made in China. Prolific, the legitimate company, made the PL2303HX rev A obsolete in 2012 and stopped driver support for it in Windows 8 and 10 (error Code 10). So if you buy a PL2303 based converter check compatibility and preferably look for the PL2303HXD and PL2303TA chip versions.
Parts needed:
- USB RS232 converter using prolific PL2303HX chip and giving code 10 error
- USB to TTL FT232RL FTDI Serial Adapter Converter Module for Arduino 3.3V / 5V (ebay 99p)
Step 1: Removing the Crystal and Chip and Preparing the FTDI Module
The crystal could be left in place but is not too difficult to remove. I decided to remove it because it is the highest component and might get in the way. I removed it using a standard soldering iron and a modelling knife. I got the knife blade under one end and applied pressure while heating the nearest pin. I then repeated this at the other end and then went back and forth until it was off.
The chip is most easily removed using a hot air soldering station. If you also have a heating plate to provide some heat to the underside of the board you will be surprised how quickly it comes off. See https://www.instructables.com/id/Heating-Plate-for-SMD-Soldering-Simple-Small-and-L/ . I had the heating plate set to around 180C and the hot air iron set to 250C.
If you only have a standard soldering iron the approach I would recommend is to score the chip pins next to the chip body using a modelling knife. The objective is to weaken them but not cut through. If the knife goes through it moves the pin and risks damaging the PCB track. In this case it is not too serious if tracks gets damaged as we are not replacing the chip – so a good opportunity to perfect the technique.
While doing removals also unsolder the USB lead connections, noting the positions of black (ground) and red (5v).
The FTDI module would fit better without its pin connectors. So I removed the 6 way right angle connector and the 3 way voltage selector. I did this by removing one pin at a time. Apply the soldering iron to one side while pulling the pin with pliers on the other. It is very difficult to remove the headers complete and the extra de-soldering time risks damaging the circuit board. I replaced the voltage jumper with a wire link from the middle pin to the 5v pin.
Step 2: Wiring
First I needed to find the serial connections. This was easy. I used the PL2303 data sheet to identify the relevant pins and followed the PCB tracks to find a convenient place to solder wires. In many cases there will be a ‘via’ through the PCB. These will take fine enamel insulated wire.
Here is an image from the PL2303HX datasheet:
The pins that need to be connected are:
- TXD
- DTR
- RTS
- RXD
- RI
- DSR
- DCD
- CTS
- SHTD
I found the need for the latter connection the hard way!
It is obvious where most of these connect on the FTDI board (TXD-TXD, RXD-RXD etc) except for DSR that connects to RSD (misprint?) and SHTD should be connected to SLEEP. The later shuts the RS232 chip down if USB is not connected.
28SWG (0.375mm overall OD) wire fitted well, but finer could be used. I cut 9 pieces 55mm long, then scraped the enamel off the last 1mm each end and tinned ready to solder and be able to check connectivity when soldered.
I used solder paste for the soldering as it is easier to get a small amount in place. Fine solder wire could be used. I inserted the wires from the component side until they got to the other side and then applied a dab of paste and soldered, giving a few seconds for the heat to enable the solder to wick up the wire. Some of the vias had solder in them. In these cases I pressed the wire to the opening while heating the other side until the wire slipped in.
The board now looks like:
We need to connect these 9 wires plus ground and 5v to the FDTI board.
I anticipated attaching the boards to each other using double sided tape. Hence the plan to do the wiring into the component side.
It is a good idea to round the edge of the PL2303 board to reduce possibility of damage to the wires. I first removed the capacitors next to the crystal (not needed) and then filed a 6mm wide indentation, rounded this, and put a layer of insulation tape over for luck.
I soldered wires for ground and 5V from the PL2303 board to FTDI module first. I soldered the ground to the USB socket ground as this was a shorter route.
I positioned the two boards and then cut some double sided tape to fit (the 1mm thick foam type) and affixed it in place.
Then with FTDI board placed in its final position I cut the wires to 3mm beyond their designated holes and soldered them in place.
Step 3: Test and Finishing
I then did a test. I fortunately have a RS232 port on my PC. Hence I was able to connect the modified converter to both this serial port and USB. Note this needs a null-modem serial lead or a null-modem connector. I then started two instances of Realterm (https://realterm.sourceforge.io/) (my favourite terminal program for serial testing). I set both to 115200 baud and then sent a text string each way.
Lastly I used some heat-shrink sleeve to give a casing (19mm round /34mm flat, a few mm smaller would also have worked). I considered using the original case but it was going to need quite a bit of work to accommodate the additional board.
I now have a neat USB mini to RS232 converter:
I hope you find this useful.
Mike