Arduino Examples #2 Use an Arduino as a FTDI Programmer

Picture of Arduino Examples #2 Use an Arduino as a FTDI Programmer
In this instructable I will show you how to use an Arduino Uno, Duemilanove, Diecimila, Mega 2560, Mega 1280 or Nano to program an Arduino Pro, Pro Mini, Mini, LilyPad or any other device with a ATmaga168, ATmaga328 using an Arduino. But this only works on 5v boards NOT 3.3v boards. If you have any questions, comments or suggestions for other Arduino examples please feel free to leave a comment and I will write back as soon as i can.
Remove these adsRemove these ads by Signing Up

Step 1: Get The Hardware Required

Picture of Get The Hardware Required
Hardware Required
1-arduino Duemilanove, Diecimila or Nano
1-6 pin female header
6-jumper wires

Step 2: Wire It Up (5v Boards)

Picture of Wire It Up (5v Boards)
First you should remove the micro controller from the board you don't want to program or else you will be programing both micro controllers. Next connect jumper wires between the Arduino and header as shown in the photo below. Then go to the next step to program the Arduino.

Step 3: Program The Arduino

Picture of Program The Arduino
Now using your computer open up the Arduino software. Then connect your 2 Arduino's together and to your computer. Next go to tools and select  the board you want to program After that if you want to test it out you can copy and paste all the text between the //. Then upload the program to your Arduino and the led connected to pin 13 should blink.

void setup() {  // this sets the output pins

pinMode(13, OUTPUT); // Pin 13 has an LED connected on most Arduino boards:

void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
If you have any questions, comments or suggestions for other Arduino examples please feel free to leave a comment and I will write back as soon as i can.

when i upload my Program to arduino pro mini (5v) using uno it show me " avrdude.exe: stk500_getsync(): not in sync: resp=0x00 " and it doesn't work ... can anybody help me ??

I've had the same problem. Researching on another thread ( , the RESET pin on UNO R3 on that thread is linked with GRN pin on Mini (5V), and not with BLK pin as this thread indicates. The others pins follows the same as indicated here. So just change the RESET pin on UNO to be wired with GRN pin on Mini and NOT with BLK pin.. It worked for me. Hope this can help you. ;-)

lucas.golino4 months ago

CTS and GND is connected in GND on arduino?

JuliusR5 months ago

Can someone please tell me where I can find the corresponding pins on a arduino nano. I can't find pins labelled: RTs, Rxd, Txd, Vcc,Cts, Gnd .

Please someone help me to identify the right pins on my arduino nano so I can program it from my arduino uno. My nano is playing up and I can't program it the conventional way, so much help is appreciated.

danny27078 months ago

when i go to upload the .ino sketch which board i have to select into tools->board->(Arduino UNO or Arduino Por or Por mini 5v)... it's just valit to 5v nano no for 3.3 volts?

Trey Frost4 years ago
Do you have to remove the micro controller? Wouldn't it be easier to just reprogram it after you disconnect the other Arduino?
qazwsx755 (author)  Trey Frost4 years ago
No, you don't have to remove the micro controller from the Arduino with the built in FTDI chip but yes you would have to reprogram the Arduino then.
Is the same true for the Mega 2560? It just uploads the sketch to the programming board, in this case the Mega 2560, as well as the board being programmed, in this case, a breadboard arduino with an ATMega8 with bootloader? I just don't have the money for an FDTI. Any help would be appreciated.


AptPupil, were you able to use your Mega to program the pro mini?

Roblee, can't remember off hand. it seems like I had troubles doing so. It's been a while since I've done anything with my electronics or I'd try now. But, I'm just taking a break from studying (I am going back to school to become an industrial electrician). I think I ended up using my Uno.
I would think that if you shorted the RESET pin on the ATmega to GND, then it basically removes the IC from the circuit, making the FTDI chip the only thing you'd be programming. I've been wrong before however, so it's worth testing...
You cannot shorten the reset to the GND becasue it is connected to RTS on the mini...
Omar Tarek8 months ago

Plese put an image to show the connections between arduino uno board and atmel32 or any avr mcu

Omar Tarek8 months ago

Plese put an image to show the connections between arduino uno board and atmel32 or any avr mcu

chubsky8 months ago
it worked with my uno r3 to program a 5v pro mini 328
LokeshBhat9 months ago

Hello, I'm using freeduino board to program arduino nano(Atmega 328p). I have made exact connection which is shown above. But the things are not working out for me. Hoping for a helping hand..

Gabry2951 year ago

I have an Arduino UNO and an Arduino Lilypad, can I do this with lilypad?

Gabry295 Gabry2959 months ago

Yes I can :3

hamr11 year ago

How i can Connect Arduin Uno With Arduino Ethernet

godito2 years ago
Hi there,
are you sure it works with the UNO as well? I used to use the 2009 w/o problems, but now with the UNO I cannot get it working. Is it an issue with the IDE version perhaps?
npostma godito1 year ago
Yes It works like a charm :-)
mpitt godito2 years ago
It wil not work with the Uno because it no longer has a FTDI chip to do USB/TTL conversion. It has an ATmega8U2 instead.
npostma1 year ago
Works like a charm with an Arduino UNO rev 3! Just remove the chip, no jumper settings are needed :-) I have been struggling with other tutorials to get it done, I wanted to use the arduino as an ISP (Like i do it with an AttinyXX) no succes there.

Thanks for this tutorial!
I just bought a mintduino kit from radioshack (breadboard arduino kit) but I wasn't aware I needed an ftdi cable to program it. Will an arduino uno be able to use this method to program it? I am fairly certain it uses an atmega128.
santa12342 years ago
hi there!

does anybody knows if it's possible to program an arduino pro mini, or any other type of arduino via an arduino micro? I know that it doesn't have a dedicated chip for USB communication like Uno.

vieruandrei2 years ago
i can do uart communication with a microcontroler using only ftdi on the arduino ?i need high transfer speed in my project
bhar922 years ago
Do you know of any modifications we might have to do to use the UNO for FTDI programming?
ok yea see right before i figured out the problem i tried this method (before i saw this post) to blank/program my nano, this method didnt work for me and i even tried changing it up a bit using this method in slightly different ways, i wont go into detail cuz they didnt work, but for what its worth this didnt work for me so im kinda personally labelling it as a crock, but that doesnt mean it wont work for someone else, who has better luck, sorry if i offended your work in any way but as i said i tried this before i even saw your instructable
REA4 years ago
slightly unrelated question: what did you use to make the picture of the arduino and the circuit? ive seen other 'ibles with pictures that look like this.
adrian.robb REA4 years ago
I believe it's called Fritzing:
REA adrian.robb4 years ago
oh, hey look at that! thank you very much!
adrian.robb REA4 years ago
No problem ;P
saastamo4 years ago
Does the receiving chip have to have arduino bootloader? I need a programmer for ATtiny 2313. So there won't be bootloader but I just want to put my program in. I mean I wanted to use it like the USBtiny in
qazwsx755 (author)  saastamo4 years ago
Yes the receiving chip does has to have the arduino bootloader or it won't program right. You would have to use an ATmega328 with Arduino Bootloader available at or an avr programmer.