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

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: https://www.sparkfun.com/datasheets/IC/cp2102.pdf

Drivers: http://www.silabs.com/products/mcu/pages/usbtouart...

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.

https://www.youtube.com/watch?v=eEjT9_h6ciA

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.

Comments

author
Mati_DIY made it! (author)2017-02-13

Thanks for sharing! Quick and easy solution, works great!

20170213_210949.jpg
author
chipmc (author)2017-01-11

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

author
sasnull made it! (author)2016-06-13
I made it! it works perfectly!

Thanks for sharing!

1.jpeg2.jpeg
author
Vitim (author)sasnull2016-12-28

cool!

author
richieacc (author)2016-08-31

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

author
JacobJ44 (author)richieacc2016-09-14

AVRISP mkII

author
richieacc (author)JacobJ442016-09-15

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.

author
caleb360 (author)2016-03-03

very nice =)

author
nitishdash2010 (author)2015-01-02

nice work. but it really requires precise soldering skills. will put on my site though age my self making it: Electronics Everyday

author
Vitim (author)nitishdash20102016-02-08

your link is broken

author
raptor_demon (author)2015-02-05

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.

author
fxstrike (author)raptor_demon2015-12-04

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

author
vrestihnat made it! (author)2015-07-16

Sacrificing pin 3V3 is cheaper more invasive and less universal alternative of this tutorial. For using with the Arduino this one can be recommended.

CP2102_H.JPG
author
RubenS3 (author)2015-01-30

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

Work perfect!!!

author
ibenkos (author)2014-10-18

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

author
seamster (author)2014-09-08

Nice work. Thanks for sharing this!

About This Instructable

84,294views

61favorites

License:

Bio: I like to make stuff
More by Vitim:Recycling old car radio into an audio amplifierRemote Volume Control for Old Stereo AmpMake you own custom remote control for your project
Add instructable to: