Saturday, March 9, 2013

Modifying a cheap CP2102 USB to UART board to get a DTR pin (for Arduino programming)

I got this CP2102 USB to UART board from ebay recently as showed in my previous post. I got this mostly for Arduino progeamming using the Arduino bootloader in my ATMEGA328. Even though, this board has a pin called RST (Reset), it is not connected to DTR pin of the CP2102 IC. I have seen that many have stated that they had to face a problem in programming an Arduino using CP2102. I also faced this problem first. The problem was we all had tried to use this RST pin as the Arduino reset pin. If you try this you will get following error because this RST pin is actually connected to the Reset pin of the CP2102 itself. So, If you have did this and got this error this guide will help you to correct it and program your Arduino with this board.
Error: “avrdude: stk500_getsync(): not in sync: resp=0x00
When I check the CP2102 datasheet,I found out that the actual DTR pin is at pin #28 of the QFN-28 package.So,the only thing I had to do is soldering a wire to this pin.This is the pinout of the IC according to the datasheet figure:2.
Please note that the QFN28 is a really small IC package,You need to have good soldering skills to solder it using a normal soldering iron (like my $1 soldering iron).This is the actual photo of the board,the pin shown by the red arrow is the pin #28 in my case.Compare the pin size with a surface mount resistor.
I soldered a jump wire to this pin and used glue to secure the wire as below. The red arrow shows the wire I soldered to the DTR pin.
You can test the DTR pin using a terminal program. Here I’m going to use RealTerm for this. Just set the port number on Port tab and toggle the DTR as shown on the picture using DTR Set & Clear buttons. Just measure voltage between DTR & Ground pins when you toggle this.It should be Set=0V and Clear=3.3V if you have done everything correctly.
Now you can use this CP2102 board to program your  Arduino happily. I should thank Kalinga aiya for telling me about this DTR problem on these boards.
This is a really hard work for a beginner. I strongly recommend you to buy a pre-modified CP2102 board for your Arduino if you are going use such a thing for first time. Techkatha shop has this modified board for a very good price and they will ship too. Check there if you need a pre-modified board.


  1. Bro, can't we use PL2303HX for this. The chip is bigger and we can use pin2 for DTR right?

    1. I tried that,the problem is we have to solder to pin2 of that,hardly we can make it without connecting to nearby pins,in here the pin is at an end,so easy to solder. :D

    2. I thought the chip is bigger. hmmmm...

    3. Chip is bigger,but not SOIC,pitch is less :D May be able to solder with flux.I forgot to use flux :D

    4. Another possibility is modifying a MSP430 board,it got the USB - UART chip called TUSB3410.We have to solder DTR pin at 21 :D
      check the datasheet

  2. can't believe how lame that is...I thought this might be the case and sure enough you confirmed it...Thanks

  3. Hi, thanks for the info, good work, I've done but I had to put a capacitor of 100nF in series with the DTR to make work properly RESET. Thanks and greetings.