Sunday, 28 February 2016

Program Arduino Nano via Uno with ICSP

Hello Friends,
In this tutorial, 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 also be programmed via another Arduino board. 

Tools you will Need :

(Click on it if you want to buy one from Amazon)
  1. Arduino Uno ( which will act as a programmer ).
  2. Arduino Nano ( to be programmed ).
  3. Jumper Cables ( Some male-male, male to female )
  4. Breadboard

Step 1: Preparing programmer


Attach your Arduino Uno to PC. & go to File > Examples > ArduinoISP > ArduinoISP
A sketch will open, upload it on Uno.
When uploading is done. unplug it from PC.

Now, Attach Uno & the board you want to program with jumper cables just like the image below.

In above image, you can see a small (1) or (*) or (.) is marked near the ICSP headers, that is the 1st pin of ICSP headers.

  • D13 to SCK, 
  • D12 to MISO, 
  • D11 to MOSI, 
  • D10 to RST, 
  • 5V to VIN
  • GND to GND

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

Step 2: Preparing Arduino IDE

All 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 ^_^

Want to support me ??

Then just click on any ad on the page It will support me to create such useful & creative posts.

Thank You.


  1. hello
    i tried this but not working i don't know the problem

    1. first of all check all the wiring...

    2. When opening your example sketch arduinoISP
      go down through the program and uncomment the line number 81
      #define USE_OLD_STYLE_WIRING
      it will work fine

  2. Thanks alot
    You brought a new life to one of my nanos whitch had its usb port broken

  3. This does not work for the elegoo nano