Program Arduino Nano Via Uno With ICSP

24,942

47

33

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

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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

GND > GND

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!

Recommendations

  • Indoor Lighting Contest

    Indoor Lighting Contest
  • Make It Fly Challenge

    Make It Fly Challenge
  • Growing Beyond Earth Maker Contest

    Growing Beyond Earth Maker Contest

33 Discussions

0
None
sujay kamble

3 months ago

getting error
Arduino: 1.8.5 (Windows 10), Board: "Arduino Nano, ATmega328P"
Sketch uses 926 bytes (3%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1c
An error occurred while uploading the sketch
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

0
None
ukufa.uku.fa

Question 11 months ago

por favor necesito ayuda!!!! lo hice y el programa que tenia guardado en el nano se borro. el problema es que ahora no puedo usar ni el arduino uno ni el nano.. cuando los conecto como la foto 1. la pc lo detecta y parpadea el led L en los dos arduinos. porfavor ayuda quiero mis dos arduinos de vuelta :c

0
None
nikhil5233123

1 year ago

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

1
None
psecto

1 year 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!

0
None
IqbalR9

1 year ago

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
0
None
PradeepS100IqbalR9

Reply 1 year ago

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

UNO > NANO

D13 > D13

D12 > D12

D11 > D11

D10 > RST (reset)

5V > VIN

GND > GND

0
None
PradeepS100

1 year ago

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.

1
None
GiorgiQ

1 year ago

Thank you very much for your advice

0
None
Jorohol

2 years ago

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

1 reply
0
None
Gautam1807Jorohol

Reply 2 years ago

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

1
None
KalpeshD1

2 years ago

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
0
None
Gautam1807KalpeshD1

Reply 2 years ago

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

0
None
David_Lin

2 years ago

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

1 reply
0
None
flashbry

2 years ago

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
0
None
Gautam1807flashbry

Reply 2 years ago

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

0
None
sherinajumal

2 years ago

So it is better than removing at mega 32 from uno