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.

ATAVRISP2-1908688492.jpg

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.

  1. Arduino Uno
  2. Arduino Nano
  3. Arduino Leonardo
  4. Arduino Mega 2560

However, it is not compatible with microcontrollers with ARM-based chips or ESP microcontrollers, such as

  1. Arduino Due
  2. Arduino Zero
  3. Arduino MKR series
  4. 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

Arduino+UNO+Pinout-1338624350.png

Status LEDs

General speaking, Green = Everything is OK. Red = There is an issue.

Below is some common examples:

Everything works fine: AVR_greenLight.jpg

Missing power supply for target Arduino: AVR_redLight.jpg

6-pin connection wrong direction: AVR_redLight_2.jpg

Burn bootloader with Arduino IDE

  1. Board: Choose your target Arduino
  2. Leave the Port empty
  3. Click Burn Bootloader
  4. Done!

arduinoIDEburnbootloader.png


Revision #2
Created 16 October 2024 13:06:35 by Joanne Leung
Updated 16 October 2024 15:37:42 by Joanne Leung