Arduino: How to modify fuses

From Luky-Wiki
Jump to: navigation, search

Read fuses from Atmel mcpu

Following command read Low/High/Extended fuse configuration from mcpu + lock configuration:

avrdude -p m328p -c dragon_isp -P usb -U lfuse:r:-:h -U hfuse:r:-:h -U efuse:r:-:h -U lock:r:-:h

"Program" fuses

Following command set Low/High/Extended fuse and lock configuration (default configuration for Arduino UNO board):

avrdude -p m328p -c dragon_isp -P usb -u -U lfuse:w:0xff:m -U hfuse:w:0xde:m -U efuse:w:0x05:m -U lock:w:0x3f:m

Note: fuses are stored in eeprom memory. Due to HW restriction clearing memory set each cell to 0xFF. Therefore "unprogrammed" fuse have value of "1".

Default fuses (Arduino UNO)

lfuse: 0xff
hfuse: 0xde
efuse: 0x05
lock:  0x3f