Arduino Examples #2 Use an Arduino As a FTDI Programmer

235,575

147

45

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

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

Step 2: 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

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.

Participated in the
Microcontroller Contest

Share

    Recommendations

    • Colors of the Rainbow Contest

      Colors of the Rainbow Contest
    • Classroom Science Contest

      Classroom Science Contest
    • Growing Beyond Earth Maker Contest

      Growing Beyond Earth Maker Contest

    45 Discussions

    0
    None
    Ali Qureshi

    Question 6 weeks ago on Step 3

    As far as I have searched in order to send AT commands from Arduino mega to TP link we need an FTDI cable for Serial to USB conversion (or vice versa). If I want to use the Arduino mega with same methodology to send "AT commands" to a TP Link will that work or not?

    0
    None
    AdityaB102

    5 months ago

    no need to remove. just connect RST to GND, the firmware first addrs $xxh never execute. ;)

    0
    None
    magnocampos

    2 years ago

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

    0
    None
    goldenshuttle

    2 years ago

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

    0
    None
    FirdousP

    3 years ago

    How do I get ip address using esp8266

    0
    None
    SrikerD

    3 years ago on Introduction

    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

    0
    None
    aephy6longtomo

    Reply 4 years ago on Introduction

    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

    0
    None
    Lotrax

    4 years ago on Introduction

    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.

    0
    None
    Omkar_R

    4 years ago on Introduction

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

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

    1 reply

    I've had the same problem. Researching on another thread (

    https://www.instructables.com/id/Uploading-sketch-to-Arduino-Pro-Mini-using-Arduino/) , 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. ;-)

    0
    None
    lucas.golino

    4 years ago

    CTS and GND is connected in GND on arduino?

    0
    None
    JuliusR

    4 years ago on Introduction

    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.

    0
    None
    danny2707

    4 years ago on Introduction

    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?

    0
    None
    Trey Frost

    8 years ago on Step 2

    Do you have to remove the micro controller? Wouldn't it be easier to just reprogram it after you disconnect the other Arduino?

    3 replies
    0
    None
    qazwsx755Trey Frost

    Reply 8 years ago on Step 2

    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.

    0
    None
    AptPupilqazwsx755

    Reply 6 years ago on Introduction

    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.

    Thanks,
    AptPupil