Introduction: Program Arduino Nano Via Uno With ICSP

Picture of Program Arduino Nano Via Uno With ICSP

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

Picture of 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

Picture of 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 ^_^


IqbalR9 (author)2017-11-13

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.

purushottamd3 (author)2017-10-23

not working

glauberbiro made it! (author)2017-09-13

It works! thank you!

GiorgiQ (author)2017-08-24

Thank you very much for your advice

Jorohol (author)2017-06-09

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

Gautam1807 (author)Jorohol2017-06-09

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

KalpeshD1 (author)2017-04-25

Great instruction and happy that my nano is now programmed!

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

Gautam1807 (author)KalpeshD12017-06-09

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

David_Lin (author)2017-03-20

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

Gautam1807 (author)David_Lin2017-06-09

No, you don't have to remove the chip.

flashbry (author)2016-12-17

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.

Gautam1807 (author)flashbry2017-01-31

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

NishanT2 (author)2017-01-30

my nano started to heat. why is that ?

Gautam1807 (author)NishanT22017-01-31

check the wiring bro...

sherinajumal (author)2016-10-18

So it is better than removing at mega 32 from uno

Gautam1807 (author)sherinajumal2016-10-18

Of course buddy ^_^

AnaykumarG (author)2016-09-16

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

Gautam1807 (author)AnaykumarG2016-09-16

send me the pic of your circuit buddy..

abhi2626 made it! (author)2016-07-29

its superrrrrrrrrrrrrrrrr i made it

Gautam1807 (author)abhi26262016-09-08

That's Great ^_^

AlexH36 (author)2016-09-08

I'm Frankenstein... My Nano came ALIVE.......

Gautam1807 (author)AlexH362016-09-08

That's Great ^_^

Alomamabobo (author)2016-03-21

Thank YOU, saved a dead USB on a Nano :)

Gautam1807 (author)Alomamabobo2016-03-21

glad to know that ^_^

MoezT (author)2016-03-17

GREAAAAAAAAAAAT thank youuu is working nice post

Gautam1807 (author)MoezT2016-03-17

glad to know that ^_^

Saiftareen (author)2016-02-27

This is a good way to program ATMEL chips. I usually use a stand-alone ATMEGA 328 in my projects, (much cheaper than using a whole Arduino Board and it has no USB), so this is a good way to program it. Thanks.

Gautam1807 (author)Saiftareen2016-02-28

glad to know that ^_^

rafununu (author)2016-02-25

It could it be simpler to replace the USB socket, no ?

Gautam1807 (author)rafununu2016-02-25

yes i could have replace usb socket. But then i could not learn to program one Arduino board with another via ICSP.

About This Instructable




Bio: Curious by nature. Like to know how things works & love to learn about them. Especially electrical, electronics, mechanical, micro-processors.
More by Gautam1807:How to Build a JIG for LEDcube (Full Tutorial)Hide & See Partition in Windows 7/8/8.1Controlling blinking speed of an LED with Arduino & Pot (With video)
Add instructable to: