Mod a USB to TTL Serial Adapter (CP2102) to Program Arduino Pro Mini Like the FTDI Board With Auto-reset





Introduction: Mod a USB to TTL Serial Adapter (CP2102) to Program Arduino Pro Mini Like the FTDI Board With Auto-reset

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 would give a 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.

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 glue it with a drop of super glue, (not on top of the pin) just to give some mechanical strength.

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
  • Clocks Contest

    Clocks Contest
  • Planter Challenge

    Planter Challenge

We have a be nice policy.
Please be positive and constructive.




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

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

2 replies

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.

your link is broken

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

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

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

Work perfect!!!

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

Nice work. Thanks for sharing this!