Modding Auto-reset to CP2102 USB to TTL Serial Adapter to Program Arduino Pro Mini Like the FTDI Board
Posted originally on Instructables Published Sep 8th, 2014
![](https://s3.us-west-2.amazonaws.com/secure.notion-static.com/6f48e795-04ff-4263-ace5-bcaeeaebe33c/Untitled.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45EIPT3X45%2F20231109%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20231109T211155Z&X-Amz-Expires=3600&X-Amz-Signature=9e40187ed1b1d390906ceef5786d592fc57a8fa88332183e97965a9d76f0ab4d&X-Amz-SignedHeaders=host&x-id=GetObject)
[https://www.instructables.com/Mod-a-USB-to-TTL-Serial-Adapter-CP2102-to-program-/](https://www.instructables.com/Mod-a-USB-to-TTL-Serial-Adapter-CP2102-to-program-/)
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 an auto-reset pin, so every time you hit upload a new code you have to hold reset at the exact time.
So I will address both of this issues here.
Before modification, this is what it looks like:
CP2102 Datasheet: https://www.sparkfun.com/datasheets/IC/cp2102.pdf
Drivers: http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx
Step 1: Desoldering the Pin Header
Desolder the pins from the board. Keep it, you're gonna re-use it later.
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 pin header
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.
Name | Pin # | Type | Description |
---|---|---|---|
DTR | 28* | D Out | Data 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.