Modify an off-the-shelf CP2102 module as an Arduino programmer

in Arduino, how-to by DP | 7 comments


Kerry D. Wong wrote an article on how to modify a CP2102 module as an Arduino programmer:

To make it work with the Arduino bootloader, one easy approach is to disconnect the RST header pin from CP2102 pin 9 and connect it to the DTR pin (pin 28) instead. While in the Arduino schematics, the reset pin is connected to the ATmega328P pin 1 (RST) via a 100 ohm resistor, this connection is not strictly needed as pulses from the DTR pin (connected to ATmega328P pin 1 via a 100nF capacitor) will reset the MCU properly during programming. The two pictures below illustrate the connection between the module RST header and the RST pin of CP2102.

This entry was posted in Arduino, how-to and tagged , .


  1. Max says:

    Yup, had/have the same problem. Unfortunately, a rather strong distaste for that sort of bodging prevents me from doing the same (the pin is not accessible as a PCB trace sadly). But for anyone who wants to go for it – more power to you… :)

  2. alco says:

    I also wrote something about the modification of a cheap FTDI adapter. Basic exact the same thing as Kerry.

    see it on:

  3. Instead of modifying the USB-TTL adapters, I modified the AVR board and the avrdude software to reset the AVR with a break signal. This way just Rx, Tx, Gnd and Vcc are needed.

  4. Instead of modifying the USB-TTL adapter I modified the AVR board to reset with a serial break signal.

  5. Max says:

    @Ralph: Thanks for the idea, although to be fair I think I’d rather implement it as a tiny ‘M-F pin strip adapter’ between the CP2102 and any Arduino. It would be indeed exceedingly useful to have official support for this – too bad the Avrdude guy is being unreasonable (it’s really not like half the internet using cheap DTR-less dongles would profit or something, right…).

  6. @Max: your point about modifying just the dongle is a valid one. So what I’ll do is a version with the circuit on the USB-TTL adapter, with a breakout for the RST connection.

  7. AbraXas Doe says:

    I’ve found very nice info on this post. Thanks to all you

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.