AVR-ISP-MK2 - Open Source Hardware Board
AVR-ISP-MK2 - Open Source Hardware Board AVR-ISP-MK2 - Open Source Hardware Board
USB AVR ISP MKII compatible AVR programmer with ICSP PDI TPI support
Price19.95 EUR
10 - 49 pcs17.96 EUR
50 - 10000 pcs15.96 EUR
In stock

AVR-ISP-MK2 supports the programming of Atmel 8-bit AVR microcontrollers with ISP, PDI or TPI interfaces. Using the AVR/ATMEL Studio software, designers can program tinyAVR and megaAVR devices using the ISP Interface, tinyAVR devices using the TPI interface, and AVR XMEGA devices using the PDI Interface. The programmer also works with AVRDUDE.


  • Tested and working with AVR Studio 4, AVR Studio 5, Atmel Studio 6, Atmel Studio 7
  • Tested and working with Arduino and AVRDUDE after a firmware change
  • Connects to PC via USB type B at 2.0 Full speed
  • No need for external power supply as it takes the power supply from USB
  • Uses Atmel's 2x5 pin ICSP and 2x3 pin PDI and TPI connector layout
  • Works with 5V and 3.3V targets and can supply target with power (selectable) 
  • Programs both flash and EEPROM
  • Supports fuses and lock bit programming
  • Upgradeable for future device support
  • Supports target voltages from 1.8V to 5.5V
  • Adjustable ISP programming speed (50Hz to 8MHz SCK frequency)
  • Dimensions: (45x30) mm ~ (1.7x1.2)" + 20 cm ~ 8" cable



  • My device is unrecognized in Atmel Studio 7. What should I do in order to get it recognized?
  • Update the firmware. Make sure that the suitable drivers for Atmel Studio are installed. Make sure that the libusb or libusb-win32 drivers (the drivers suitable for AVRDUDE operation) are uninstalled.

    To update the firmware please, follow the steps listed below

    1. Connect the programmer to the USB and with a sharp object (needle or pin) press the upgrade pin - it is in a small hole at the back of the board (this will start the bootloader and will turn off the LED, it will also probably show a new unrecognized device in the device manager for which we will install drivers in step 3)
    2. Download and install the latest version of "Atmel Flip" software (it can be downloaded from the Atmel's web-site)
    3. Open its install folder and update the software of the unrecognized device (usually under the "Other devices" tab) with the drivers from folder named "usb"; the device should now be recognized as AT90USB162 under "libusb-win32" tab
    4. Start "Atmel FLIP" and click "Select a target device" -> choose AT90USB162
    5. Click "Select a Communication Medium" and then USB medium
    6. From "File -> load HEX file" choose this HEX (CLICK TO DOWNLOAD) and click "RUN" in the "Operations Flow" section
    7. Disconnect the AVR-ISP-MK2 from the USB and connect it again
  • Does the firmware of AVR-ISP-MK2 differ from the original Atmel firmware?
  • The firmware of AVR-ISP-MK2 is based on the LUFA project by Dean Camera.
  • I want to use AVR-ISP-MK2 with Arduino IDE. What should I do?
  • You need to perform a firmware change and to switch your drivers to the libusb ones drivers. A detailed explanation can be found in the user's manual.
  • I have performed a firmware switch. My drivers are properly installed. Still I can't properly program my target with AVRDUDE. I also tested with the latest Arduino IDE. What is the problem? Is my programmer bricked?
  • The hardware of your AVR-ISP-MK2 is fine. There is a software bug that affects LUFA-based programmers in newest releases of AVRDUDE. Either use AVRDUDE versions prior to 6.x.x or apply this patch to the AVRDUDE sources and compile.

    The same problems appears in newest releases of Arduino IDE – they use AVRDUDE versions 6.0.1 or newer. The last suitable Arduino IDE version that uses pre-6.x.x AVRDUDE version is Arduino IDE 1.5.7.

    The official bug report is here: https://savannah.nongnu.org/bugs/index.php?40831

    More about the issue can be found here: http://www.avrfreaks.net/forum/lufa-based-avrisp-mkii-doesnt-work-avrdude-601


  • XMEGA Devices: ATxmega16A4U, ATxmega32A4U, ATxmega64A3U, ATxmega128A3U, ATxmega192A3U, ATxmega256A3U, ATxmega256A3BU, ATxmega64B3, ATxmega128B3, ATxmega64B1, ATxmega128B1, ATxmega16A4, ATxmega32A4, ATxmega64A4U, ATxmega128A4U, ATxmega64A3, ATxmega128A3, ATxmega192A3, ATxmega256A3, ATxmega256A3B, ATxmega64A1, ATxmega128A1, ATxmega16D4, ATxmega32D4, ATxmega64D4, ATxmega128D4, ATxmega64D3, ATxmega128D3, ATxmega192D3, ATxmega256D3
  • MegaAVR Devices: ATmega48, ATmega48A, ATmega48P, ATmega48PA, ATmega8, ATmega8515, ATmega8535, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega8A, ATmega16, ATmega162, ATmega164A, ATmega164P, ATmega164PA, ATmega165P,ATmega165PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega16A, ATmega32, ATmega324A, ATmega324P, ATmega324PA, ATmega325, ATmega3250, ATmega3250A, ATmega3250P, ATmega325A, ATmega325P, ATmega325PA, ATmega328, ATmega328P, ATmega32A, ATmega64, ATmega640, ATmega644, ATmega644A, ATmega644P, ATmega644PA, ATmega645, ATmega6450, ATmega6450A, ATmega6450P, ATmega645A, ATmega645P, ATmega64A, ATmega128, ATmega1280, ATmega1281, ATmega1284, ATmega1284P, ATmega128A, ATmega2560, ATmega2561, AT90CAN128, AT90CAN32, AT90CAN64, ATmega16M1, ATmega32M1, ATmega64M1, AT90PWM1, AT90PWM161, AT90PWM216, AT90PWM2B, AT90PWM316, AT90PWM3B, AT90PWM81, AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647, AT90USB82, ATmega16U2, ATmega16U4, ATmega32U2, ATmega32U4, ATmega8U2, ATmega169A, ATmega169P, ATmega169PA, ATmega329, ATmega3290, ATmega3290A, ATmega3290P, ATmega329A, ATmega329P, ATmega329PA, ATmega649, ATmega6490, ATmega6490A, ATmega6490P, ATmega649A, ATmega649P
  • tinyAVR Device: ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny13A, ATtiny13, ATtiny20, ATtiny40, ATtiny24A, ATtiny24, ATtiny44A, ATtiny44, ATtiny84A, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny261A, ATtiny261, ATtiny461A, ATtiny461, ATtiny861A, ATtiny861, ATtiny26, ATtiny2313A, ATtiny2313, ATtiny4313, ATtiny43U, ATtiny28L, ATtiny48, ATtiny88, ATtiny87, ATtiny167
  • Automotive AVR Devices: AT32UC3C0512C, AT32UC3C1512C, AT32UC3C2512C, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, ATtiny87, ATtiny88, ATtiny167, ATtiny261, ATtiny461, ATtiny861, ATmega48 , ATmega88 , ATmega168, ATmega328P, AT90CAN32 , AT90CAN64, AT90CAN128, ATmega32C1, ATmega64C1, ATmega16M1, ATmega32M1, ATmega64M1, ATmega164P, ATmega324P, ATmega644P, ATmega169P, ATmega48PA, ATmega88PA, ATmega168PA