Arduino programming with ISP

Couple of questions related to programming Arduino UNO via ISP (e.g. AVRISP mkII)

  • Is it any danger of writing sketch over boot loader?
  • Should I change "upload.using" in preferences.txt?

Is it any danger of writing sketch over boot loader?

I don't think so. The ATmega328P has a protected memory area just for the bootloader.

Should I change "upload.using" in preferences.txt?

No. Just select "Upload Using Programmer" from the File menu.

ISP upload will indeed flatten the bootloader. When writing to flash by ISP, the programmer first erases the entire chip before uploading the new data. This differs from self-programming mode used by the bootloader, where the flash is erased one page at a time.

If you want to go back to using serial upload you'll need to reinstate the bootloader first.

PS. it's possible to combine the sketch and bootloader and upload both together, but AFAIK the Arduino IDE doesn't do that.

Thank you!