7.1 ISP Programming

In-System Programming of tinyAVR and megaAVR devices can be done using the AVR device internal SPI (Serial Peripheral Interface) to download code into the Flash and EEPROM memory. ISP programming requires only VCC, GND, RESET, and three signal lines for programming. No high-voltage signals are required. The ISP programmer can program both the internal Flash and EEPROM, fuses, lock-bits, and calibration bytes.

Note: The ISP frequency (SCK) must be less than 1/4 of the target clock. The ISP frequency is set by the STK600 programming dialog in Microchip Studio.
Note:

ISP programming will NOT work if one or more of the following cases is true:

  • SPIEN: SPI Enable fuse is un-programmed
  • RSTDISBL: Reset Disable fuse is programmed (for devices with this fuse)
  • DWEN: DebugWIRE Enable fuse is programmed (for devices with this fuse)

Refer to the AVR device data sheet for information about the fuses.

Use high-voltage programming to re-enable the ISP interface from the situation listed above. Either HVPP or HVSP depending on what is supported by the AVR device.