Introduction: 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.

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.


magnocampos (author)2017-03-10

That's a nice tutorial for arduino UNO, but, if you want to use Arduino nano?? best regards, Campos

goldenshuttle (author)2016-11-29

arduino mini is the only shitty Arduino product. always stubborn to take code.

FirdousP (author)2016-04-16

How do I get ip address using esp8266

SrikerD (author)2015-09-29

how can i program my promini 3.3v,8mhz with arduino uno is there any way to do this, please reply me asap i m in hurry

thank u in advance

longtomo (author)2015-04-10

How can I upload sketch to Pro Mini using Mega2560?
I can't seem to do so

aephy6 (author)longtomo2015-06-18

I guess you cant do it with Mega2560, cause you cant remove the Atmega2560 IC from it, and when you connect it, the arduino IDE will detect the 2560, not the Pro mini

Lotrax (author)2015-05-07

I did exactly as you said, but I get this error message: avrdude: ser_open(): can't set com-state for "\\.\COM12"

What does this mean? Everything is connected correctly, I removed the AtMega from the UNO.

victor.valadez.547 (author)2015-04-29

There is a good tutorial titled: "Arduino Uno R3 as a true ISP programmer for any Attiny and Atmega AVR", see:

You can upload any hex file you want in any AVR micro-controller just using "avrdude" and an Arduino Uno R3 board that runs ArduinoISP.

Omkar_R (author)2015-04-14

I want to upload program on 'Arduino Pro Mini 328 3.3V /8MHz' using 'Arduino Uno'. What procedure would I have to follow?

ayesh.kahawala (author)2014-07-26

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.golino (author)2014-11-08

CTS and GND is connected in GND on arduino?

JuliusR (author)2014-10-18

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.

danny2707 (author)2014-07-25

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 Frost (author)2011-03-15

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 Frost2011-03-19

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.

AptPupil (author)qazwsx7552012-09-18

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.


roblee357 (author)AptPupil2014-07-12

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

AptPupil (author)roblee3572014-07-13

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.

WineSoaked (author)qazwsx7552012-02-15

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...

elkafoury (author)WineSoaked2013-10-24

You cannot shorten the reset to the GND becasue it is connected to RTS on the mini...

Omar Tarek (author)2014-07-11

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

Omar Tarek (author)2014-07-11

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

chubsky (author)2014-07-04

it worked with my uno r3 to program a 5v pro mini 328

LokeshBhat (author)2014-06-30

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..

Gabry295 (author)2014-03-13

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

Gabry295 (author)Gabry2952014-06-24

Yes I can :3

hamr1 (author)2014-02-21

How i can Connect Arduin Uno With Arduino Ethernet

godito (author)2012-04-16

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 (author)godito2013-08-13

Yes It works like a charm :-)

mpitt (author)godito2012-09-09

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.

npostma (author)2013-08-13

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!

absolute zero (author)2013-04-11

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.

santa1234 (author)2013-03-17

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.


vieruandrei (author)2013-02-12

i can do uart communication with a microcontroler using only ftdi on the arduino ?i need high transfer speed in my project

bhar92 (author)2012-12-25

Do you know of any modifications we might have to do to use the UNO for FTDI programming? (author)2012-10-26

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

REA (author)2011-02-03

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 (author)REA2011-02-06

I believe it's called Fritzing:

REA (author)adrian.robb2011-02-07

oh, hey look at that! thank you very much!

adrian.robb (author)REA2011-02-07

No problem ;P

saastamo (author)2011-01-22

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)saastamo2011-01-22

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.

About This Instructable



More by qazwsx755:Arduino Examples #2 Use an Arduino as a FTDI ProgrammerArduino Examples #1 Make An RGB Led Randomly Flash Different ColorsHow To Build a simple 1-25 VDC, SPST NO, 0.05A 1-70 VDC  Relay For Under $4
Add instructable to: