Using AVR ISP MKII to upload firmware to Arduino
What is AVR ISP MKII?
The AVRISP mkII is a USB-based In-System Programmer (ISP) used to program Atmel (now Microchip) AVR microcontrollers. It's designed for developers and hobbyists to upload firmware to AVR-based chips directly on a circuit board without needing to remove the chip.
In this tutorial, we will burn the bootloader to an Arduino UNO (re-upload the firmware to the ATmega328P chip on UNO).
Supported Microcontrollers
It is compatible with a wide range of AVR microcontrollers, including the popular ATmega and ATtiny series.
- Arduino Uno
- Arduino Nano
- Arduino Leonardo
- Arduino Mega 2560
However, it is not compatible with microcontrollers with ARM-based chips or ESP microcontrollers, such as
- Arduino Due
- Arduino Zero
- Arduino MKR series
- Arduino Nano 33 series
Software Compatibility
Works with Atmel Studio (formerly AVR Studio), Arduino IDE and other tools supporting AVR programming. In this tutorial, we will be using Arduino IDE.
Connection
- AVR ISP MKII to the computer using USB B cable
- 5V power supply for Arduino UNO (target Arduino), can be via USB port
- AVR ISP MKII 6-pin connector to Arduino ICSP pins (at the bottom usually)
Status LEDs
General speaking, Green = Everything is OK. Red = There is an issue.
Below is some common examples:
Missing power supply for target Arduino:
6-pin connection wrong direction:
Burn bootloader with Arduino IDE
-
Board
: Choose your target Arduino - Leave the
Port
empty - Click
Burn Bootloader
- Done!