How To Set Fuse Bit Using USBtiny ISP

  • Tools > Board > Arduino Pro or Pro Mini
  • File > Preferences > Examples > EEPROM > eeprom_clear
  • Sketch > Show Sketch Folder
  • Move up folder levels until you get to one that contains a file named boards.txt
  • Open boards.txt with a text editor
  • Change the line:
pro.menu.cpu.8MHzatmega328.bootloader.high_fuses=0xDA

to:

pro.menu.cpu.8MHzatmega328.bootloader.high_fuses=0xD2
  • Save the file
  • Restart the Arduino IDE
  • Tools > Processor > ATmega328(3.3V, 8MHz)
  • Connect the USBtinyISP to your Arduino
  • Plug the USBtinyISP in to your computer
  • Tools > Programmer > USBtinyISP
  • Tools > Burn Bootloader

This will set the fuses and also burn the bootloader. I know you don't need the bootloader since you're uploading via Sketch > Upload Using Programmer but the bootloader will just be erased the next time you upload so it doesn't make a difference other than taking a little more time to set the fuses, that's just the way the Arduino IDE it set up to work. You can use the same process to adjust any of the fuse setting you like. I use this fuse calculator: AVR Fuse Calculator for ATmega328P. As you can see, the high fuse value of D2 is the same as the original boards.txt file's high_fuses value of DA except that the EESAVE bit has been changed from 1 to 0, which will cause EEPROM memory to be preserved through the chip erase cycle.

Note that the boards.txt file used may revert to the original settings when you update your IDE version or install a new Arduino AVR Boards version. This will only affect you if you do Tools > Burn Bootloader. Sketch > Upload Using Programmer doesn't change your fuse settings. If you end up wanting to keep a customized boards.txt file separate from the Arduino AVR Boards boards.txt it's fairly easy to install one at {sketchbook folder}/hardware. This file will not be affected by any IDE or Arduino AVR Boards updates. I can provide more information if you want to do that.