Modding Auto-reset to CP2102 USB to TTL Serial Adapter to Program Arduino Pro Mini Like the FTDI Board




About: I like to make stuff

This USB to TTL Serial board based on the CP2102 chip, is readily available on eBay. And it can be used to program the Arduino Pro Mini and others which don't have USB on board. But it's not as convenient as the FTDI board sold by spark fun.

The pin out of the USB adapter and the Arduino doesn't match.
And the USB adapter doesn't have a auto-reset pin, so every time you have to hold reset at the exact time you hit upload a new code.

So I will address both of this issues here.

CP2102 Datasheet:



Step 1: Desoldering the Pin Header

Step 2: Cutting a Piece of Perfboard

Just cut a piece of perfboard with a sawtooth, and sand the edges to make it smooth.

Then I used piece of steel wool to remove the oxidation layer of the copper to make soldering easier.

Step 3: Soldering

Using the same pin header removed earlier, I inserted it from the bottom and then soldered it on the top.

Step 4:

Then I trimmed the rest of the pin header with a old scissors and soldered it to the bottom side.

This makes a very solid connection.

Step 5: Very Thin Enameled Wire

I savaged a wire from a cheap broken pair of earphones, they are thin enameled stranded wire. I untwisted one of then and cut just one little strand to the next step.

Step 6: Auto Reset Feature

To use the auto-reset to upload code from the arduino IDE, we will use the DTR pin on the CP2102 chip.

On the data sheet we can find the pin-out.

NamePin #TypeDescription
DTR28*D OutData Terminal Ready control output (active low)

Unfortunatelly this board does not have this pin routed, bute there's a workaround.

Using the very thin enameled wire, burn the tip of the wire applying tin to it using the iron to remove the varnish coating.

Then remove all solder from the tip of your iron.

This can be done with naked eye, but if you find it difficult some magnification may help here.

place the enameled wire on to of the pin 28, there's no solder pad, it is small but it's there.

Them just touch the iron on top, it will solder instantly. (I got it on the first attempt)

Don't move it, it's very fragile, so just add a drop of super glue on the wire to give some mechanical strength. Do not put glue on top of the pin, glue the wire to a empty area on the board.

If you need some idea on soldering tiny stuff, I have a video repairing a iPad flex cable, with similar dimensions. Note that the video is great magnified.

Step 7: Soldering the Male Header

Step 8: Adding a Header to Select Voltage Using a Jumper

Step 9: Wiring

Step 10: Final Result

Some photos of the final result.

3 People Made This Project!


  • Woodworking Contest

    Woodworking Contest
  • Arduino Contest 2019

    Arduino Contest 2019
  • Colors of the Rainbow Contest

    Colors of the Rainbow Contest

13 Discussions


2 years ago

Great tutorial, thank you for sharing! I can only hope to make the DTR connection on the first try as you did. Chip


2 years ago

Which Programmer do you select in Arduino IDE to make this work?

2 replies

Reply 2 years ago

I've not been able to get this to work. But I suspect that my Arduino is defective. I can't program it from my Raspberry Pi's serial port, which I used to be able to do. I have been able to flash it using SPI though.


3 years ago

very nice =)


4 years ago on Introduction

nice! i need to make 25 of these so i am going to design a board and send it off for prodution. ill share the files once i get it done.! thanks for working this out.

1 reply

Reply 3 years ago

If you search hard enough you should find this CP2102 adapter that have six pinout


4 years ago

Fantastic!!!!! I really like this project.

Work perfect!!!


4 years ago

Smart idea! I really like this project. Thanks for shearig :)