Let's Make Robots!

USB <--> UART TTL

Cheap and easy USB interface for programming and communicating with microcontrollers

My work with ATmega microcontrollers was based mostly on ATmega168 and ATmega328 with Arduino bootloader on custom boards. For programming and communication through UART between the ATmegas and PC I have used commercial USB <--> RS232 adapters and custom RS232 <--> UART TTL boards with MAX202 and MAX3232.

I did not buyed FTDI based ones because I think those are too expensive and I did not found old Nokia communication cables like Ro-Bot-X detailed on a tip here.

I was commited to buy some interfaces from yourduino but few days ago I have found (searching for something else, actually) a USB <--> UART TTL adapter based on CP2102 and for a little more then 4$ a piece and I've buyed 2. What those boards miss is the Arduino style reset for programming microcontrollers so I've modified them :)

Here are the modifications:

  • drill a 0.8mm hole between the top (unpopulated) connector and the right (populated) connector;
  • cut the trace that goes to the pin marked RST somewhere between the drilled hole and the top connector;
  • solder a 100nF capacitor from the pin 1 of the top connector and the RST pin - I have used two pieces of wire insulation on the capacitor pins.

and two images with original and modified boards:

front view

back view, the red X is the place where I've cut the original trace

The interface connected to an ATmega168 on the breadboard - worked OK:

Cable connections for ATmega168/328:

  • interface's RST pin should go to the ATmega's pin 1 (Reset) - only for programming;
  • interface's RX pin should go to the ATmega's pin 2 (RX);
  • interface's TX pin should go to the ATmega's pin 3 (TX);
  • interface's GND pin should go to the ATmega's GND pin.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I tried this and all that happens is that the PCB under the SMC gets really hot and the LED doesn't come on any more.  Dang it...

I did not had problems with the two boards I've brought.

Did you cut the original reset trace ?
Did you made the correct connections ?

Yep. The only differences I can see between the boards are that my original Reset pin is where your Txd pin is (so that's the trace I cut) and my jack is USB B. The overheating takes place with or without the pin ends plugged in. Think I just fried something adding the cap?

Could you provide us a few photos of your board?

Yep. The only differences I can see between the boards are that my original Reset pin is where your Txd pin is (so that's the trace I cut) and my jack is USB B. The overheating takes place with or without the pin ends plugged in. Think I just fried something adding the cap?

Nice and clean.

It looks almost the same as the hack Gareth did here: http://letsmakerobots.com/node/32100

electrically the same mod (like in the original Arduino schematics) but more easy with these board because of the unpopulated edge  connector.