ardler_dan:
Basically - Can an Arduino Micro be used as an ISP to program an Uno R3 board? If so, how?
Using Arduino as ISP (File->Examples->ArduinoISP) to Burn Bootloader (Arduino 1.6.x)
ISP Arduino: These instructions should work on any Arduino compatible with a six-pin ICSP header (UNO, MEGA, Leonardo, etc) and a USB connection.
Target Arduino: These instructions should work on any Arduino compatible with a six-pin ICSP header and an ATmega8, 168, 328P, or 32u4 processor.
Step 1: INSTALL ArduinoISP SKETCH
Connect the USB cable to the PC and ISP Arduino
Upload the ArduinoISP sketch to the ISP Arduino.
-
File->Examples->ArduinoISP
-
Change the line:
-
#define RESET SS
-
to:
-
#define RESET 10
-
Tools->Board->(select your ISP Arduino's type)
-
If present: Tools->Processor->(your ISP Arduino's processor and speed)
-
Tools->Port->(serial port for ISP Arduino)
-
File->Upload
Step 2: DISABLE AUTO-RESET ON THE ISP ARDUINO
Skip this step if the ISP Arduino has a 32u4 processor like the Leonardo or Micro. Otherwise, add a 10uF capacitor to the ISP Arduino with the positive side of the capacitor going to Reset and the negative side of the capacitor going to Ground.
Step 3: CONNECT THE ISP ARDUINO TO THE TARGET ARDUINO
ICSP Header Pinout:
1:MISO |
2:VCC |
3:SCK |
4:MOSI |
5:/RESET |
6:GROUND |
Wire the pins like this:
ISP Arduino |
Target Arduino |
ICSP1 |
ICSP1 |
ICSP2 |
ICSP2 |
ICSP3 |
ICSP3 |
ICSP4 |
ICSP4 |
Pin 10 |
ICSP5 |
ICSP6 |
ICSP6 |
In other words: ICSP pins 1, 2, 3, 4, and 6 connect directly and the Target Arduino's ICSP5 (/RESET) connects to digital pin 10 on the ISP Arduino.
Step 4: READY TO BURN!
Now that you have everything wired you can attempt to burn a bootloader.
Note that even if you don't plan to use the serial bootloader (using "Upload Using Programmer" instead) you still need to go through this process once on each processor to set the hardware configuration fuses. Factory fresh chips run at 1 MHz so if your Arduino is running VERY slow someone may have skipped this step.
- Tools->Board->(select your target Arduino type)
- If present: Tools->Processor->(your target Arduino processor and speed)
- Tools->Port->(serial port for ISP Arduino)
- Tools->Programmer->Arduino as ISP
- Tools->Burn Bootloader
If all has gone well: SUCCESS!