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.