Program Arduino Nano Via Uno With ICSP





Introduction: Program Arduino Nano Via Uno With ICSP

About: Curious by nature. Like to know how things works & love to learn about them. Especially electrical, electronics, mechanical, micro-processors.

Hello Friends,

In this instructable, i have shown that how can you program Nano via Uno.

As you can see in above image, my Arduino Nano's USB female pin is broken.

So i have to find way to upload sketch to it some way.

One day i was Google-ing, i have read somewhere that a Arduino board can be programmed via another Arduino board.

So by searching on it, i found a solution for this.

So lets get started to solve this.

Tools you will Need :

Arduino Uno ( which will act as a programmer )

Arduino Nano ( to be programmed )

Jumper Cables ( Some male-male, male to female.)

Step 1: Preparing Programmer

Attach your Arduino to PC.

Now, go to..

File > Examples > ArduinoISP > ArduinoISP

A sketch will open, upload it on Uno.

When uploading is done. unplug it from PC.

Now, take some jumper cables & attach Uno & the board you want to program just like the image above.

A ICSP pi out diagram is in another image. A (.) near 1 is first pin. on Arduino same . or 1 written near ICSP header.

Uno Nano

D13 > SCK

D12 > MISO

D11 > MOSI

D10 > RST (reset)

5V > VIN


Note : If your board's operating voltage is 3.3V then use 3.3V.

Step 2: Preparing Arduino IDE

When wiring is done.

Now we have to do some settings in IDE.

  • Go to Tools > Board & select Arduino Nano.
  • In Processor, select ATmega328.
  • & In Programmer, select Arduino as ISP. ("Arduino as ISP" not "ArduinoISP")

The settings is done.

  • Now, open up the sketch you want to upload on your Nano,
  • In Menu, go to Sketch & click on "Upload using Programmer"

IDE will compile the sketch & upload it to your Nano.

The RX TX leds will blink rapidly on both board, & you will see done uploading.

If not, then recheck all the wiring & settings.

If you get any problem or you want to give me suggestion, you can write in comment section below.

Happy Programming ^_^

2 People Made This Project!


  • Oil Contest

    Oil Contest
  • Clocks Contest

    Clocks Contest
  • Water Contest

    Water Contest

31 Discussions

serial monitor not shows in this way......


6 months ago

Live long and Prosper! you saved me hours and hours of headaches. I was trying to speed up the boot process of this nano project I have. All I needed to do is upload my code via the UNO. Following your instructions war marvelous! Thank you, thank you, thank you!

I have this problem when i upload as programmer. how should i do?

avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.

1 reply

I used the connection as follows and it worked for me:


D13 > D13

D12 > D12

D11 > D11

D10 > RST (reset)

5V > VIN


I am having the same problem as IqbalR9 and I don't know why. Anyone has found a solution for this yet? I am using a Elegoo Nano with a CH340G mini USB adapter on it and it came with a bootloader. Please let me know if you have a solution.

Thank you very much for your advice

Can i still use the Serial.print() function in the nano?

1 reply

no, you can't.. you can use bluetooth with it...

Great instruction and happy that my nano is now programmed!

Can you do the same to Arduino Pro Micro or is it different?

1 reply

i havent tried it, may be this can work on pro or micro...

shouldn't i remove the UNO chip away from it's socket?

1 reply

This is great thanks.

I've just bought a bunch of nanos without usb (to satisfy the mad scientist in me!) and have an Uno which I can now program them with.

1 reply

great buddy.. i am a mad scientist too... :)

The TX RX pins on the nano aren't glowing! What did I do wrong?